diff options
Diffstat (limited to 'test/integration/test-bug-758153-versioned-provides-support')
-rwxr-xr-x | test/integration/test-bug-758153-versioned-provides-support | 206 |
1 files changed, 206 insertions, 0 deletions
diff --git a/test/integration/test-bug-758153-versioned-provides-support b/test/integration/test-bug-758153-versioned-provides-support new file mode 100755 index 000000000..30bc921c3 --- /dev/null +++ b/test/integration/test-bug-758153-versioned-provides-support @@ -0,0 +1,206 @@ +#!/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)' + +# arch-qualified provides, see #777071 +insertpackage 'unstable' 'foo' 'all' '1' 'Provides: bar:i386' +insertpackage 'unstable' 'baz' 'i386,amd64' '1' 'Depends: bar' +insertpackage 'experimental' 'baz' 'i386,amd64' '2' 'Depends: bar:i386' +insertpackage 'experimental' 'baz-broken' 'i386' '2' 'Depends: bar:amd64' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +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 + +testsuccessequal '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 + +testsuccessequal '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 + +testsuccessequal '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 + +testsuccessequal '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 + +testsuccessequal '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 + +testsuccessequal '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 + +testfailureequal '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 + +testfailureequal '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 + +testsuccessequal '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 + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following extra packages will be installed: + foo +The following NEW packages will be installed: + baz:i386 foo +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst foo (1 unstable [all]) +Inst baz:i386 (1 unstable [i386]) +Conf foo (1 unstable [all]) +Conf baz:i386 (1 unstable [i386])' aptget install baz:i386 -s + +testfailureequal '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: + baz : Depends: bar but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget install baz:amd64 -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Selected version '2' (experimental [amd64]) for 'baz' +The following extra packages will be installed: + foo +The following NEW packages will be installed: + baz foo +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst foo (1 unstable [all]) +Inst baz (2 experimental [amd64]) +Conf foo (1 unstable [all]) +Conf baz (2 experimental [amd64])" aptget install baz/experimental -s -q=0 + +testsuccessequal "Reading package lists... +Building dependency tree... +Selected version '2' (experimental [i386]) for 'baz:i386' +The following extra packages will be installed: + foo +The following NEW packages will be installed: + baz:i386 foo +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst foo (1 unstable [all]) +Inst baz:i386 (2 experimental [i386]) +Conf foo (1 unstable [all]) +Conf baz:i386 (2 experimental [i386])" aptget install baz:i386/experimental -s -q=0 + +testfailureequal '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: + baz-broken:i386 : Depends: bar but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget install baz-broken -s |