Package: piuparts Version: 0.62~bpo70+1 Severity: normal piuparts basically does a "dpkg -i $package" followed by "apt-get -yf install" when installing the Debian package under test and trying to resolve its dependencies.
This basically works fine, unless the package under test has a Pre-Dependency on another package. Then "dpkg -i $package" doesn't install the package at all. It fails with 'pre-dependency problem - not installing'. piuparts then ignores this failure and executes 'apt-get -yf install' but this doesn't solve it because the previous dpkg command didn't actually do anything. I've created a minimal working example to provide further details step 1) is a minimal Debian package implementing such a Pre-Depends and step 2) is an actual piuparts run (see below). One possible workaround would be to execute dpkg using `--force-depends`, though this might leave the package in an inconsistent state. A better solution would be to have a realâ„¢ dependency resolver in place. regards, -mika- ,---- [ 1) build a minimal demonstration package ] | % cat debian/control | Source: foobar | Maintainer: Michael Prokop <nos...@example.org> | Build-Depends: debhelper (>= 9) | Standards-Version: 3.9.6 | | Package: foobar | Architecture: all | Pre-Depends: vim | Depends: ${misc:Depends}, ${shlibs:Depends} | Description: ignore | % cat debian/changelog | foobar (0.0.1) unstable; urgency=low | | * Demo package | | -- Michael Prokop <nos...@example.org> Thu, 12 Feb 2015 12:57:42 +0100 | | % cat debian/rules | #!/usr/bin/make -f | %: | dh $@ | % cat debian/compat | 9 | % fakeroot ./debian/rules binary `---- ,---- [ 2) demonstration run ] | # piuparts --distribution=wheezy --mirror=http://http.debian.net/debian ./foobar_0.0.1_all.deb | [...] | 0m0.0s DUMP: | new debian package, version 2.0. | size 984 bytes: control archive=400 bytes. | 152 bytes, 7 lines control | 68 bytes, 1 lines md5sums | Package: foobar | Version: 0.0.1 | Architecture: all | Maintainer: Michael Prokop <nos...@example.org> | Installed-Size: 1 | Pre-Depends: vim | Description: ignore | 0m0.0s DEBUG: Command ok: ['dpkg', '--info', './foobar_0.0.1_all.deb'] | 0m0.0s DEBUG: Created temporary directory /tmp/tmpvb1NGO | 0m0.0s DEBUG: Setting up minimal chroot for wheezy at /tmp/tmpvb1NGO. | 0m0.0s DEBUG: Starting command: ['debootstrap', '--variant=minbase', '--keyring=/usr/share/keyrings/debian-archive-keyring.gpg', '--include=eatmydata', '--components=main,contrib,non-free', 'wheezy', '/tmp/tmpvb1NGO', 'http://http.debian.net/debian'] | 1m56.5s DUMP: | I: Retrieving Release | I: Retrieving Release.gpg | [...] | 2m3.4s DEBUG: Copying ./foobar_0.0.1_all.deb to /tmp/tmpvb1NGO/tmp | 2m3.4s DEBUG: Starting command: ['chroot', '/tmp/tmpvb1NGO', 'eatmydata', 'dpkg', '-i', 'tmp/foobar_0.0.1_all.deb'] | 2m3.4s DUMP: | Selecting previously unselected package foobar. | dpkg: regarding tmp/foobar_0.0.1_all.deb containing foobar, pre-dependency problem: | foobar pre-depends on vim | vim is not installed. | | dpkg: error processing tmp/foobar_0.0.1_all.deb (--install): | pre-dependency problem - not installing foobar | Errors were encountered while processing: | tmp/foobar_0.0.1_all.deb | 2m3.4s DEBUG: Command failed (status=1), but ignoring error: ['chroot', '/tmp/tmpvb1NGO', 'eatmydata', 'dpkg', '-i', 'tmp/foobar_0.0.1_all.deb'] | 2m3.4s DEBUG: Starting command: ['chroot', '/tmp/tmpvb1NGO', 'eatmydata', 'apt-get', '-yf', 'install'] | 2m5.3s DUMP: | Reading package lists... | Building dependency tree... | 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. | 2m5.3s DEBUG: Command ok: ['chroot', '/tmp/tmpvb1NGO', 'eatmydata', 'apt-get', '-yf', 'install'] | 2m5.3s DEBUG: Starting command: ['chroot', '/tmp/tmpvb1NGO', 'eatmydata', 'dpkg-query', '-f', '${Package} ${Status}\n', '-W', 'foobar'] | 2m5.4s DUMP: | foobar install ok not-installed | 2m5.4s DEBUG: Command ok: ['chroot', '/tmp/tmpvb1NGO', 'eatmydata', 'dpkg-query', '-f', '${Package} ${Status}\n', '-W', 'foobar'] | 2m5.4s ERROR: Installation of foobar failed | 2m5.4s ERROR: Could not install foobar. | 2m5.6s DEBUG: Starting command: ['chroot', '/tmp/tmpvb1NGO', 'eatmydata', 'umount', '/proc'] | 2m5.6s DEBUG: Command ok: ['chroot', '/tmp/tmpvb1NGO', 'eatmydata', 'umount', '/pr `---- -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/2015-02-16t10-50...@devnull.michael-prokop.at