Package: release.debian.org Severity: normal User: release.debian.org@packages.debian.org Usertags: britney Hi, Now that both dpkg and apt are able to use versioned Provides, it would be nice to take it into consideration for testing migrations. Please find attached a basic new test for britney2-tests and a simple documentation update for britney’s dependencies. I tried to figure out what would be needed to make that work, but unfortunately don’t understand much Python. The last patch doesn’t do anything useful, but at least doesn’t break the existing testsuite (I guess there is at least something to fix around there)… X-D-CC to the Debian PHP PEAR Maintainers team, since this issue currently prevents migration of Symfony and many of its reverse dependencies. Regards David
From 28feea394c2e6aff06d5b30dc32d838abf5329aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Pr=C3=A9vot?= <david@tilapin.org> Date: Mon, 25 May 2015 13:42:54 -0400 Subject: [PATCH] Basic test with versioned Provides --- t/basic-versioned-provides/expected | 4 ++++ t/basic-versioned-provides/var/data/testing/Packages_i386 | 13 +++++++++++++ t/basic-versioned-provides/var/data/testing/Sources | 12 ++++++++++++ t/basic-versioned-provides/var/data/unstable/Packages_i386 | 13 +++++++++++++ t/basic-versioned-provides/var/data/unstable/Sources | 12 ++++++++++++ 5 files changed, 54 insertions(+) create mode 100644 t/basic-versioned-provides/expected create mode 100644 t/basic-versioned-provides/var/data/testing/Packages_i386 create mode 100644 t/basic-versioned-provides/var/data/testing/Sources create mode 100644 t/basic-versioned-provides/var/data/unstable/Packages_i386 create mode 100644 t/basic-versioned-provides/var/data/unstable/Sources diff --git a/t/basic-versioned-provides/expected b/t/basic-versioned-provides/expected new file mode 100644 index 0000000..69a9f82 --- /dev/null +++ b/t/basic-versioned-provides/expected @@ -0,0 +1,4 @@ +pkg-a 2.0-1 i386 +pkg-b 2.0-1 i386 +pkg-a 2.0-1 source +pkg-b 2.0-1 source diff --git a/t/basic-versioned-provides/var/data/testing/Packages_i386 b/t/basic-versioned-provides/var/data/testing/Packages_i386 new file mode 100644 index 0000000..1d1e1da --- /dev/null +++ b/t/basic-versioned-provides/var/data/testing/Packages_i386 @@ -0,0 +1,13 @@ +Package: pkg-a +Section: devel +Architecture: i386 +Maintainer: The R-Team <debian-release@lists.debian.org> +Version: 1.0-1 + +Package: pkg-b +Section: devel +Architecture: i386 +Depends: pkg-a (>= 1.0), pkg-a (<< 2.0~) +Maintainer: The R-Team <debian-release@lists.debian.org> +Version: 1.0-1 + diff --git a/t/basic-versioned-provides/var/data/testing/Sources b/t/basic-versioned-provides/var/data/testing/Sources new file mode 100644 index 0000000..02f7cf6 --- /dev/null +++ b/t/basic-versioned-provides/var/data/testing/Sources @@ -0,0 +1,12 @@ +Package: pkg-a +Binary: pkg-a +Version: 1.0-1 +Section: devel +Maintainer: The R-Team <debian-release@lists.debian.org> + +Package: pkg-b +Binary: pkg-b +Version: 1.0-1 +Section: devel +Maintainer: The R-Team <debian-release@lists.debian.org> + diff --git a/t/basic-versioned-provides/var/data/unstable/Packages_i386 b/t/basic-versioned-provides/var/data/unstable/Packages_i386 new file mode 100644 index 0000000..9b22ee4 --- /dev/null +++ b/t/basic-versioned-provides/var/data/unstable/Packages_i386 @@ -0,0 +1,13 @@ +Package: pkg-a +Section: devel +Architecture: i386 +Maintainer: The R-Team <debian-release@lists.debian.org> +Version: 2.0-1 +Provides: pkg-c (= 2.0-1) + +Package: pkg-b +Section: devel +Architecture: i386 +Depends: pkg-c (>= 2.0), pkg-c (<< 3.0~) +Maintainer: The R-Team <debian-release@lists.debian.org> +Version: 2.0-1 diff --git a/t/basic-versioned-provides/var/data/unstable/Sources b/t/basic-versioned-provides/var/data/unstable/Sources new file mode 100644 index 0000000..4c0acf3 --- /dev/null +++ b/t/basic-versioned-provides/var/data/unstable/Sources @@ -0,0 +1,12 @@ +Package: pkg-a +Binary: pkg-a +Version: 2.0-1 +Section: devel +Maintainer: The R-Team <debian-release@lists.debian.org> + +Package: pkg-b +Binary: pkg-b +Version: 2.0-1 +Section: devel +Maintainer: The R-Team <debian-release@lists.debian.org> + -- 2.1.4
From 207e23a099bdf7138541d43fece8c643af2a7c20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Pr=C3=A9vot?= <david@tilapin.org> Date: Sun, 24 May 2015 10:34:16 -0400 Subject: [PATCH 1/2] INSTALL: Update dependency for Python 3 --- INSTALL | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/INSTALL b/INSTALL index a65b744..e91baa7 100644 --- a/INSTALL +++ b/INSTALL @@ -4,6 +4,6 @@ INSTALL for britney v2.0 Requirements: ------------- - * Python 2.7 aptitude install python - * Python APT/DPKG bindings aptitude install python-apt - * Python YAML library aptitude install python-yaml + * Python 3 aptitude install python3 + * Python APT/DPKG bindings aptitude install python3-apt + * Python YAML library aptitude install python3-yaml -- 2.1.4
From 872c7dfb3d520fd93da2677c3091c3a59d825ff2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Pr=C3=A9vot?= <david@tilapin.org> Date: Sun, 24 May 2015 10:43:06 -0400 Subject: [PATCH 2/2] britney.py: Add support for versioned Provides --- britney.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/britney.py b/britney.py index 5c2171e..67b7e61 100755 --- a/britney.py +++ b/britney.py @@ -989,11 +989,9 @@ class Britney(object): for prov in binaries[1].get(name, []): if prov not in binaries[0]: continue package = binaries[0][prov] - # A provides only satisfies: - # - an unversioned dependency (per Policy Manual §7.5) - # - a dependency without an architecture qualifier - # (per analysis of apt code) - if op == '' and version == '' and archqual is None: + # A provides only satisfies a dependency without an + # architecture qualifier (per analysis of apt code) + if ((op == '' and version == '') or (op == '=' and version != '')) and archqual is None: packages.append(prov) return packages -- 2.1.4
Attachment:
signature.asc
Description: Digital signature