[Pkg-ocaml-maint-commits] [dose3] 01/03: fix handling of virtual packages: coinstallable with real packages, even when versioned

Ralf Treinen treinen at moszumanska.debian.org
Mon Jul 17 20:24:54 UTC 2017


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

treinen pushed a commit to branch master
in repository dose3.

commit 42aa4c43aac0357aa59d2a1b2d9d640cd5f10dc1
Author: Ralf Treinen <treinen at free.fr>
Date:   Mon Jul 17 22:08:34 2017 +0200

    fix handling of virtual packages: coinstallable with real packages, even when versioned
---
 debian/changelog                  |  5 ++++-
 debian/patches/series             |  1 +
 debian/patches/versioned_provides | 30 ++++++++++++++++++++++++++++++
 3 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index ee3ec93..a7f479a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,11 @@
 dose3 (5.0.1-9) UNRELEASED; urgency=medium
 
   * dose-doc: set Multi-Arch=foreign
+  * 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>  Sat, 21 Jan 2017 11:47:14 +0100
+ -- Ralf Treinen <treinen at debian.org>  Mon, 17 Jul 2017 22:07:31 +0200
 
 dose3 (5.0.1-8) unstable; urgency=medium
 
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