Bug#820826: libc6-dev-amd64: Multiarch allows conflicting packages, and apt-get does not detect this
On 2018-01-11 14:17, Raphael Hertzog wrote: > On Thu, 11 Jan 2018, Aurelien Jarno wrote: > > > 10:32 So libc6-dev-amd64:i386 should Conflicts: > > > libc6-dev-i386:amd64 > > > 10:32 and vice versa > > > > > > So it's probably time to revisit this. > > > > Does it also now support cross-architecture "self"-conflicts? (see > > bug#747261 for more details). With what you told me we can indeed fix a > > few cases, but not the main ones. For example we need libc6-dev-x32:amd64 > > to conflict with libc6-dev-x32:i386. > > I don't think that you need this since those packages are not "Multi-Arch: > same" and hence apt/dpkg will not try to install them together. You are indeed correct, so it means we might be able to get the conflicts working for the dev packages. However we still have the issue of the libc6:arch package, like described in bug#747261. For example libc6:mips should conflict with libc6:mipsel. > I'm still putting Julian in copy in case he has something else to add > on this topic. Thanks. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net
Bug#820826: libc6-dev-amd64: Multiarch allows conflicting packages, and apt-get does not detect this
On Thu, 11 Jan 2018, Aurelien Jarno wrote: > > 10:32 So libc6-dev-amd64:i386 should Conflicts: > > libc6-dev-i386:amd64 > > 10:32 and vice versa > > > > So it's probably time to revisit this. > > Does it also now support cross-architecture "self"-conflicts? (see > bug#747261 for more details). With what you told me we can indeed fix a > few cases, but not the main ones. For example we need libc6-dev-x32:amd64 > to conflict with libc6-dev-x32:i386. I don't think that you need this since those packages are not "Multi-Arch: same" and hence apt/dpkg will not try to install them together. I'm still putting Julian in copy in case he has something else to add on this topic. Cheers, -- Raphaël Hertzog ◈ Debian Developer Support Debian LTS: https://www.freexian.com/services/debian-lts.html Learn to master Debian: https://debian-handbook.info/get/
Bug#820826: libc6-dev-amd64: Multiarch allows conflicting packages, and apt-get does not detect this
On 2018-01-11 11:19, Raphael Hertzog wrote: > Control: forcemerge 702962 -1 > Control: severity 702962 important > > On Wed, 27 Apr 2016, Aurelien Jarno wrote: > > [ ... file conflicts between various libc6-dev-$ARCH ... ] > > > This has already been reported multiple time, for example in #702962. > > Anyway apt-get simply do not support cross-architecture conflict, so > > there is nothing that can be done on the libc side. > > It looks like this has been fixed in the mean time. I asked on #debian-apt > and got this answer: > > 09:49 Hum, is aurel32' assertion in > https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820826#10 still true? Is > there no way to teach apt taht "libc6-dev-amd64:i386" and > "libc6-dev-i386:amd64" are not co-installable? > 09:50 Not even with a conflict on a virtual package provided by both > packages? > 10:31 buxy: cross conflicts work fine > 10:31 So, e.g. I can't install a package:i386 conflicting with > apt:amd64 > 10:32 So libc6-dev-amd64:i386 should Conflicts: libc6-dev-i386:amd64 > 10:32 and vice versa > 10:32 Provides might be more tricky, not sure > > So it's probably time to revisit this. Does it also now support cross-architecture "self"-conflicts? (see bug#747261 for more details). With what you told me we can indeed fix a few cases, but not the main ones. For example we need libc6-dev-x32:amd64 to conflict with libc6-dev-x32:i386. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net
Bug#820826: libc6-dev-amd64: Multiarch allows conflicting packages, and apt-get does not detect this
Control: forcemerge 702962 -1 Control: severity 702962 important On Wed, 27 Apr 2016, Aurelien Jarno wrote: [ ... file conflicts between various libc6-dev-$ARCH ... ] > This has already been reported multiple time, for example in #702962. > Anyway apt-get simply do not support cross-architecture conflict, so > there is nothing that can be done on the libc side. It looks like this has been fixed in the mean time. I asked on #debian-apt and got this answer: 09:49 Hum, is aurel32' assertion in https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820826#10 still true? Is there no way to teach apt taht "libc6-dev-amd64:i386" and "libc6-dev-i386:amd64" are not co-installable? 09:50 Not even with a conflict on a virtual package provided by both packages? 10:31 buxy: cross conflicts work fine 10:31 So, e.g. I can't install a package:i386 conflicting with apt:amd64 10:32 So libc6-dev-amd64:i386 should Conflicts: libc6-dev-i386:amd64 10:32 and vice versa 10:32 Provides might be more tricky, not sure So it's probably time to revisit this. I'm reporting this because a Kali user has been bitten by this problem (https://bugs.kali.org/view.php?id=4462) and I was wondering why there was no explicit conflicts. Cheers, -- Raphaël Hertzog ◈ Debian Developer Support Debian LTS: https://www.freexian.com/services/debian-lts.html Learn to master Debian: https://debian-handbook.info/get/
Processed (with 2 errors): Re: Bug#820826: libc6-dev-amd64: Multiarch allows conflicting packages, and apt-get does not detect this
Processing control commands: > forcemerge 702962 -1 Bug #702962 [src:glibc] file conflicts in libc6-dev-i386 and libc6-dev-mips64 Unable to merge bugs because: package of #820826 is 'libc6-dev-amd64' not 'src:glibc' Failed to forcibly merge 702962: Did not alter merged bugs. > severity 702962 important Failed to set severity of Bug 702962 to important: failed to get lock on /org/bugs.debian.org/spool/lock/702962 -- Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable. Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable at /usr/local/lib/site_perl/Debbugs/Common.pm line 664. Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable at /usr/local/lib/site_perl/Debbugs/Common.pm line 664. Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable at /usr/local/lib/site_perl/Debbugs/Common.pm line 664. Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable at /usr/local/lib/site_perl/Debbugs/Common.pm line 664. Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable at /usr/local/lib/site_perl/Debbugs/Common.pm line 664. Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable at /usr/local/lib/site_perl/Debbugs/Common.pm line 664. Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable at /usr/local/lib/site_perl/Debbugs/Common.pm line 664. Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable at /usr/local/lib/site_perl/Debbugs/Common.pm line 664. Unable to lock /org/bugs.debian.org/spool/lock/702962 Resource temporarily unavailable at /usr/local/lib/site_perl/Debbugs/Common.pm line 664. at /usr/local/lib/site_perl/Debbugs/Common.pm line 622. -- 702962: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=702962 820826: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=820826 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#820826: libc6-dev-amd64: Multiarch allows conflicting packages, and apt-get does not detect this
On 2016-04-12 21:04, Sean wrote: > Package: libc6-dev-amd64 > Version: 2.19-18+deb8u4 > Severity: normal > > Dear Maintainer, > > I'm not an expert in the cross-compilation toolchain or its Debian repository > configuration, but the libc6-dev-* packages appear to be set up with > architecture qualifiers so that only one will ever be installed; since they > conflict. > Multiarch support allows multiple of these packages to be attempted to be > installed. > > 1. The wrong package for the architecture is allowed to be installed through > multiarch with no complaints (and possibly as a dependency of, eg, a > misconfigured other package) > 2. If apt-get is requested to install another, conflicting, package in this > family, it will attempt to do so until dpkg discovers the conflict and the > operation fails with no error message explaining why > 1+2. Synergistically, this can allow the wrong package to get onto a system > with no complaints, then when the legitimate package is required by > something, apt-get cannot install it though it attempts to, giving a dpkg > error message that doesn't explain the underlying problem (and apt-get > suggests apt-get -f install, which does nothing to fix it of course) This has already been reported multiple time, for example in #702962. Anyway apt-get simply do not support cross-architecture conflict, so there is nothing that can be done on the libc side. > + Also, the package naming scheme may be confusing to intermediate and novice > users if they're expected to find that a package is incorrectly installed and > which one, as libc6-dev-amd64 is *not* to be installed on amd64 systems, and > similarly for libc6-dev-i386 and i386 systems; their qualifiers are setup to > only be allowed on the opposite architecture (unless multiarch is enabled, > which entirely leads to this situation) > > + I presume this would apply to other architectures as well, and possibly > other packages (esp. cross-compilation related ones?), but these were the > packages I personally encountered in this event. I don't see how do you want to call the amd64 libc without using the amd64 name in it. These names have been there for almost 10 years, so I don't think they are problematic. I am therefore closing this bug. Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://www.aurel32.net
Bug#820826: libc6-dev-amd64: Multiarch allows conflicting packages, and apt-get does not detect this
Package: libc6-dev-amd64 Version: 2.19-18+deb8u4 Severity: normal Dear Maintainer, I'm not an expert in the cross-compilation toolchain or its Debian repository configuration, but the libc6-dev-* packages appear to be set up with architecture qualifiers so that only one will ever be installed; since they conflict. Multiarch support allows multiple of these packages to be attempted to be installed. 1. The wrong package for the architecture is allowed to be installed through multiarch with no complaints (and possibly as a dependency of, eg, a misconfigured other package) 2. If apt-get is requested to install another, conflicting, package in this family, it will attempt to do so until dpkg discovers the conflict and the operation fails with no error message explaining why 1+2. Synergistically, this can allow the wrong package to get onto a system with no complaints, then when the legitimate package is required by something, apt-get cannot install it though it attempts to, giving a dpkg error message that doesn't explain the underlying problem (and apt-get suggests apt-get -f install, which does nothing to fix it of course) + Also, the package naming scheme may be confusing to intermediate and novice users if they're expected to find that a package is incorrectly installed and which one, as libc6-dev-amd64 is *not* to be installed on amd64 systems, and similarly for libc6-dev-i386 and i386 systems; their qualifiers are setup to only be allowed on the opposite architecture (unless multiarch is enabled, which entirely leads to this situation) + I presume this would apply to other architectures as well, and possibly other packages (esp. cross-compilation related ones?), but these were the packages I personally encountered in this event. -- System Information: Debian Release: 8.4 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)