Your message dated Tue, 16 Oct 2012 16:32:34 +0000 with message-id <E1TOA4I-0006HO-6C@franck.debian.org> and subject line Bug#688863: fixed in apt 0.9.7.6 has caused the Debian Bug report #688863, regarding non-uniform treatment of self-conflicts for real/virtual "M-A: same" packages to be marked as done. This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact owner@bugs.debian.org immediately.) -- 688863: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688863 Debian Bug Tracking System Contact owner@bugs.debian.org with problems
--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: non-uniform treatment of self-conflicts for real/virtual "M-A: same" packages
- From: Stefano Zacchiroli <zack@debian.org>
- Date: Wed, 26 Sep 2012 14:25:32 +0200
- Message-id: <20120926122532.GA3035@upsilon.cc>
- In-reply-to: <877grx8pys.fsf@windlord.stanford.edu>
- References: <20120913212240.GA27285@hoothoot> <20120913212829.GB177@mannheim-rule.att.net> <877grx8pys.fsf@windlord.stanford.edu>
Package: apt Severity: important [ Re-posting this as APT bug report, to keep track of it. The original version is at https://lists.debian.org/deity/2012/09/msg00088.html , the thread with further discussion (and in particular the POV of one of the Policy Editors) at https://lists.debian.org/deity/2012/09/msg00088.html ] Executive summary: it seems that APT treats differently self-conflicts for "Multi-Arch: same" packages, depending on whether the conflicts happen on "real" or "virtual" package names. Conflicts on virtual package names are ignored, whereas conflicts on real package names are not. Early discussions with -policy people seem to hint at a desired behavior where "M-A: same" packages should be co-installable across different architectures, ignoring self-conflicts, no matter if the conflicts happen via real or virtual package names. Cheers. On Thu, Sep 13, 2012 at 04:26:03PM -0700, Russ Allbery wrote: > > That does sound like a bug. The intuitive behavior when foo both > > Provides and Conflicts with bar would be for the Conflicts to only > > apply to other packages. > Indeed. This particular combination of package metadata has a specific > meaning defined in Policy 7.4: […] > their own package name, or with a virtual package which they provide > (see below): this does not prevent their installation, and allows a > package to conflict with others providing a replacement for it. You > use this feature when you want the package in question to be the only > package providing some feature. > > So you need to specifically recognize the case of Conflicts naming the > package itself or a virtual package that this package provides, and in > that case the Conflicts should not be applied to that package for > installability determination. > > None of this language has, as yet, been updated for multiarch, but I think > it makes logical sense for a M-A: same package to be coinstallable even if > it Conflicts with its own package name or a virtual package it Provides, > by extension from the intention of this construct without multiarch. […] I could use double checking about the correctness of current APT's behavior. From how Russ put it above, it shouldn't matter whether the conflict is via a virtual package name or via a real package name: self-conflicts across architecture boundaries should be ignored for M-A: same packages. According to the attached tests (which are courtesy of Pietro Abate), it seems that APT does ignore self-conflict across arch boundaries when they are via virtual packages (test 1), but it doesn't ignore them when they are via real packages (test 2). Looking on a random "desktop-like" laptop machine with various suites, we've found ~200 packages which declare self-conflicts on their real names (probably due to historical package renaming, that have remained around). None of them is M-A: same, so the above alleged APT issue is only theoretical at this point. But it might become real with the increasing popularity of multiarch-ed packages in the Debian archive. Cheers. -- Stefano Zacchiroli . . . . . . . zack@upsilon.cc . . . . o . . . o . o Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o Debian Project Leader . . . . . . @zack on identi.ca . . o o o . . . o . « the first rule of tautology club is the first rule of tautology club »Packages ======== Package: a1 Version: 1 Architecture: arch1 Multi-Arch: same Provides: ap Conflicts: ap Package: a1 Version: 1 Architecture: arch2 Multi-Arch: same Provides: ap Conflicts: ap Package: a2 Version: 1 Architecture: arch1 Multi-Arch: same Conflicts: a2 Package: a2 Version: 1 Architecture: arch2 Multi-Arch: same Conflicts: a2 Package: a3 Version: 1 Architecture: arch1 Multi-Arch: same Package: a3 Version: 1 Architecture: arch2 Multi-Arch: same Test 1 ====== $./fakeapt.sh test install a1:arch1 a1:arch2 [...] The following NEW packages will be installed: a1 a1:arch2 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Inst a1 (1 localhost [arch1]) Inst a1:arch2 (1 localhost [arch2]) Conf a1 (1 localhost [arch1]) Conf a1:arch2 (1 localhost [arch2]) Test 2 ====== $./fakeapt.sh test install a2:arch1 a2:arch2 Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: a2 : Conflicts: a2:arch2 but 1 is to be installed a2:arch2 : Conflicts: a2 but 1 is to be installed E: Unable to correct problems, you have held broken packages. Test 3 ====== $./fakeapt.sh test install a3:arch1 a3:arch2 [...] The following NEW packages will be installed: a3 a3:arch2 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Inst a3 (1 localhost [arch1]) Inst a3:arch2 (1 localhost [arch2]) Conf a3 (1 localhost [arch1]) Conf a3:arch2 (1 localhost [arch2])Attachment: fakeapt.sh
Description: Bourne shell scriptAttachment: signature.asc
Description: Digital signature
--- End Message ---
--- Begin Message ---
- To: 688863-close@bugs.debian.org
- Subject: Bug#688863: fixed in apt 0.9.7.6
- From: Michael Vogt <mvo@debian.org>
- Date: Tue, 16 Oct 2012 16:32:34 +0000
- Message-id: <E1TOA4I-0006HO-6C@franck.debian.org>
Source: apt Source-Version: 0.9.7.6 We believe that the bug you reported is fixed in the latest version of apt, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 688863@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Michael Vogt <mvo@debian.org> (supplier of updated apt package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmaster@debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Format: 1.8 Date: Tue, 16 Oct 2012 18:08:53 +0200 Source: apt Binary: apt libapt-pkg4.12 libapt-inst1.5 apt-doc libapt-pkg-dev libapt-pkg-doc apt-utils apt-transport-https Architecture: source all amd64 Version: 0.9.7.6 Distribution: unstable Urgency: low Maintainer: APT Development Team <deity@lists.debian.org> Changed-By: Michael Vogt <mvo@debian.org> Description: apt - commandline package manager apt-doc - documentation for APT apt-transport-https - https download transport for APT apt-utils - package managment related utility programs libapt-inst1.5 - deb package format runtime library libapt-pkg-dev - development files for APT's libapt-pkg and libapt-inst libapt-pkg-doc - documentation for APT development libapt-pkg4.12 - package managment runtime library Closes: 688863 689323 689331 Changes: apt (0.9.7.6) unstable; urgency=low . [ Program translation updates ] * Ukrainian (A. Bondarenko) . [ David Kalnischkies ] * apt-pkg/pkgcachegen.cc: - ensure that dependencies for packages:none are always generated - add 2 missing remap registrations causing a segfault in case we use the not remapped iterators after a move of the mmap again - write the native architecture as unique string into the cache header as it is used for arch:all packages as a map to arch:native. Otherwise arch comparisons later will see differences (Closes: #689323) * apt-pkg/pkgcache.cc: - ignore negative dependencies applying in the same group for M-A:same packages on the real package name as self-conflicts (Closes: #688863) * cmdline/apt-cache.cc: - print versioned dependency relations in (r)depends if the option APT::Cache::ShowVersion is true (default: false) as discussed in #218995 to help debian-cd fixing #687949. Thanks to Sam Lidder for initial patch and Steve McIntyre for nagging and testing! * apt-pkg/edsp.cc: - include reinstall requests and already installed (= protected) packages in the install-request for external resolvers (Closes: #689331) * apt-pkg/policy.cc: - match pins with(out) an architecture as we do on the commandline (partly fixing #687255, b= support has to wait for jessie) * apt-pkg/contrib/netrc.cc: - remove the 64 char limit for login/password in internal usage - remove 256 char line limit by using getline() (POSIX.1-2008) . [ Colin Watson ] * apt-pkg/pkgcachegen.cc: - Fix crash if the cache is remapped while writing a Provides version (LP: #1066445). Checksums-Sha1: 66615a2830c01bd0d477bcee2d8d488347c0d1b5 1689 apt_0.9.7.6.dsc 8e87fa703914ed6f5e1d2eef39f6f02e63485663 3390939 apt_0.9.7.6.tar.gz c1e0d0fcca370c18823470ac232e823c4b542807 261552 apt-doc_0.9.7.6_all.deb a3adf876972ac2cad2f4481be76f397ddf0e419c 960668 libapt-pkg-doc_0.9.7.6_all.deb 5185910e4e939006106ed6ce5df721f03e888d97 889976 libapt-pkg4.12_0.9.7.6_amd64.deb 72f0bd16b1e46ec42d5981449c06df119a75ae41 165330 libapt-inst1.5_0.9.7.6_amd64.deb 608b467f698617c1b0ee5c29e8c1afa5f0874c86 1240664 apt_0.9.7.6_amd64.deb 97b451c53f724992aa22f1fc1344ed508cfca5c8 185898 libapt-pkg-dev_0.9.7.6_amd64.deb 8f5e3e038f0dee9bd3a1d0b7ab2a8cdbb05c422e 374770 apt-utils_0.9.7.6_amd64.deb fce26ea6acb466f8efe93b6e22dd6821997d89d6 107648 apt-transport-https_0.9.7.6_amd64.deb Checksums-Sha256: cc1b6ec72df0671c08f5ed60b9afeeef9b2d8e89dd74ccf3a07124bda9361da6 1689 apt_0.9.7.6.dsc 655ea34aa5dec633aa53abdc31d84fe1862797d5db21f43451975af7c4d5bbde 3390939 apt_0.9.7.6.tar.gz 881710b37445a5d17b7b28154003fdb972147d7984b930aa86dff1f5b069d26a 261552 apt-doc_0.9.7.6_all.deb bb69be960c15d158b1c13ada69f02c8663b3348badedd0360e48fd9c1dd681d9 960668 libapt-pkg-doc_0.9.7.6_all.deb 2278fb8302662794dcbacf9e613fb1833597106094adad86fd4759ae5c44abd3 889976 libapt-pkg4.12_0.9.7.6_amd64.deb 14355661b3efe89b84097ca51b64dda0b43e8177daf0ebc447762f77beaf5144 165330 libapt-inst1.5_0.9.7.6_amd64.deb 8610b3062652d062b3ad8c307f617417a37ca8e43dab4d6b350d3e408957ef7c 1240664 apt_0.9.7.6_amd64.deb bdc2518d1beff63311d04cb2ab7235c8af8124df2025824dd5b286c209681107 185898 libapt-pkg-dev_0.9.7.6_amd64.deb f72cf02eec1a2b71b1402d0d888b96b2660c033e16a2b65dccaf6fe76afc2118 374770 apt-utils_0.9.7.6_amd64.deb 3404d199dee13f2ba4ed0766542da35b60abea9fd5c7f91a5f29c5758b9eddbe 107648 apt-transport-https_0.9.7.6_amd64.deb Files: 0acd27ad73b8a007ef5c8cdbeb09b1c8 1689 admin important apt_0.9.7.6.dsc 3cba8b6757c33b7f8f2f8d2eb5705a25 3390939 admin important apt_0.9.7.6.tar.gz 100f5326e7c2c6fc6ace0e833a0c8912 261552 doc optional apt-doc_0.9.7.6_all.deb 0dc84b3bfba7ba1950644c9f80291ec6 960668 doc optional libapt-pkg-doc_0.9.7.6_all.deb c7a8132d459f5c3f5b359154392418da 889976 libs important libapt-pkg4.12_0.9.7.6_amd64.deb 8c989866778b5cea6708027d119e4759 165330 libs important libapt-inst1.5_0.9.7.6_amd64.deb 98e213eb018766d0dbba46f5af785ebc 1240664 admin important apt_0.9.7.6_amd64.deb 1ae127ed0dd7d234209c7fc858e5d8e3 185898 libdevel optional libapt-pkg-dev_0.9.7.6_amd64.deb 09ff5c348317fe0e054daae91c7cb7e1 374770 admin important apt-utils_0.9.7.6_amd64.deb a80375fc87c563e9803616b46e8d2f83 107648 admin optional apt-transport-https_0.9.7.6_amd64.deb -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iEYEARECAAYFAlB9iw0ACgkQliSD4VZixzSsuwCfX2HwELNWvYfuZN07KpHlvvNH NBcAn3hMlMXwgulnBw8TsWpPBpQATbMT =FHEd -----END PGP SIGNATURE-----
--- End Message ---