Bug#777760: apt: fails to satisfy dependencies of the form package:arch with arch being the native architecture
Package: apt
Version: 1.0.9.6
Severity: normal
Hi,
apt in unstable/jessie fails to satisfy binary dependencies of the form
package:arch if arch happens to be the native architecture.
steps to reproduce:
$ sudo debootstrap --variant=minbase sid debian-sid http://127.0.0.1:3142/http.debian.net/debian
$ sudo mkdir debian-sid/repository
$ cat << END | sudo tee debian-sid/repository/Packages > /dev/null
Package: foo
Version: 1.0
Architecture: amd64
Depends: blub:amd64
Package: blub
Version: 1.0
Architecture: amd64
END
$ echo deb file:/repository ./ | sudo tee -a debian-sid/etc/apt/sources.list > /dev/null
$ sudo chroot debian-sid apt-get update
$ sudo chroot debian-sid apt-get install -o Debug::pkgProblemResolver=true -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 foo
Reading package lists... Done
Building dependency tree... Done
foo:amd64 Depends on blub:amd64 [ amd64 ] < none > ( none ) can't be satisfied!
Starting pkgProblemResolver with broken count: 1
Starting 2 pkgProblemResolver with broken count: 1
Investigating (0) foo [ amd64 ] < none -> 1.0 > ( unknown )
Broken foo:amd64 Depends on blub:amd64 [ amd64 ] < none > ( none )
Done
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:
foo : Depends: blub:amd64 but it is not installable
E: Unable to correct problems, you have held broken packages.
On the other hand it works with foreign architectures (at least as far
as the resolver seems to be concerned - it only fails on the missing
Filename: field):
$ sudo chroot debian-sid dpkg --add-architecture i386
$ cat << END | sudo tee debian-sid/repository/Packages > /dev/null
Package: foo
Version: 1.0
Architecture: amd64
Depends: blub:i386
Package: blub
Version: 1.0
Architecture: i386
END
$ sudo chroot debian-sid apt-get update
$ sudo chroot debian-sid apt-get install -o Debug::pkgProblemResolver=true -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 foo
Reading package lists... Done
Building dependency tree... Done
MarkInstall foo [ amd64 ] < none -> 1.0 > ( unknown ) FU=1
Installing blub as Depends of foo
MarkInstall blub [ i386 ] < none -> 1.0 > ( unknown ) FU=0
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
The following extra packages will be installed:
blub:i386
The following NEW packages will be installed:
blub:i386 foo
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
E: The package index files are corrupted. No Filename: field for package blub.
Lets try experimental apt:
$ echo deb http://127.0.0.1:3142/http.debian.net/debian experimental main | sudo tee -a debian-sid/etc/apt/sources.list > /dev/null
$ sudo chroot debian-sid apt-get update
$ sudo chroot debian-sid apt-get install -t experimental apt
$ cat << END | sudo tee debian-sid/repository/Packages > /dev/null
Package: foo
Version: 1.0
Architecture: amd64
Depends: blub:amd64
Package: blub
Version: 1.0
Architecture: amd64
END
$ sudo chroot debian-sid apt-get update
$ sudo chroot debian-sid apt-get install -o Debug::pkgProblemResolver=true -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 foo
Reading package lists... Done
Building dependency tree
Reading state information... Done
MarkInstall foo [ amd64 ] < none -> 1.0 > ( unknown ) FU=1
Installing blub as Depends of foo
MarkInstall blub [ amd64 ] < none -> 1.0 > ( unknown ) FU=0
Starting pkgProblemResolver with broken count: 0
Starting 2 pkgProblemResolver with broken count: 0
Done
The following extra packages will be installed:
blub
The following NEW packages will be installed:
blub foo
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
E: The package index files are corrupted. No Filename: field for package blub.
So gladly this is only a problem with apt unstable/jessie but not in
experimental.
cheers, josch
Reply to: