|
@@ -0,0 +1,137 @@
|
|
|
|
|
+#!/bin/sh
|
|
|
|
|
+set -e
|
|
|
|
|
+
|
|
|
|
|
+# dpkg implements versioned provides in commit 5bb02fe80e9f40dcad9703a72f67cf615ff217b5
|
|
|
|
|
+# but previous versions seem to allow parsing, working and ignoring it.
|
|
|
|
|
+
|
|
|
|
|
+TESTDIR=$(readlink -f $(dirname $0))
|
|
|
|
|
+. $TESTDIR/framework
|
|
|
|
|
+setupenvironment
|
|
|
|
|
+configarchitecture 'amd64' 'i386'
|
|
|
|
|
+
|
|
|
|
|
+insertinstalledpackage 'webapp' 'all' '1' 'Depends: httpd'
|
|
|
|
|
+insertinstalledpackage 'webserver' 'all' '1' 'Provides: httpd'
|
|
|
|
|
+
|
|
|
|
|
+insertpackage 'unstable' 'webapp' 'all' '2' 'Depends: httpd (>= 2)'
|
|
|
|
|
+insertpackage 'unstable' 'webserver' 'amd64' '2' 'Provides: httpd (= 2)'
|
|
|
|
|
+insertpackage 'unstable' 'foreign-webserver' 'i386' '2' 'Multi-Arch: foreign
|
|
|
|
|
+Provides: httpd (= 2)'
|
|
|
|
|
+
|
|
|
|
|
+insertpackage 'experimental' 'webapp' 'all' '3' 'Depends: httpd (>= 1.5)'
|
|
|
|
|
+insertpackage 'experimental' 'webserver' 'amd64' '3' 'Provides: httpd (= 3)'
|
|
|
|
|
+
|
|
|
|
|
+insertpackage 'experimental' 'foreign-webserver' 'i386' '4' 'Multi-Arch: foreign
|
|
|
|
|
+Provides: httpd (= 4)'
|
|
|
|
|
+insertpackage 'experimental' 'cool-webapp' 'all' '4' 'Depends: httpd (>= 4)'
|
|
|
|
|
+
|
|
|
|
|
+setupaptarchive
|
|
|
|
|
+
|
|
|
|
|
+testequal 'Reading package lists...
|
|
|
|
|
+Building dependency tree...
|
|
|
|
|
+The following packages will be upgraded:
|
|
|
|
|
+ webapp webserver
|
|
|
|
|
+2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
|
|
|
|
|
+Inst webserver [1] (2 unstable [amd64])
|
|
|
|
|
+Inst webapp [1] (2 unstable [all])
|
|
|
|
|
+Conf webserver (2 unstable [amd64])
|
|
|
|
|
+Conf webapp (2 unstable [all])' aptget dist-upgrade -s
|
|
|
|
|
+
|
|
|
|
|
+testequal 'Reading package lists...
|
|
|
|
|
+Building dependency tree...
|
|
|
|
|
+The following packages will be upgraded:
|
|
|
|
|
+ webapp webserver
|
|
|
|
|
+2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
|
|
|
|
|
+Inst webserver [1] (2 unstable [amd64])
|
|
|
|
|
+Inst webapp [1] (2 unstable [all])
|
|
|
|
|
+Conf webserver (2 unstable [amd64])
|
|
|
|
|
+Conf webapp (2 unstable [all])' aptget install webapp webserver -s
|
|
|
|
|
+
|
|
|
|
|
+testequal 'Reading package lists...
|
|
|
|
|
+Building dependency tree...
|
|
|
|
|
+The following packages will be upgraded:
|
|
|
|
|
+ webapp webserver
|
|
|
|
|
+2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
|
|
|
|
|
+Inst webserver [1] (2 unstable [amd64])
|
|
|
|
|
+Inst webapp [1] (3 experimental [all])
|
|
|
|
|
+Conf webserver (2 unstable [amd64])
|
|
|
|
|
+Conf webapp (3 experimental [all])' aptget install webapp=3 webserver -s
|
|
|
|
|
+
|
|
|
|
|
+testequal 'Reading package lists...
|
|
|
|
|
+Building dependency tree...
|
|
|
|
|
+The following packages will be upgraded:
|
|
|
|
|
+ webapp webserver
|
|
|
|
|
+2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
|
|
|
|
|
+Inst webserver [1] (3 experimental [amd64])
|
|
|
|
|
+Inst webapp [1] (2 unstable [all])
|
|
|
|
|
+Conf webserver (3 experimental [amd64])
|
|
|
|
|
+Conf webapp (2 unstable [all])' aptget install webapp webserver=3 -s
|
|
|
|
|
+
|
|
|
|
|
+testequal 'Reading package lists...
|
|
|
|
|
+Building dependency tree...
|
|
|
|
|
+The following NEW packages will be installed:
|
|
|
|
|
+ foreign-webserver:i386
|
|
|
|
|
+The following packages will be upgraded:
|
|
|
|
|
+ webapp
|
|
|
|
|
+1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
|
|
|
|
|
+Inst foreign-webserver:i386 (2 unstable [i386])
|
|
|
|
|
+Inst webapp [1] (2 unstable [all])
|
|
|
|
|
+Conf foreign-webserver:i386 (2 unstable [i386])
|
|
|
|
|
+Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386 -s
|
|
|
|
|
+
|
|
|
|
|
+testequal 'Reading package lists...
|
|
|
|
|
+Building dependency tree...
|
|
|
|
|
+The following NEW packages will be installed:
|
|
|
|
|
+ foreign-webserver:i386
|
|
|
|
|
+The following packages will be upgraded:
|
|
|
|
|
+ webapp
|
|
|
|
|
+1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
|
|
|
|
|
+Inst foreign-webserver:i386 (2 unstable [i386])
|
|
|
|
|
+Inst webapp [1] (3 experimental [all])
|
|
|
|
|
+Conf foreign-webserver:i386 (2 unstable [i386])
|
|
|
|
|
+Conf webapp (3 experimental [all])' aptget install webapp=3 foreign-webserver:i386 -s
|
|
|
|
|
+
|
|
|
|
|
+testequal 'Reading package lists...
|
|
|
|
|
+Building dependency tree...
|
|
|
|
|
+The following NEW packages will be installed:
|
|
|
|
|
+ foreign-webserver:i386
|
|
|
|
|
+The following packages will be upgraded:
|
|
|
|
|
+ webapp
|
|
|
|
|
+1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded.
|
|
|
|
|
+Inst foreign-webserver:i386 (4 experimental [i386])
|
|
|
|
|
+Inst webapp [1] (2 unstable [all])
|
|
|
|
|
+Conf foreign-webserver:i386 (4 experimental [i386])
|
|
|
|
|
+Conf webapp (2 unstable [all])' aptget install webapp foreign-webserver:i386=4 -s
|
|
|
|
|
+
|
|
|
|
|
+testequal '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:
|
|
|
|
|
+ cool-webapp : Depends: httpd (>= 4)
|
|
|
|
|
+E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp -s
|
|
|
|
|
+
|
|
|
|
|
+testequal '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:
|
|
|
|
|
+ cool-webapp : Depends: httpd (>= 4)
|
|
|
|
|
+E: Unable to correct problems, you have held broken packages.' aptget install cool-webapp foreign-webserver:i386 -s
|
|
|
|
|
+
|
|
|
|
|
+testequal 'Reading package lists...
|
|
|
|
|
+Building dependency tree...
|
|
|
|
|
+The following NEW packages will be installed:
|
|
|
|
|
+ cool-webapp foreign-webserver:i386
|
|
|
|
|
+0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
|
|
|
|
|
+Inst foreign-webserver:i386 (4 experimental [i386])
|
|
|
|
|
+Inst cool-webapp (4 experimental [all])
|
|
|
|
|
+Conf foreign-webserver:i386 (4 experimental [i386])
|
|
|
|
|
+Conf cool-webapp (4 experimental [all])' aptget install cool-webapp foreign-webserver:i386=4 -s
|