Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package opam for openSUSE:Factory checked in 
at 2026-10-20 12:38:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/opam (Old)
 and      /work/SRC/openSUSE:Factory/.opam.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "opam"

Tue Oct 20 12:38:40 2026 rev:24 rq:1386175 version:2.6.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/opam/opam.changes        2026-09-28 
10:41:54.607535934 +0200
+++ /work/SRC/openSUSE:Factory/.opam.new.3698736/opam.changes   2026-10-20 
12:40:21.515602800 +0200
@@ -1,0 +2,6 @@
+Sat Oct 10 10:10:10 UTC 2026 - [email protected]
+
+- Update to version 2.6.1
+  see included CHANGES file for details
+
+-------------------------------------------------------------------

Old:
----
  opam-2.6.0.tar.xz

New:
----
  opam-2.6.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ opam.spec ++++++
--- /var/tmp/diff_new_pack.bDGtJw/_old  2026-10-20 12:40:22.187630925 +0200
+++ /var/tmp/diff_new_pack.bDGtJw/_new  2026-10-20 12:40:22.189631009 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           opam
-Version:        2.6.0
+Version:        2.6.1
 Release:        0
 Summary:        Source-based package manager for OCaml
 License:        LGPL-2.1-only WITH OCaml-LGPL-linking-exception

++++++ _service ++++++
--- /var/tmp/diff_new_pack.bDGtJw/_old  2026-10-20 12:40:22.225632516 +0200
+++ /var/tmp/diff_new_pack.bDGtJw/_new  2026-10-20 12:40:22.228632641 +0200
@@ -39,7 +39,7 @@
     <param name="exclude">src_ext</param>
     <param name="exclude">tests</param>
     <param name="filename">opam</param>
-    <param name="revision">0f9c3b385769323c4af68798b2d2c7bf62a70daf</param>
+    <param name="revision">921b53bf7fca5467b65ccbe714b78618bebd5e97</param>
     <param name="scm">git</param>
     <param name="submodules">disable</param>
     <param name="url">https://github.com/ocaml/opam.git</param>

++++++ opam-2.6.0.tar.xz -> opam-2.6.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/CHANGES new/opam-2.6.1/CHANGES
--- old/opam-2.6.0/CHANGES      2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/CHANGES      2026-10-06 23:13:53.000000000 +0200
@@ -3,6 +3,25 @@
 are not marked). Those prefixed with "(+)" are new command/option (since
 2.1.0~alpha2).
 
+2.6.1:
+* Fix the depexts installation on `opam install --deps` when the system
+  packages already exist in a repository [#7158 @kit-ty-kate - fix #7153]
+* Add support for using git repositories owned by another local user
+  [#6980 @kit-ty-kate - fix #6963]
+* Use `/dev/null` on both Unix and Windows when setting `GIT_CONFIG_*`
+  (NUL is not accepted in Git-for-Windows 2.56.0.windows.1)
+  [#7085 @kit-ty-kate]
+* Upgrade the "lockfile" with checkseum.0.5.4 and decompress.1.6.1
+  [#7172 @kit-ty-kate]
+* Improve and extend the testsuite [#7158 #6980 @kit-ty-kate @rjbou]
+* API changes in `opam-repository`:
+  * `OpamGit`: git calls now will all carry git config `safe.directory=.`
+    (current directory) [#6980 @kit-ty-kate - fix #6963]
+* API changes in `opam-state`:
+  * `OpamSwitchState.update_sys_packages` (new in 2.6.0) was removed in favour
+    of the already existing `update_package_metadata` or `update_pin` functions
+    [#7158 @kit-ty-kate]
+
 2.6.0:
 * Bump `opam-root-version` to 2.6 [#7146 @kit-ty-kate]
 * Improve and extend the testsuite [#7146 @kit-ty-kate @rjbou]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/configure.ac new/opam-2.6.1/configure.ac
--- old/opam-2.6.0/configure.ac 2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/configure.ac 2026-10-06 23:13:53.000000000 +0200
@@ -1,5 +1,5 @@
 dnl The line below must be formatted AC_INIT([opam],[VERSION]) with no extra 
spaces
-AC_INIT([opam],[2.6.0])
+AC_INIT([opam],[2.6.1])
 AC_COPYRIGHT(Copyright 2012-2019 OcamlPro SAS)
 
 AC_CONFIG_MACRO_DIR([m4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/opam-client.opam 
new/opam-2.6.1/opam-client.opam
--- old/opam-2.6.0/opam-client.opam     2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/opam-client.opam     2026-10-06 23:13:53.000000000 +0200
@@ -1,5 +1,5 @@
 opam-version: "2.0"
-version: "2.6.0"
+version: "2.6.1"
 synopsis: "Client library for opam 2.6"
 description: """
 Actions on the opam root, switches, installations, and front-end.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/opam-core.opam 
new/opam-2.6.1/opam-core.opam
--- old/opam-2.6.0/opam-core.opam       2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/opam-core.opam       2026-10-06 23:13:53.000000000 +0200
@@ -1,5 +1,5 @@
 opam-version: "2.0"
-version: "2.6.0"
+version: "2.6.1"
 synopsis: "Core library for opam 2.6"
 description:
   "Small standard library extensions, and generic system interaction modules 
used by opam."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/opam-devel.opam 
new/opam-2.6.1/opam-devel.opam
--- old/opam-2.6.0/opam-devel.opam      2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/opam-devel.opam      2026-10-06 23:13:53.000000000 +0200
@@ -1,5 +1,5 @@
 opam-version: "2.0"
-version: "2.6.0"
+version: "2.6.1"
 synopsis: "Bootstrapped development binary for opam 2.6"
 description: """
 This package compiles (bootstraps) opam. For consistency and safety of the 
installation, the binaries are not installed into the PATH, but into 
lib/opam-devel, from where the user can manually install them system-wide.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/opam-format.opam 
new/opam-2.6.1/opam-format.opam
--- old/opam-2.6.0/opam-format.opam     2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/opam-format.opam     2026-10-06 23:13:53.000000000 +0200
@@ -1,5 +1,5 @@
 opam-version: "2.0"
-version: "2.6.0"
+version: "2.6.1"
 synopsis: "Format library for opam 2.6"
 description: """
 Definition of opam datastructures and its file interface.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/opam-installer.opam 
new/opam-2.6.1/opam-installer.opam
--- old/opam-2.6.0/opam-installer.opam  2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/opam-installer.opam  2026-10-06 23:13:53.000000000 +0200
@@ -1,5 +1,5 @@
 opam-version: "2.0"
-version: "2.6.0"
+version: "2.6.1"
 synopsis: "Installation of files to a prefix, following opam conventions"
 description: """
 opam-installer is a small tool that can read *.install files, as defined by 
opam [1], and execute them to install or remove package files without going 
through opam.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/opam-repository.opam 
new/opam-2.6.1/opam-repository.opam
--- old/opam-2.6.0/opam-repository.opam 2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/opam-repository.opam 2026-10-06 23:13:53.000000000 +0200
@@ -1,5 +1,5 @@
 opam-version: "2.0"
-version: "2.6.0"
+version: "2.6.1"
 synopsis: "Repository library for opam 2.6"
 description: """
 This library includes repository and remote sources handling, including 
curl/wget, rsync, git, mercurial, darcs backends.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/opam-solver.opam 
new/opam-2.6.1/opam-solver.opam
--- old/opam-2.6.0/opam-solver.opam     2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/opam-solver.opam     2026-10-06 23:13:53.000000000 +0200
@@ -1,5 +1,5 @@
 opam-version: "2.0"
-version: "2.6.0"
+version: "2.6.1"
 synopsis: "Solver library for opam 2.6"
 description: """
 Solver and Cudf interaction. This library is based on the Cudf and Dose 
libraries, and handles calls to the external solver from opam.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/opam-state.opam 
new/opam-2.6.1/opam-state.opam
--- old/opam-2.6.0/opam-state.opam      2026-09-16 15:25:46.000000000 +0200
+++ new/opam-2.6.1/opam-state.opam      2026-10-06 23:13:53.000000000 +0200
@@ -1,5 +1,5 @@
 opam-version: "2.0"
-version: "2.6.0"
+version: "2.6.1"
 synopsis: "State library for opam 2.6"
 description: """
 Handling of the ~/.opam hierarchy, repository and switch states.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/src/client/opamAuxCommands.ml 
new/opam-2.6.1/src/client/opamAuxCommands.ml
--- old/opam-2.6.0/src/client/opamAuxCommands.ml        2026-09-16 
15:25:46.000000000 +0200
+++ new/opam-2.6.1/src/client/opamAuxCommands.ml        2026-10-06 
23:13:53.000000000 +0200
@@ -346,11 +346,6 @@
      'show' requests that use a write lock.*)
   (* assert (not (for_view &&
    *              OpamSystem.get_lock_flag st.switch_lock = `Lock_write)); *)
-  let local_names =
-    List.fold_left (fun set nf ->
-        OpamPackage.Name.Set.add nf.pin_name set)
-      OpamPackage.Name.Set.empty to_pin
-  in
   let local_opams =
     List.fold_left (fun map pin ->
         let { pin_name = name;
@@ -378,18 +373,6 @@
       OpamPackage.Map.empty to_pin
   in
   let local_packages = OpamPackage.keys local_opams in
-  let pinned =
-    if for_view then
-      (* For `opam show`, to display local files instead of the stored on, we
-         need to have on the pinned set only the new simulated pinned ones 
instead
-         of really pinned ones. *)
-      let open OpamPackage.Set.Op in
-      st.pinned
-      -- OpamPackage.packages_of_names st.pinned
-        (OpamPackage.names_of_packages local_packages)
-      ++ local_packages
-    else st.pinned
-  in
   let overwrote_opams =
     if for_view then OpamPackage.Map.empty else
       OpamPackage.Map.filter_map (fun nv opam ->
@@ -399,36 +382,16 @@
              None)
         st.opams
   in
-  let st = {
-    st with
-    opams =
-      OpamPackage.Map.union (fun _ o -> o) st.opams local_opams;
-    packages =
-      OpamPackage.Set.union st.packages local_packages;
-    available_packages = lazy (
-      OpamPackage.Set.union
-        (OpamPackage.Set.filter
-           (fun nv -> not (OpamPackage.Name.Set.mem nv.name local_names))
-           (Lazy.force st.available_packages))
-        (OpamSwitchState.compute_available_packages
-           st.switch_global st.switch st.switch_config ~pinned
-           ~opams:local_opams)
-    );
-    reinstall = lazy (
-      let open OpamPackage.Set.Op in
-      let installed_pinned = local_packages %% st.installed in
-      OpamPackage.Set.fold (fun pkg reinstall ->
-          let old_opam = OpamPackage.Map.find pkg st.installed_opams in
-          let new_opam = OpamPackage.Map.find pkg local_opams in
-          if OpamFile.OPAM.effectively_equal old_opam new_opam then
-            reinstall
-          else
-            OpamPackage.Set.add pkg reinstall)
-        installed_pinned (Lazy.force st.reinstall)
-    );
-    pinned;
-    overwrote_opams;
-  } in
+  let st =
+    let aux =
+      if for_view then
+        OpamSwitchState.update_pin
+      else
+        OpamSwitchState.update_package_metadata
+    in
+    OpamPackage.Map.fold aux local_opams st
+  in
+  let st = { st with overwrote_opams } in
   st, local_packages
 
 let simulate_pinned_atoms pins atoms =
@@ -534,7 +497,6 @@
     with OpamPinCommand.Aborted ->
       OpamStd.Sys.exit_because `Aborted
   in
-  let st = OpamSwitchState.update_sys_packages pins st in
   let _result, st, _updated =
     if simulate then false, st, OpamPackage.Set.empty else
     let already_pinned =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/src/client/opamClient.ml 
new/opam-2.6.1/src/client/opamClient.ml
--- old/opam-2.6.0/src/client/opamClient.ml     2026-09-16 15:25:46.000000000 
+0200
+++ new/opam-2.6.1/src/client/opamClient.ml     2026-10-06 23:13:53.000000000 
+0200
@@ -2214,9 +2214,6 @@
           nvs (t, deps_of_packages))
       dname_map (t, OpamPackage.Set.empty)
   in
-  let t =
-    OpamSwitchState.update_sys_packages deps_of_packages t
-  in
   let pkg_skip, pkg_new =
     get_installed_atoms t atoms in
   let atoms, deps_atoms =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/src/repository/opamGit.ml 
new/opam-2.6.1/src/repository/opamGit.ml
--- old/opam-2.6.0/src/repository/opamGit.ml    2026-09-16 15:25:46.000000000 
+0200
+++ new/opam-2.6.1/src/repository/opamGit.ml    2026-10-06 23:13:53.000000000 
+0200
@@ -15,13 +15,14 @@
 (* let log fmt = OpamConsole.log "GIT" fmt *)
 
 let git_env = [
-  "GIT_CONFIG_GLOBAL", Filename.null;
-  "GIT_CONFIG_SYSTEM", Filename.null;
+  "GIT_CONFIG_GLOBAL", "/dev/null";
+  "GIT_CONFIG_SYSTEM", "/dev/null";
 ]
 
 let git_config = [
   "gc.autoDetach", "false";
   "maintenance.autoDetach", "false";
+  "safe.directory", ".";
 ]
 
 let env =
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/src/state/opamSwitchState.ml 
new/opam-2.6.1/src/state/opamSwitchState.ml
--- old/opam-2.6.0/src/state/opamSwitchState.ml 2026-09-16 15:25:46.000000000 
+0200
+++ new/opam-2.6.1/src/state/opamSwitchState.ml 2026-10-06 23:13:53.000000000 
+0200
@@ -1268,25 +1268,42 @@
     default
 
 let update_package_metadata nv opam st =
-  { st with
-    opams = OpamPackage.Map.add nv opam st.opams;
-    packages = OpamPackage.Set.add nv st.packages;
-    available_packages = lazy (
-      if OpamFilter.eval_to_bool ~default:false
-          (OpamPackageVar.resolve_switch_raw ~package:nv
-             st.switch_global st.switch st.switch_config)
-          (OpamFile.OPAM.available opam)
-      then OpamPackage.Set.add nv (Lazy.force st.available_packages)
-      else OpamPackage.Set.remove nv (Lazy.force st.available_packages)
-    );
-    reinstall = lazy
-      (match OpamPackage.Map.find_opt nv st.installed_opams with
-       | Some inst ->
-         if OpamFile.OPAM.effectively_equal inst opam
-         then OpamPackage.Set.remove nv (Lazy.force st.reinstall)
-         else OpamPackage.Set.add nv (Lazy.force st.reinstall)
-       | _ -> Lazy.force st.reinstall);
-  }
+  let st =
+    { st with
+      opams = OpamPackage.Map.add nv opam st.opams;
+      packages = OpamPackage.Set.add nv st.packages;
+      available_packages = lazy (
+        if OpamFilter.eval_to_bool ~default:false
+            (OpamPackageVar.resolve_switch_raw ~package:nv
+               st.switch_global st.switch st.switch_config)
+            (OpamFile.OPAM.available opam)
+        then OpamPackage.Set.add nv (Lazy.force st.available_packages)
+        else OpamPackage.Set.remove nv (Lazy.force st.available_packages)
+      );
+      reinstall = lazy
+        (match OpamPackage.Map.find_opt nv st.installed_opams with
+         | Some inst ->
+           if OpamFile.OPAM.effectively_equal inst opam
+           then OpamPackage.Set.remove nv (Lazy.force st.reinstall)
+           else OpamPackage.Set.add nv (Lazy.force st.reinstall)
+         | _ -> Lazy.force st.reinstall);
+    }
+  in
+  if not OpamStateConfig.(!r.depexts) ||
+     OpamSysPkg.Set.is_empty (depexts st nv) then
+    st
+  else
+    let sys_packages = lazy (
+      OpamPackage.Map.union (fun _ n -> n)
+        (Lazy.force st.sys_packages)
+        (depexts_status_of_packages st
+           (OpamPackage.Set.singleton nv))
+    ) in
+    let available_packages = lazy (
+      OpamPackage.Set.filter (fun nv -> depexts_unavailable st nv = None)
+        (Lazy.force st.available_packages)
+    ) in
+    { st with sys_packages; available_packages }
 
 let remove_package_metadata nv st =
   { st with
@@ -1294,6 +1311,8 @@
     packages = OpamPackage.Set.remove nv st.packages;
     available_packages =
       lazy (OpamPackage.Set.remove nv (Lazy.force st.available_packages));
+    sys_packages =
+      lazy (OpamPackage.Map.remove nv (Lazy.force st.sys_packages));
   }
 
 let update_pin nv opam st =
@@ -1307,58 +1326,7 @@
   let available_packages = lazy (
     OpamPackage.filter_name_out (Lazy.force st.available_packages) nv.name
   ) in
-  let st =
-    update_package_metadata nv opam { st with pinned; available_packages }
-  in
-  if not OpamStateConfig.(!r.depexts)
-  || OpamSysPkg.Set.is_empty (depexts st nv)
-  then st else
-  let sys_packages = lazy (
-    OpamPackage.Map.union (fun _ n -> n)
-      (Lazy.force st.sys_packages)
-      (depexts_status_of_packages st
-         (OpamPackage.Set.singleton nv))
-  ) in
-  let available_packages = lazy (
-    OpamPackage.Set.filter (fun nv -> depexts_unavailable st nv = None)
-      (Lazy.force st.available_packages)
-  ) in
-  { st with sys_packages; available_packages }
-
-let update_sys_packages pkgs st =
-  let depexts_s =
-    OpamPackage.Set.fold (fun p acc ->
-        OpamSysPkg.Set.Op.(depexts st p ++ acc))
-      pkgs OpamSysPkg.Set.empty
-  in
-  if OpamSysPkg.Set.is_empty depexts_s then
-    st
-  else
-    (* Check if an update is to be made *)
-    let update_depexts () =
-      let sys_packages = lazy (
-        OpamPackage.Map.union (fun _ x -> x)
-          (Lazy.force st.sys_packages)
-          (depexts_status_of_packages st pkgs)
-      ) in
-      { st with sys_packages }
-    in
-    match st.switch_repos.repos_syspkgs_available with
-    | None -> update_depexts ()
-    | Some (family, availability) ->
-      if OpamSysInteract.same_os_family family
-          ~env:st.switch_global.global_variables then
-        match availability with
-        | OpamSysPkg.Available available_pkgs ->
-          if OpamSysPkg.Set.is_empty available_pkgs
-          || not (OpamSysPkg.Set.subset depexts_s available_pkgs)
-          then
-            update_depexts ()
-          else
-            st
-        | Suppose_available -> st
-      else
-        update_depexts ()
+  update_package_metadata nv opam { st with pinned; available_packages }
 
 let do_backup lock st = match lock with
   | `Lock_write ->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opam-2.6.0/src/state/opamSwitchState.mli 
new/opam-2.6.1/src/state/opamSwitchState.mli
--- old/opam-2.6.0/src/state/opamSwitchState.mli        2026-09-16 
15:25:46.000000000 +0200
+++ new/opam-2.6.1/src/state/opamSwitchState.mli        2026-10-06 
23:13:53.000000000 +0200
@@ -244,10 +244,6 @@
     changed. *)
 val update_pin: package -> OpamFile.OPAM.t -> 'a switch_state -> 'a 
switch_state
 
-(** Given a [package_set], updates the [sys_pkg_status package_map] with the
-    system dependencies of each package in the set. *)
-val update_sys_packages: package_set -> 'a switch_state -> 'a switch_state
-
 (** Updates the selected repositories in the given switch (does not load the
     full switch state, but takes a transient write lock on the switch, so make
     sure not to hold other locks to avoid deadlocks). Sets the switch

Reply via email to