Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git opam repository still use patch to update #5071

Open
kit-ty-kate opened this issue Feb 26, 2022 · 0 comments
Open

git opam repository still use patch to update #5071

kit-ty-kate opened this issue Feb 26, 2022 · 0 comments

Comments

@kit-ty-kate
Copy link
Member

$ opam update -vvv default

<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><>  🐫
+ /opt/homebrew/bin/git "remote" "set-url" "origin" "https://github.com/ocaml/opam-repository.git" (CWD=/Users/kit_ty_kate/.opam/repo/default)
+ /opt/homebrew/bin/git "fetch" "-q" "https://github.com/ocaml/opam-repository.git" "--update-shallow" "--depth=1" "+HEAD:refs/remotes/opam-ref" (CWD=/Users/kit_ty_kate/.opam/repo/default)
+ /opt/homebrew/bin/git "add" "." (CWD=/Users/kit_ty_kate/.opam/repo/default)
+ /opt/homebrew/bin/git "-c" "diff.noprefix=false" "diff" "--text" "--no-ext-diff" "-R" "-p" "refs/remotes/opam-ref" "--" (CWD=/Users/kit_ty_kate/.opam/repo/default)
- diff --git b/packages/drom/drom.0.6.0/opam a/packages/drom/drom.0.6.0/opam
- new file mode 100644
- index 00000000..43bc5473
- --- /dev/null
- +++ a/packages/drom/drom.0.6.0/opam
- @@ -0,0 +1,58 @@
- +opam-version: "2.0"
- +license: "LGPL-2.1-only with OCaml-LGPL-linking-exception"
- +synopsis:
- +  "The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience"
- +description: """\
- +The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
- +user experience. It can be used to create full OCaml projects with
- +sphinx and odoc documentation. It has specific knowledge of Github and
- +will generate files for Github Actions CI and Github pages.
- +"""
- +authors: [
- +  "Fabrice Le Fessant <fabrice.le_fessant@origin-labs.com>"
- +  "Léo Andrès <leo.andres@ocamlpro.com>"
- +]
- +maintainer: [
- +  "Fabrice Le Fessant <fabrice.le_fessant@origin-labs.com>"
- +  "Léo Andrès <leo.andres@ocamlpro.com>"
- +]
- +homepage: "https://ocamlpro.github.io/drom"
- +doc: "https://ocamlpro.github.io/drom/sphinx"
- +bug-reports: "https://github.com/ocamlpro/drom/issues"
- +dev-repo: "git+https://github.com/ocamlpro/drom.git"
- +tags: "org:ocamlpro"
- +build: [
- +  ["dune" "subst"] {dev}
- +  ["sh" "-c" "./scripts/before.sh build '%{name}%'"]
- +  [
- +    "dune"
- +    "build"
- +    "-p"
- +    name
- +    "-j"
- +    jobs
- +    "@install"
- +    "@runtest" {with-test}
- +    "@doc" {with-doc}
- +  ]
- +  ["sh" "-c" "./scripts/after.sh build '%{name}%'"]
- +]
- +install: [
- +  ["sh" "-c" "./scripts/before.sh install '%{name}%'"]
- +]
- +depends: [
- +  "ocaml" {>= "4.07.0"}
- +  "dune" {>= "2.7.0"}
- +  "drom_lib" {= version}
- +  "ppx_inline_test" {with-test}
- +  "ppx_expect" {with-test}
- +  "odoc" {with-doc}
- +  "ocamlformat" {with-test}
- +]
- +url {
- +  src: "https://github.com/OCamlPro/drom/archive/v0.6.0.tar.gz"
- +  checksum: [
- +    "md5=abd11ae9727899dbae6ad79639c66204"
- +    "sha512=3e8e7ad76608e8025ff129b9f2ad1377585da64ee599a28e4a29419d99529e82bb90fbb6d71088ad5393b696e3df8c62b57792da32834c3158f0976c6d1c7883"
- +  ]
- +}
- diff --git b/packages/drom_lib/drom_lib.0.6.0/opam a/packages/drom_lib/drom_lib.0.6.0/opam
- new file mode 100644
- index 00000000..adc7a604
- --- /dev/null
- +++ a/packages/drom_lib/drom_lib.0.6.0/opam
- @@ -0,0 +1,64 @@
- +opam-version: "2.0"
- +license: "LGPL-2.1-only with OCaml-LGPL-linking-exception"
- +synopsis:
- +  "The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like user experience"
- +description: """\
- +The drom tool is a wrapper over opam/dune in an attempt to provide a cargo-like
- +user experience. It can be used to create full OCaml projects with
- +sphinx and odoc documentation. It has specific knowledge of Github and
- +will generate files for Github Actions CI and Github pages.
- +"""
- +authors: [
- +  "Fabrice Le Fessant <fabrice.le_fessant@origin-labs.com>"
- +  "Léo Andrès <leo.andres@ocamlpro.com>"
- +]
- +maintainer: [
- +  "Fabrice Le Fessant <fabrice.le_fessant@origin-labs.com>"
- +  "Léo Andrès <leo.andres@ocamlpro.com>"
- +]
- +homepage: "https://ocamlpro.github.io/drom"
- +doc: "https://ocamlpro.github.io/drom/sphinx"
- +bug-reports: "https://github.com/ocamlpro/drom/issues"
- +dev-repo: "git+https://github.com/ocamlpro/drom.git"
- +tags: "org:ocamlpro"
- +build: [
- +  ["dune" "subst"] {dev}
- +  ["sh" "-c" "./scripts/before.sh build '%{name}%'"]
- +  [
- +    "dune"
- +    "build"
- +    "-p"
- +    name
- +    "-j"
- +    jobs
- +    "@install"
- +    "@runtest" {with-test}
- +    "@doc" {with-doc}
- +  ]
- +  ["sh" "-c" "./scripts/after.sh build '%{name}%'"]
- +]
- +install: [
- +  ["sh" "-c" "./scripts/before.sh install '%{name}%'"]
- +]
- +depends: [
- +  "ocaml" {>= "4.07.0"}
- +  "dune" {>= "2.7.0"}
- +  "toml" {>= "7.0.0" & < "8.0.0"}
- +  "ez_subst" {>= "0.1"}
- +  "ez_opam_file" {>= "0.1.0" & < "1.0.0"}
- +  "ez_file" {>= "0.2.0" & < "1.0.0"}
- +  "ez_config" {>= "0.1.0" & < "1.0.0"}
- +  "ez_cmdliner" {>= "0.4.0" & < "1.0.0"}
- +  "directories" {>= "0.2"}
- +  "ppx_inline_test" {with-test}
- +  "ppx_expect" {with-test}
- +  "odoc" {with-doc}
- +  "ocamlformat" {with-test}
- +]
- +url {
- +  src: "https://github.com/OCamlPro/drom/archive/v0.6.0.tar.gz"
- +  checksum: [
- +    "md5=abd11ae9727899dbae6ad79639c66204"
- +    "sha512=3e8e7ad76608e8025ff129b9f2ad1377585da64ee599a28e4a29419d99529e82bb90fbb6d71088ad5393b696e3df8c62b57792da32834c3158f0976c6d1c7883"
- +  ]
- +}
[default] synchronised from git+https://github.com/ocaml/opam-repository.git
+ /opt/homebrew/bin/patch "-p1" "-i" "/Users/kit_ty_kate/.opam/log/processed-patch-68028-af7fd9" (CWD=/Users/kit_ty_kate/.opam/repo/default)
- patching file packages/drom/drom.0.6.0/opam
- patching file packages/drom_lib/drom_lib.0.6.0/opam
[...]

On top of being terribly ineficiant this will make opam produces errors when non GNU patch is used (e.g. /usr/bin/patch on macOS).

Funny thing is: ${OPAMROOT}/repo/default still contains a .git directory but it doesn’t do anything so this is just dead weight:

$ cd ~/.opam/repo/default
$ git lg
* 1c4dd599 - (grafted, HEAD -> master) Merge pull request #20622 from kit-ty-kate/fix-gitlab-unix (2022-02-02 12:33:54 +0100, 3 weeks ago) <Marcello Seri>
$ git status
On branch master
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	new file:   packages/GT/GT.0.5.0/opam
	new file:   packages/OCanren-ppx/OCanren-ppx.0.3.0~alpha1/opam
	modified:   packages/OCanren/OCanren.0.1.0/opam
	modified:   packages/OCanren/OCanren.0.2.0/opam
[...]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant