Debian Bug report logs - #786803
Please consider versioned Provides

Package: release.debian.org; Maintainer for release.debian.org is Debian Release Team <debian-release@lists.debian.org>;

Reported by: David Prévot <taffit@debian.org>

Date: Mon, 25 May 2015 18:03:02 UTC

Severity: normal

Done: Niels Thykier <niels@thykier.net>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, pkg-php-pear@lists.alioth.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#786803; Package release.debian.org. (Mon, 25 May 2015 18:03:07 GMT) (full text, mbox, link).


Acknowledgement sent to David Prévot <taffit@debian.org>:
New Bug report received and forwarded. Copy sent to pkg-php-pear@lists.alioth.debian.org, Debian Release Team <debian-release@lists.debian.org>. (Mon, 25 May 2015 18:03:07 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: David Prévot <taffit@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: Please consider versioned Provides
Date: Mon, 25 May 2015 14:00:18 -0400
[Message part 1 (text/plain, inline)]
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
[0001-Basic-test-with-versioned-Provides.patch (text/x-diff, attachment)]
[0001-INSTALL-Update-dependency-for-Python-3.patch (text/x-diff, attachment)]
[0002-britney.py-Add-support-for-versioned-Provides.patch (text/x-diff, attachment)]
[signature.asc (application/pgp-signature, inline)]

Added indication that bug 786803 blocks 758100 Request was from Niko Tyni <ntyni@debian.org> to control@bugs.debian.org. (Tue, 26 May 2015 11:33:15 GMT) (full text, mbox, link).


Added indication that bug 786803 blocks 761219 Request was from David Prévot <taffit@debian.org> to control@bugs.debian.org. (Wed, 27 May 2015 12:54:08 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#786803; Package release.debian.org. (Sun, 31 May 2015 21:33:03 GMT) (full text, mbox, link).


Acknowledgement sent to Niels Thykier <niels@thykier.net>:
Extra info received and forwarded to list. Copy sent to Debian Release Team <debian-release@lists.debian.org>. (Sun, 31 May 2015 21:33:03 GMT) (full text, mbox, link).


Message #14 received at 786803@bugs.debian.org (full text, mbox, reply):

From: Niels Thykier <niels@thykier.net>
To: David Prévot <taffit@debian.org>, 786803@bugs.debian.org
Subject: Re: Bug#786803: Please consider versioned Provides
Date: Sun, 31 May 2015 23:28:51 +0200
On 2015-05-25 20:00, David Prévot wrote:
> 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.
> 

Hi David,

Thanks for your interest and your initial patches.  In particular,
thanks for taking the time to construct a test case.

> 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)…
> 
> [...]
> 
> Regards
> 
> David
> 

Ok - unfortunately, I suspect your last patch does not quite do what you
wanted it do to.  See below for comments.

> [...]
> 
> 
> 0002-britney.py-Add-support-for-versioned-Provides.patch
> 
> 
> 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

The "op" and "version" here are both from the dependency.  From your
test case, that would be:

"""
  Package: pkg-b
  [...]
  Depends: pkg-c (>= 2.0), pkg-c (<< 3.0~)
                  ^^^^^^          ^^^^^^^
"""

With the patch any unversioned dependency on a virtual package OR
(wrongly) a strictly equals version dependency on a virtual package will
always be considered satisfied.  I.e. Britney would now consider the
following satisfied by pkg-a from your test case.

"""
  Package: pkg-b
  [...]
  Depends: pkg-c (= 9999999)
"""

Sadly, there is no easy fix, because there are assumptions about
provides being unversioned in multiple places in Britney.  This will
require a slightly larger fix and quite possibly a lot of fixes to
internal data structures.

Thanks,
~Niels




Information forwarded to debian-bugs-dist@lists.debian.org, Debian Release Team <debian-release@lists.debian.org>:
Bug#786803; Package release.debian.org. (Wed, 30 Mar 2016 20:30:04 GMT) (full text, mbox, link).


Acknowledgement sent to Niels Thykier <niels@thykier.net>:
Extra info received and forwarded to list. Copy sent to Debian Release Team <debian-release@lists.debian.org>. (Wed, 30 Mar 2016 20:30:04 GMT) (full text, mbox, link).


Message #19 received at 786803@bugs.debian.org (full text, mbox, reply):

From: Niels Thykier <niels@thykier.net>
To: debian-release <debian-release@lists.debian.org>
Cc: Christian Marillat <marillat@debian.org>, David Prévot <taffit@debian.org>, Anthony Towns <aj@erisian.com.au>
Subject: [britney] ITM: britney-fixes-2016-03-merge-round-1
Date: Wed, 30 Mar 2016 20:26:35 +0000
[Message part 1 (text/plain, inline)]
Hi,

I have bundled a series of patches and have selected a subset for
merging into master now.

 * Please review the attached patch series (or branch at [1]).
 * The patch series requires an updated version of the test suite.
   - Please checkout the "britney-fixes-2016-03-merge-round-1" in your
     britney2-tests repository[2]
 * Deadline for comments being Monday the 11th of April.

While the majority of the patches are mainly code cleanup / refactoring,
we do have a couple of highlights (in no particular order):

 * Crash fix #815995 (Patch 0010)
   - Minor tweak to this version compared to the one attached in the
     bug.
 * Versioned provides support #786803 (Patches 0008 + 0009)
   - NB: Punted on multi-arch'ified provides for now.
 * Partial support for reading packages from a standard mirror
   layout (Patch 0020)
   - It is missing the part where various ("non-mirror") input data
     files (e.g. BugsV, Dates) are moved *out* of the mirror.  I intend
     to look into that in a future patch series.
   - This is two of AJ's commits squashed, rebased and ported to
     python3.
 * Stop migration of cruft binaries no longer in testing (0016)
   - It solves cruft re-entering testing (with IGNORE_CRUFT=1)


In the "coming soon" department, I also got a patch series for improving
the excuses.yaml file considerably.  If you are interested, you can take
a peek at [3].  I will issue a separate "ITM" mail for those patches
when I am ready.

Thanks,
~Niels

[1]
https://anonscm.debian.org/cgit/users/nthykier/britney.git/log/?h=britney-fixes-2016-03-merge-round-1

[2]
https://anonscm.debian.org/cgit/collab-maint/britney2-tests.git/log/?h=britney-fixes-2016-03-merge-round-1

[3]
https://anonscm.debian.org/cgit/users/nthykier/britney.git/log/?h=britney-fixes-2016-03

[0001-britney.py-Add-all_binaries-to-store-binaries-by-pkg.patch (text/x-diff, attachment)]
[0002-Store-the-pkg_id-in-undo-instead-of-the-package-info.patch (text/x-diff, attachment)]
[0003-Use-sets-in-the-provides-table.patch (text/x-diff, attachment)]
[0004-inst-tester-split-_pick_choice-into-two.patch (text/x-diff, attachment)]
[0005-inst-tester-Move-loop-into-resolve_choices.patch (text/x-diff, attachment)]
[0006-inst-tester-Add-a-missing-param-to-doc-strings.patch (text/x-diff, attachment)]
[0007-inst-tester-Use-short-hand-syntax-for-new-sets.patch (text/x-diff, attachment)]
[0008-Partially-support-versioned-provides.patch (text/x-diff, attachment)]
[0009-Support-versioned-provides-without-multi-arch.patch (text/x-diff, attachment)]
[0010-britney-Work-around-bug-815995.patch (text/x-diff, attachment)]
[0011-Remove-all-calls-to-same_source-they-were-overkill.patch (text/x-diff, attachment)]
[0012-Use-pkg_id-instead-pkg-arch-in-BINARIES.patch (text/x-diff, attachment)]
[0013-Refactor-some-code-to-avoid-unnecessary-table-lookup.patch (text/x-diff, attachment)]
[0014-britney.py-Remove-unused-named-parameter.patch (text/x-diff, attachment)]
[0015-britney_util-Remove-some-unused-imports.patch (text/x-diff, attachment)]
[0016-Fix-migration-for-sources-with-old-cruft-that-isn-t-.patch (text/x-diff, attachment)]
[0017-britney.py-Avoid-creating-empty-lists-for-provides.patch (text/x-diff, attachment)]
[0018-britney.py-assert-provides-table-is-up-to-date.patch (text/x-diff, attachment)]
[0019-Refactor-some-local-expressions.patch (text/x-diff, attachment)]
[0020-britney.py-Add-support-for-multiple-components.patch (text/x-diff, attachment)]
[0021-Make-components-and-control-files-mutually-exclusive.patch (text/x-diff, attachment)]
[0022-britney.py-Remove-redundant-open-before-TagFile.patch (text/x-diff, attachment)]
[0023-britney.py-Rename-__log-to-log.patch (text/x-diff, attachment)]
[0024-Move-some-of-the-hint-parsing-into-hints.py.patch (text/x-diff, attachment)]
[0025-Make-excuses-a-dict-rather-than-a-list.patch (text/x-diff, attachment)]
[0026-Move-two-installability-testing-functions-to-britney.patch (text/x-diff, attachment)]
[0027-britney.py-Log-when-old-libs-are-present-but-not-rem.patch (text/x-diff, attachment)]
[0028-britney.py-Remove-uncommented-printf-debugging.patch (text/x-diff, attachment)]
[0029-Replace-some-string-concat-split-with-tuples.patch (text/x-diff, attachment)]
[0030-Remove-unused-named-parameter.patch (text/x-diff, attachment)]
[0031-Remove-redundant-assert.patch (text/x-diff, attachment)]
[0032-Remove-two-redundant-ifs-duplicating-an-earlier-if.patch (text/x-diff, attachment)]
[0033-Avoid-some-unnecessary-effort-in-compuing-affected.patch (text/x-diff, attachment)]
[signature.asc (application/pgp-signature, attachment)]

Reply sent to Niels Thykier <niels@thykier.net>:
You have taken responsibility. (Sat, 23 Apr 2016 07:57:05 GMT) (full text, mbox, link).


Notification sent to David Prévot <taffit@debian.org>:
Bug acknowledged by developer. (Sat, 23 Apr 2016 07:57:06 GMT) (full text, mbox, link).


Message #24 received at 786803-done@bugs.debian.org (full text, mbox, reply):

From: Niels Thykier <niels@thykier.net>
To: 786803-done@bugs.debian.org, 815995-done@bugs.debian.org
Subject: Re: [britney] ITM: britney-fixes-2016-03-merge-round-1
Date: Sat, 23 Apr 2016 07:51:30 +0000
[Message part 1 (text/plain, inline)]
On Wed, 30 Mar 2016 20:26:35 +0000 Niels Thykier <niels@thykier.net> wrote:
> Hi,
> 
> I have bundled a series of patches and have selected a subset for
> merging into master now.
> 
> [...]
> 
> Thanks,
> ~Niels
> 
> [...]

The patch series has been merged and pushed live (a couple of weeks
ago).  Accordingly, these bugs are now closed.

Thanks,
~Niels




[signature.asc (application/pgp-signature, attachment)]

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sun, 22 May 2016 07:25:13 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Nov 19 12:47:58 2023; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.