]> git.saurik.com Git - apt.git/blobdiff - test/integration/test-bug-632221-cross-dependency-satisfaction
implement generic config fallback for methods
[apt.git] / test / integration / test-bug-632221-cross-dependency-satisfaction
index 30df4860459593b5aa2a5ec0cc30608cf5ff171c..066e29d99657c7760496b20274d38e1967be67c5 100755 (executable)
@@ -1,8 +1,8 @@
 #!/bin/sh
 set -e
 
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
 setupenvironment
 configarchitecture 'amd64' 'armel'
 
@@ -18,16 +18,109 @@ insertpackage 'unstable' 'libfwibble-dev' 'amd64,armel' '1.0' 'Depends: libfwibb
 insertpackage 'unstable' 'cool' 'amd64,armel' '1.0' 'Multi-Arch: allowed'
 insertpackage 'unstable' 'amdboot' 'amd64' '1.0'
 insertpackage 'unstable' 'foreigner' 'amd64,armel' '1.0' 'Multi-Arch: foreign'
+insertpackage 'unstable' 'arm-stuff' 'armel' '1.0'
+insertpackage 'unstable' 'linux-stuff' 'amd64,armel' '1.0'
 
-insertsource 'unstable' 'apt' 'any' '0.8.15' 'Build-Depends: doxygen, libc6-dev, libc6-dev:native, cool:any, amdboot:amd64, foreigner, libfwibble-dev'
+insertsource 'unstable' 'apt' 'any' '0.8.15' 'Build-Depends: doxygen, libc6-dev, libc6-dev:native, cool:any, amdboot:amd64, foreigner, libfwibble-dev, arm-stuff [any-armel] | linux-stuff [ linux-any]'
+
+insertsource 'unstable' 'forbidden-no' 'any' '1' 'Build-Depends: amdboot:any'
+insertsource 'unstable' 'forbidden-same' 'any' '1' 'Build-Depends: libc6:any'
+insertsource 'unstable' 'forbidden-foreign' 'any' '1' 'Build-Depends: doxygen:any'
+
+insertpackage 'unstable' 'specific' 'amd64' '1.0' 'Depends: libc6:amd64'
+insertpackage 'unstable' 'specific' 'armel' '1.0' 'Depends: libc6:armel'
+
+insertsource 'unstable' 'source-specific-amd64' 'amd64' '1' 'Build-Depends: specific:amd64'
+insertsource 'unstable' 'source-specific-armel' 'armel' '1' 'Build-Depends: specific:armel'
 
 setupaptarchive
 
-testequal 'Reading package lists...
+testfailureequal 'Reading package lists...
+Reading package lists...
+Building dependency tree...
+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:
+ builddeps:forbidden-no:armel : Depends: amdboot:any but it is not installable
+E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-no -s -a armel
+testfailureequal 'Reading package lists...
+Reading package lists...
+Building dependency tree...
+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:
+ builddeps:forbidden-same:armel : Depends: libc6:any but it is not installable
+E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-same -s -a armel
+testfailureequal 'Reading package lists...
+Reading package lists...
+Building dependency tree...
+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:
+ builddeps:forbidden-foreign:armel : Depends: doxygen:any but it is not installable
+E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-foreign -s -a armel
+
+testsuccessequal 'Reading package lists...
+Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+  libc6 specific
+0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
+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
+testsuccessequal 'Reading package lists...
+Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+  libc6 specific
+0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
+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
+
+testsuccessequal 'Reading package lists...
+Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+  libc6:armel specific:armel
+0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
+Inst libc6:armel (1.0 unstable [armel])
+Inst specific:armel (1.0 unstable [armel])
+Conf libc6:armel (1.0 unstable [armel])
+Conf specific:armel (1.0 unstable [armel])' aptget build-dep source-specific-armel -s
+testsuccessequal 'Reading package lists...
+Reading package lists...
+Building dependency tree...
+The following NEW packages will be installed:
+  libc6:armel specific:armel
+0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
+Inst libc6:armel (1.0 unstable [armel])
+Inst specific:armel (1.0 unstable [armel])
+Conf libc6:armel (1.0 unstable [armel])
+Conf specific:armel (1.0 unstable [armel])' aptget build-dep source-specific-armel -s -a armel
+
+testsuccessequal 'Reading package lists...
+Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
   amdboot cool doxygen foreigner libc6 libc6-dev libfwibble-dev libfwibble1
-0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
+  linux-stuff
+0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
 Inst amdboot (1.0 unstable [amd64])
 Inst cool (1.0 unstable [amd64])
 Inst doxygen (1.0 unstable [amd64])
@@ -36,6 +129,7 @@ Inst libc6 (1.0 unstable [amd64])
 Inst libc6-dev (1.0 unstable [amd64])
 Inst libfwibble1 (1.0 unstable [amd64])
 Inst libfwibble-dev (1.0 unstable [amd64])
+Inst linux-stuff (1.0 unstable [amd64])
 Conf amdboot (1.0 unstable [amd64])
 Conf cool (1.0 unstable [amd64])
 Conf doxygen (1.0 unstable [amd64])
@@ -43,15 +137,18 @@ Conf foreigner (1.0 unstable [amd64])
 Conf libc6 (1.0 unstable [amd64])
 Conf libc6-dev (1.0 unstable [amd64])
 Conf libfwibble1 (1.0 unstable [amd64])
-Conf libfwibble-dev (1.0 unstable [amd64])' aptget build-dep apt -s
+Conf libfwibble-dev (1.0 unstable [amd64])
+Conf linux-stuff (1.0 unstable [amd64])' aptget build-dep apt -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
+Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
-  amdboot cool doxygen foreigner libc6 libc6:armel libc6-dev libc6-dev:armel
-  libfwibble-dev:armel libfwibble1:armel
-0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
+  amdboot arm-stuff:armel cool doxygen foreigner libc6 libc6:armel libc6-dev
+  libc6-dev:armel libfwibble-dev:armel libfwibble1:armel
+0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
 Inst amdboot (1.0 unstable [amd64])
+Inst arm-stuff:armel (1.0 unstable [armel])
 Inst cool (1.0 unstable [amd64])
 Inst doxygen (1.0 unstable [amd64])
 Inst foreigner (1.0 unstable [amd64])
@@ -62,6 +159,7 @@ Inst libc6-dev:armel (1.0 unstable [armel])
 Inst libfwibble1:armel (1.0 unstable [armel])
 Inst libfwibble-dev:armel (1.0 unstable [armel])
 Conf amdboot (1.0 unstable [amd64])
+Conf arm-stuff:armel (1.0 unstable [armel])
 Conf cool (1.0 unstable [amd64])
 Conf doxygen (1.0 unstable [amd64])
 Conf foreigner (1.0 unstable [amd64])
@@ -74,13 +172,14 @@ Conf libfwibble-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a arm
 
 configarchitecture 'armel' 'amd64'
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
-  amdboot:amd64 cool doxygen foreigner libc6 libc6-dev libfwibble-dev
-  libfwibble1
-0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
+  amdboot:amd64 arm-stuff cool doxygen foreigner libc6 libc6-dev
+  libfwibble-dev libfwibble1
+0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
 Inst amdboot:amd64 (1.0 unstable [amd64])
+Inst arm-stuff (1.0 unstable [armel])
 Inst cool (1.0 unstable [armel])
 Inst doxygen (1.0 unstable [armel])
 Inst foreigner (1.0 unstable [armel])
@@ -89,6 +188,7 @@ Inst libc6-dev (1.0 unstable [armel])
 Inst libfwibble1 (1.0 unstable [armel])
 Inst libfwibble-dev (1.0 unstable [armel])
 Conf amdboot:amd64 (1.0 unstable [amd64])
+Conf arm-stuff (1.0 unstable [armel])
 Conf cool (1.0 unstable [armel])
 Conf doxygen (1.0 unstable [armel])
 Conf foreigner (1.0 unstable [armel])
@@ -97,63 +197,77 @@ Conf libc6-dev (1.0 unstable [armel])
 Conf libfwibble1 (1.0 unstable [armel])
 Conf libfwibble-dev (1.0 unstable [armel])' aptget build-dep apt -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
+Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
-  amdboot:amd64 cool doxygen foreigner libc6:amd64 libc6 libc6-dev:amd64
-  libc6-dev libfwibble-dev:amd64 libfwibble1:amd64
-0 upgraded, 10 newly installed, 0 to remove and 0 not upgraded.
+  amdboot:amd64 cool doxygen foreigner libc6 libc6:amd64 libc6-dev
+  libc6-dev:amd64 libfwibble-dev:amd64 libfwibble1:amd64 linux-stuff:amd64
+0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded.
 Inst amdboot:amd64 (1.0 unstable [amd64])
 Inst cool (1.0 unstable [armel])
 Inst doxygen (1.0 unstable [armel])
 Inst foreigner (1.0 unstable [armel])
-Inst libc6:amd64 (1.0 unstable [amd64])
 Inst libc6 (1.0 unstable [armel])
-Inst libc6-dev:amd64 (1.0 unstable [amd64])
+Inst libc6:amd64 (1.0 unstable [amd64])
 Inst libc6-dev (1.0 unstable [armel])
+Inst libc6-dev:amd64 (1.0 unstable [amd64])
 Inst libfwibble1:amd64 (1.0 unstable [amd64])
 Inst libfwibble-dev:amd64 (1.0 unstable [amd64])
+Inst linux-stuff:amd64 (1.0 unstable [amd64])
 Conf amdboot:amd64 (1.0 unstable [amd64])
 Conf cool (1.0 unstable [armel])
 Conf doxygen (1.0 unstable [armel])
 Conf foreigner (1.0 unstable [armel])
-Conf libc6:amd64 (1.0 unstable [amd64])
 Conf libc6 (1.0 unstable [armel])
-Conf libc6-dev:amd64 (1.0 unstable [amd64])
+Conf libc6:amd64 (1.0 unstable [amd64])
 Conf libc6-dev (1.0 unstable [armel])
+Conf libc6-dev:amd64 (1.0 unstable [amd64])
 Conf libfwibble1:amd64 (1.0 unstable [amd64])
-Conf libfwibble-dev:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64
+Conf libfwibble-dev:amd64 (1.0 unstable [amd64])
+Conf linux-stuff:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64
 
 configarchitecture 'amd64' 'armel'
 
 insertinstalledpackage 'cool' 'amd64' '0.5'
 insertinstalledpackage 'foreigner' 'armel' '0.5'
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
-  amdboot doxygen libc6 libc6-dev libfwibble-dev libfwibble1
-0 upgraded, 6 newly installed, 0 to remove and 2 not upgraded.
+  amdboot doxygen libc6 libc6-dev libfwibble-dev libfwibble1 linux-stuff
+The following packages will be upgraded:
+  foreigner:armel
+1 upgraded, 7 newly installed, 0 to remove and 1 not upgraded.
 Inst amdboot (1.0 unstable [amd64])
 Inst doxygen (1.0 unstable [amd64])
+Inst foreigner:armel [0.5] (1.0 unstable [armel])
 Inst libc6 (1.0 unstable [amd64])
 Inst libc6-dev (1.0 unstable [amd64])
 Inst libfwibble1 (1.0 unstable [amd64])
 Inst libfwibble-dev (1.0 unstable [amd64])
+Inst linux-stuff (1.0 unstable [amd64])
 Conf amdboot (1.0 unstable [amd64])
 Conf doxygen (1.0 unstable [amd64])
+Conf foreigner:armel (1.0 unstable [armel])
 Conf libc6 (1.0 unstable [amd64])
 Conf libc6-dev (1.0 unstable [amd64])
 Conf libfwibble1 (1.0 unstable [amd64])
-Conf libfwibble-dev (1.0 unstable [amd64])' aptget build-dep apt -s
+Conf libfwibble-dev (1.0 unstable [amd64])
+Conf linux-stuff (1.0 unstable [amd64])' aptget build-dep apt -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
+Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
-  amdboot doxygen libc6 libc6:armel libc6-dev libc6-dev:armel
+  amdboot arm-stuff:armel doxygen libc6 libc6:armel libc6-dev libc6-dev:armel
   libfwibble-dev:armel libfwibble1:armel
-0 upgraded, 8 newly installed, 0 to remove and 2 not upgraded.
+The following packages will be upgraded:
+  cool
+1 upgraded, 9 newly installed, 0 to remove and 1 not upgraded.
 Inst amdboot (1.0 unstable [amd64])
+Inst arm-stuff:armel (1.0 unstable [armel])
+Inst cool [0.5] (1.0 unstable [amd64])
 Inst doxygen (1.0 unstable [amd64])
 Inst libc6 (1.0 unstable [amd64])
 Inst libc6:armel (1.0 unstable [armel])
@@ -162,6 +276,8 @@ Inst libc6-dev:armel (1.0 unstable [armel])
 Inst libfwibble1:armel (1.0 unstable [armel])
 Inst libfwibble-dev:armel (1.0 unstable [armel])
 Conf amdboot (1.0 unstable [amd64])
+Conf arm-stuff:armel (1.0 unstable [armel])
+Conf cool (1.0 unstable [amd64])
 Conf doxygen (1.0 unstable [amd64])
 Conf libc6 (1.0 unstable [amd64])
 Conf libc6:armel (1.0 unstable [armel])
@@ -173,15 +289,17 @@ Conf libfwibble-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a arm
 configarchitecture 'armel' 'amd64'
 
 # cool 0.5 is not M-A: allowed, so amd64 is not acceptable
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
 Building dependency tree...
 The following packages will be REMOVED:
   cool:amd64
 The following NEW packages will be installed:
-  amdboot:amd64 cool doxygen libc6 libc6-dev libfwibble-dev libfwibble1
-0 upgraded, 7 newly installed, 1 to remove and 1 not upgraded.
+  amdboot:amd64 arm-stuff cool doxygen libc6 libc6-dev libfwibble-dev
+  libfwibble1
+0 upgraded, 8 newly installed, 1 to remove and 1 not upgraded.
 Remv cool:amd64 [0.5]
 Inst amdboot:amd64 (1.0 unstable [amd64])
+Inst arm-stuff (1.0 unstable [armel])
 Inst cool (1.0 unstable [armel])
 Inst doxygen (1.0 unstable [armel])
 Inst libc6 (1.0 unstable [armel])
@@ -189,6 +307,7 @@ Inst libc6-dev (1.0 unstable [armel])
 Inst libfwibble1 (1.0 unstable [armel])
 Inst libfwibble-dev (1.0 unstable [armel])
 Conf amdboot:amd64 (1.0 unstable [amd64])
+Conf arm-stuff (1.0 unstable [armel])
 Conf cool (1.0 unstable [armel])
 Conf doxygen (1.0 unstable [armel])
 Conf libc6 (1.0 unstable [armel])
@@ -196,27 +315,34 @@ Conf libc6-dev (1.0 unstable [armel])
 Conf libfwibble1 (1.0 unstable [armel])
 Conf libfwibble-dev (1.0 unstable [armel])' aptget build-dep apt -s
 
-testequal 'Reading package lists...
+testsuccessequal 'Reading package lists...
+Reading package lists...
 Building dependency tree...
 The following NEW packages will be installed:
-  amdboot:amd64 doxygen libc6:amd64 libc6 libc6-dev:amd64 libc6-dev
-  libfwibble-dev:amd64 libfwibble1:amd64
-0 upgraded, 8 newly installed, 0 to remove and 2 not upgraded.
+  amdboot:amd64 doxygen libc6 libc6:amd64 libc6-dev libc6-dev:amd64
+  libfwibble-dev:amd64 libfwibble1:amd64 linux-stuff:amd64
+The following packages will be upgraded:
+  cool:amd64 foreigner
+2 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
 Inst amdboot:amd64 (1.0 unstable [amd64])
+Inst cool:amd64 [0.5] (1.0 unstable [amd64])
 Inst doxygen (1.0 unstable [armel])
-Inst libc6:amd64 (1.0 unstable [amd64])
+Inst foreigner [0.5] (1.0 unstable [armel])
 Inst libc6 (1.0 unstable [armel])
-Inst libc6-dev:amd64 (1.0 unstable [amd64])
+Inst libc6:amd64 (1.0 unstable [amd64])
 Inst libc6-dev (1.0 unstable [armel])
+Inst libc6-dev:amd64 (1.0 unstable [amd64])
 Inst libfwibble1:amd64 (1.0 unstable [amd64])
 Inst libfwibble-dev:amd64 (1.0 unstable [amd64])
+Inst linux-stuff:amd64 (1.0 unstable [amd64])
 Conf amdboot:amd64 (1.0 unstable [amd64])
+Conf cool:amd64 (1.0 unstable [amd64])
 Conf doxygen (1.0 unstable [armel])
-Conf libc6:amd64 (1.0 unstable [amd64])
+Conf foreigner (1.0 unstable [armel])
 Conf libc6 (1.0 unstable [armel])
-Conf libc6-dev:amd64 (1.0 unstable [amd64])
+Conf libc6:amd64 (1.0 unstable [amd64])
 Conf libc6-dev (1.0 unstable [armel])
+Conf libc6-dev:amd64 (1.0 unstable [amd64])
 Conf libfwibble1:amd64 (1.0 unstable [amd64])
-Conf libfwibble-dev:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64
-
-
+Conf libfwibble-dev:amd64 (1.0 unstable [amd64])
+Conf linux-stuff:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64