Package: release.debian.org Severity: normal Tags: stretch User: release.debian....@packages.debian.org Usertags: pu
Hi, please consider accepting dose3 version 5.0.1-8+deb9u1 for the next stable point release. This source package generates in particular the binary package dose-distcheck and dose-builddebcheck; the latter is used by wanna-build to decide whether packages can be scheduled for rebuild. This version contains a fix for an erroneous handling of versioned provides. Please refer to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867104 for a full history of the discussion. The diff with respect of the version of the package in stable consists essentially of 7 lines of changed OCaml code, plus an additional test case for ci tests. Full diff is attached. Thanks for considering -Ralf. -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.12.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.utf8), LANGUAGE=en_US:en (charmap=UTF-8) (ignored: LC_ALL set to en_US.utf8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff --git a/debian/changelog b/debian/changelog index f70cf83..88bdbd3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +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). + * add test-case for versioned virtual packages + + -- Ralf Treinen <trei...@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 <trei...@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 + ) diff --git a/debian/tests/bug867104 b/debian/tests/bug867104 new file mode 100755 index 0000000..9697c11 --- /dev/null +++ b/debian/tests/bug867104 @@ -0,0 +1,17 @@ +#!/bin/sh + +# debian bug 867104: wanna-build issue with src:perl versioned Provides + +set -e + +this=dose-debcheck +indir=debian/tests/repos +outdir=${ADT_ARTIFACTS}/${this} +mkdir -p ${outdir} + +packfile=$indir/virtual_and_real +base=$(basename $packfile) + +dose-debcheck --checkonly=main ${packfile} \ + | tee ${outdir}/${base}.out \ + | grep -q "broken-packages: 0" diff --git a/debian/tests/control b/debian/tests/control index 29b1424..abb12d7 100644 --- a/debian/tests/control +++ b/debian/tests/control @@ -1,4 +1,4 @@ -Tests: dose-debcheck bug811569 bug790422 +Tests: dose-debcheck bug811569 bug790422 bug867104 Depends: dose-distcheck Tests: dose-builddebcheck diff --git a/debian/tests/repos/virtual_and_real b/debian/tests/repos/virtual_and_real new file mode 100644 index 0000000..28553c6 --- /dev/null +++ b/debian/tests/repos/virtual_and_real @@ -0,0 +1,14 @@ +Package: main +Version: 1 +Architecture: amd64 +Depends: perl-base, libscalar-list-utils-perl (= 1:1.48-1) + +Package: perl-base +Version: 5.24.1-5 +Architecture: amd64 +Provides: libscalar-list-utils-perl (= 1:1.42.02) + +Package: libscalar-list-utils-perl +Version: 1:1.48-1 +Architecture: amd64 +