[Pkg-ocaml-maint-commits] [dose3] 01/02: cherry-pick 42aa4c4: fix handling of versioned virtual packages

Ralf Treinen treinen at moszumanska.debian.org
Tue Aug 29 13:01:42 UTC 2017


This is an automated email from the git hooks/post-receive script.

treinen pushed a commit to branch stretch/master
in repository dose3.

commit f00a1959e440f1f1541216afb5f5210703c44546
Author: Ralf Treinen <treinen at irif.fr>
Date:   Tue Aug 29 14:44:53 2017 +0200

    cherry-pick 42aa4c4: fix handling of versioned virtual packages
---
 debian/changelog                  |  8 ++++++++
 debian/patches/series             |  1 +
 debian/patches/versioned_provides | 30 ++++++++++++++++++++++++++++++
 3 files changed, 39 insertions(+)

diff --git a/debian/changelog b/debian/changelog
index f70cf83..af570ef 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+dose3 (5.0.1-8+deb9u1) stretch; urgency=medium
+
+  * patch virtual_provides: packages that provide the same virtual package
+    in different versions, or that provide the same versioned virtual package
+    as a real package, are co-installable (closes: #867104).
+
+ -- Ralf Treinen <treinen at debian.org>  Tue, 29 Aug 2017 14:43:57 +0200
+
 dose3 (5.0.1-8) unstable; urgency=medium
 
   * Patches taken from upstream (thanks, Josch!)
diff --git a/debian/patches/series b/debian/patches/series
index beee4c9..b0ebd7d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -12,3 +12,4 @@ ocaml-4.02.3+gcc-6.2.0
 architecture-tuples
 architectures-dpkg-1.18.15
 deb-drop-b-d-arch
+versioned_provides
diff --git a/debian/patches/versioned_provides b/debian/patches/versioned_provides
new file mode 100644
index 0000000..63609de
--- /dev/null
+++ b/debian/patches/versioned_provides
@@ -0,0 +1,30 @@
+Author: Ralf Treinen <treinen at debian.org>
+Description: packages that provide the same virtual package in different
+  versions, or that provide the same versioned virtual package as a real
+  package, are co-installable
+Debian-bug: #867104
+
+diff --git a/deb/debcudf.ml b/deb/debcudf.ml
+index 44f72e8..c70ed67 100644
+--- a/deb/debcudf.ml
++++ b/deb/debcudf.ml
+@@ -307,12 +307,13 @@ let loadlc ?native_arch ?package_arch tables name l =
+ let loadlp ?native_arch ?package_arch tables l =
+   List.flatten (
+     List.map (fun ((name,_) as vpkgname,constr) ->
+-      let encname = add_arch_info ?native_arch ?package_arch vpkgname in
+-      match constr with
+-      |None -> [("--virtual-"^encname,Some(`Eq,Util.max32int - 1))]
+-      |Some("=",v) ->
+-        let constr = Some(`Eq,get_cudf_version tables (name,v)) in
+-        [("--virtual-"^encname,constr);(encname,constr)]
++        let encname = add_arch_info ?native_arch ?package_arch vpkgname in
++        let vencname = "--virtual-"^encname in 
++        match constr with
++        |None -> [(vencname,Some(`Eq,Util.max32int - 1))]
++        |Some("=",v) ->
++          let constr = Some(`Eq,get_cudf_version tables (name,v)) in
++          [(vencname,constr);(vencname,Some(`Eq,Util.max32int - 1))]
+       |_ -> fatal "This should never happen : a provide can be either = or unversioned"
+     ) l
+   )

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ocaml-maint/packages/dose3.git



More information about the Pkg-ocaml-maint-commits mailing list