From 7a06496960f2fa7656b1469b0fa7381cc460aed4 Mon Sep 17 00:00:00 2001 From: Kate Date: Wed, 20 Nov 2024 16:16:11 +0000 Subject: [PATCH] Remove ocaml-system from the list of default compilers used during opam init Co-authored-by: Raja Boujbel --- master_changes.md | 2 ++ src/client/opamInitDefaults.ml | 8 ++----- tests/reftests/init.test | 44 ++++++++++++++++++---------------- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/master_changes.md b/master_changes.md index 20de91332f9..cf2b8c056f7 100644 --- a/master_changes.md +++ b/master_changes.md @@ -20,6 +20,7 @@ users) ## Init * [BUG] Fix the detection of `ZDOTDIR` when using `zsh` [#6299 @acasta-yhliu - fix #6281] + * Remove `ocaml-system` from the list of default compilers [#6307 @kit-ty-kate - fix #3509] ## Config report @@ -178,6 +179,7 @@ users) * Add a test showing the behaviour of `opam upgrade` with packages flagged with `avoid-version`/`deprecated` [#6273 @kit-ty-kate] * Add a test showing the behaviour when a pin depend is unpinned [#6380 @rjbou] * Add a test to ensure `opam upgrade ` will not upgrade unrelated things [#6373 @kit-ty-kate] + * Add a test in init to show ocaml system compiler selection behaviour [#6307 @kit-ty-kate @rjbou] ### Engine diff --git a/src/client/opamInitDefaults.ml b/src/client/opamInitDefaults.ml index f8639576412..c077b787766 100644 --- a/src/client/opamInitDefaults.ml +++ b/src/client/opamInitDefaults.ml @@ -19,12 +19,8 @@ let repository_url = { } let default_compiler = - OpamFormula.ors [ - OpamFormula.Atom (OpamPackage.Name.of_string "ocaml-system", - OpamFormula.Empty); - OpamFormula.Atom (OpamPackage.Name.of_string "ocaml-base-compiler", - OpamFormula.Empty); - ] + OpamFormula.Atom (OpamPackage.Name.of_string "ocaml-base-compiler", + OpamFormula.Empty) let default_invariant = OpamFormula.Atom diff --git a/tests/reftests/init.test b/tests/reftests/init.test index 8fcb46acdf4..dfac9899fbf 100644 --- a/tests/reftests/init.test +++ b/tests/reftests/init.test @@ -110,7 +110,7 @@ Switch invariant: ["ocaml" {>= "4.05.0"}] Done. ### opam switch invariant ["ocaml" {>= "4.05.0"}] -### :I:3: System compiler = 4.07.0, should be selected default +### :I:3: Base compiler should be selected default ### rm -rf ${OPAMROOT} ### eval-variables: [ sys-ocaml-version ["echo" "4.07.0"] "new system compiler" ] @@ -120,36 +120,38 @@ Configuring from ${BASEDIR}/opamrc and then from built-in defaults. <><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><> [default] Initialised -<><> Creating initial switch 'default' (invariant ["ocaml" {>= "4.05.0"}] - initially with ocaml-system) +<><> Creating initial switch 'default' (invariant ["ocaml" {>= "4.05.0"}] - initially with ocaml-base-compiler) <><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><> Switch invariant: ["ocaml" {>= "4.05.0"}] <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> --> installed ocaml-system.4.07.0 --> installed ocaml.4.07.0 +-> installed ocaml-base-compiler.4.10.0 +-> installed ocaml.4.10.0 Done. ### opam switch invariant ["ocaml" {>= "4.05.0"}] -### opam upgrade -Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). -However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.4.10.0"), which will ask permission to downgrade or uninstall the conflicting packages. -Nothing to do. -### opam upgrade ocaml -The following actions will be performed: -=== remove 1 package - - remove ocaml-system 4.07.0 [conflicts with ocaml-base-compiler] -=== upgrade 1 package - - upgrade ocaml 4.07.0 to 4.10.0 -=== install 1 package - - install ocaml-base-compiler 4.10.0 [required by ocaml] +### :I:4: ocaml-system explicit selection +### rm -rf $OPAMROOT +### +eval-variables: [ sys-ocaml-version ["echo" "4.07.0"] "new system compiler" ] +### opam init --no-setup --bypass-checks default REPO/ --config opamrc -c ocaml-system | grep -v Cygwin +Configuring from ${BASEDIR}/opamrc and then from built-in defaults. + +<><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><> +[default] Initialised + +<><> Creating initial switch 'ocaml-system' (invariant ["ocaml-system"]) ><><><> + +<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><> +Switch invariant: ["ocaml-system"] <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> --> removed ocaml.4.07.0 --> removed ocaml-system.4.07.0 --> installed ocaml-base-compiler.4.10.0 --> installed ocaml.4.10.0 +-> installed ocaml-system.4.07.0 +-> installed ocaml.4.07.0 Done. +### opam switch invariant +["ocaml-system"] ### :II: Init with config file : ### :II:a: default setup :: ### rm -rf $OPAMROOT @@ -159,7 +161,7 @@ No configuration file found, using built-in defaults. <><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><> [default] Initialised ### opam-cat $OPAMROOT/config | 'opam-root-version: "${OPAMROOTVERSION}"' -> 'opam-root-version: current' | grep -v sys-pkg-manager-cmd | grep -v global-variables | grep -v eval-variables: -default-compiler: ["ocaml-system" "ocaml-base-compiler"] +default-compiler: ["ocaml-base-compiler"] default-invariant: ["ocaml" {>= "4.05.0"}] depext: true depext-cannot-install: false