Bug#820826: libc6-dev-amd64: Multiarch allows conflicting packages, and apt-get does not detect this

2018-01-11 Thread Aurelien Jarno
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

2018-01-11 Thread Raphael Hertzog
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

2018-01-11 Thread Aurelien Jarno
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

2018-01-11 Thread Raphael Hertzog
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

2018-01-11 Thread Debian Bug Tracking System
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

2016-04-27 Thread Aurelien Jarno
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

2016-04-12 Thread Sean
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)