From f1f874bdb8433da780e5635422e6aad4762d8d25 Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 4 Aug 2012 11:04:52 +0200 Subject: * cmdline/apt-get.cc: - error out on (unsatisfiable) build-deps on purly virtual packages instead of ignoring these dependencies; thanks to Johannes Schauer for the detailed report! (Closes: #683786) --- .../test-bug-683786-build-dep-on-virtual-packages | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100755 test/integration/test-bug-683786-build-dep-on-virtual-packages (limited to 'test/integration') diff --git a/test/integration/test-bug-683786-build-dep-on-virtual-packages b/test/integration/test-bug-683786-build-dep-on-virtual-packages new file mode 100755 index 000000000..83d184a43 --- /dev/null +++ b/test/integration/test-bug-683786-build-dep-on-virtual-packages @@ -0,0 +1,44 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'amd64' 'armel' + +insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign' + +insertpackage 'unstable' 'po-debconf' 'all' '1' +insertsource 'unstable' 'dash' 'any' '1' 'Build-Depends: po-debconf' +insertpackage 'unstable' 'make-po-debconf-pure-virtual' 'armel' '1' 'Depends: po-debconf' + +insertpackage 'unstable' 'po-debconf' 'amd64' '1' +insertsource 'unstable' 'diffutils' 'any' '1' 'Build-Depends: texi2html' + +setupaptarchive + +testequal 'Package: po-debconf:armel +Versions: + +Reverse Depends: + make-po-debconf-pure-virtual:armel,po-debconf:armel +Dependencies: +Provides: +Reverse Provides: ' aptcache showpkg po-debconf:armel +testequal 'N: Unable to locate package texi2html' aptcache showpkg texi2html:armel -q=0 + +testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + po-debconf +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst po-debconf (1 unstable, unstable [all]) +Conf po-debconf (1 unstable, unstable [all])' aptget build-dep dash -s + +testequal 'Reading package lists... +Building dependency tree... +E: Build-Depends dependency for dash cannot be satisfied because the package po-debconf cannot be found' aptget build-dep -aarmel dash -s + +testequal 'Reading package lists... +Building dependency tree... +E: Build-Depends dependency for diffutils cannot be satisfied because the package texi2html cannot be found' aptget build-dep -aarmel diffutils -s -- cgit v1.2.3 From 727d8712bc8d681ac95e0d8c61d3d0b46d11494c Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sat, 4 Aug 2012 21:37:41 +0200 Subject: improve the check for purely virtuals as provided packages aren't purely virtual and shouldn't error out cause of that --- .../test-bug-683786-build-dep-on-virtual-packages | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test/integration') diff --git a/test/integration/test-bug-683786-build-dep-on-virtual-packages b/test/integration/test-bug-683786-build-dep-on-virtual-packages index 83d184a43..246bd2ef7 100755 --- a/test/integration/test-bug-683786-build-dep-on-virtual-packages +++ b/test/integration/test-bug-683786-build-dep-on-virtual-packages @@ -15,6 +15,9 @@ insertpackage 'unstable' 'make-po-debconf-pure-virtual' 'armel' '1' 'Depends: po insertpackage 'unstable' 'po-debconf' 'amd64' '1' insertsource 'unstable' 'diffutils' 'any' '1' 'Build-Depends: texi2html' +insertpackage 'unstable' 'libselinux1-dev' 'amd64' '1' 'Provides: libselinux-dev' +insertsource 'unstable' 'sed' 'any' '1' 'Build-Depends: libselinux-dev' + setupaptarchive testequal 'Package: po-debconf:armel @@ -42,3 +45,12 @@ E: Build-Depends dependency for dash cannot be satisfied because the package po- testequal 'Reading package lists... Building dependency tree... E: Build-Depends dependency for diffutils cannot be satisfied because the package texi2html cannot be found' aptget build-dep -aarmel diffutils -s + +testequal "Reading package lists... +Building dependency tree... +Note, selecting 'libselinux1-dev' instead of 'libselinux-dev' +The following NEW packages will be installed: + libselinux1-dev +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libselinux1-dev (1 unstable [amd64]) +Conf libselinux1-dev (1 unstable [amd64])" aptget build-dep sed -s -- cgit v1.2.3 From 666faa35f8a42d2a8691daf46a203be6d29166dc Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Sun, 5 Aug 2012 12:23:59 +0200 Subject: ensure that the right architecture is used for cross-dependencies in cases we have to choose a provider by defaulting on host-arch instead of build-arch --- .../test-bug-632221-cross-dependency-satisfaction | 1 + .../test-bug-683786-build-dep-on-virtual-packages | 25 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) (limited to 'test/integration') diff --git a/test/integration/test-bug-632221-cross-dependency-satisfaction b/test/integration/test-bug-632221-cross-dependency-satisfaction index 7e8a43a86..d90a103c9 100755 --- a/test/integration/test-bug-632221-cross-dependency-satisfaction +++ b/test/integration/test-bug-632221-cross-dependency-satisfaction @@ -63,6 +63,7 @@ Inst libc6 (1.0 unstable [amd64]) Inst specific (1.0 unstable [amd64]) Conf libc6 (1.0 unstable [amd64]) Conf specific (1.0 unstable [amd64])' aptget build-dep source-specific-amd64 -s -a armel + testequal 'Reading package lists... Building dependency tree... The following NEW packages will be installed: diff --git a/test/integration/test-bug-683786-build-dep-on-virtual-packages b/test/integration/test-bug-683786-build-dep-on-virtual-packages index 246bd2ef7..879d6a3bc 100755 --- a/test/integration/test-bug-683786-build-dep-on-virtual-packages +++ b/test/integration/test-bug-683786-build-dep-on-virtual-packages @@ -18,6 +18,9 @@ insertsource 'unstable' 'diffutils' 'any' '1' 'Build-Depends: texi2html' insertpackage 'unstable' 'libselinux1-dev' 'amd64' '1' 'Provides: libselinux-dev' insertsource 'unstable' 'sed' 'any' '1' 'Build-Depends: libselinux-dev' +insertpackage 'unstable' 'libsehurd1-dev' 'amd64,armel' '1' 'Provides: libsehurd-dev' +insertsource 'unstable' 'sed2' 'any' '1' 'Build-Depends: libsehurd-dev' + setupaptarchive testequal 'Package: po-debconf:armel @@ -54,3 +57,25 @@ The following NEW packages will be installed: 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Inst libselinux1-dev (1 unstable [amd64]) Conf libselinux1-dev (1 unstable [amd64])" aptget build-dep sed -s + +testequal 'Reading package lists... +Building dependency tree... +E: Build-Depends dependency for sed cannot be satisfied because the package libselinux-dev cannot be found' aptget build-dep -aarmel sed -s + +testequal "Reading package lists... +Building dependency tree... +Note, selecting 'libsehurd1-dev' instead of 'libsehurd-dev' +The following NEW packages will be installed: + libsehurd1-dev +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsehurd1-dev (1 unstable [amd64]) +Conf libsehurd1-dev (1 unstable [amd64])" aptget build-dep sed2 -s + +testequal "Reading package lists... +Building dependency tree... +Note, selecting 'libsehurd1-dev:armel' instead of 'libsehurd-dev:armel' +The following NEW packages will be installed: + libsehurd1-dev:armel +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsehurd1-dev:armel (1 unstable [armel]) +Conf libsehurd1-dev:armel (1 unstable [armel])" aptget build-dep -aarmel sed2 -s -- cgit v1.2.3