X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/33e46bc7032c2bcab654ab3f6a0a10ad82264ead..29c590951f812d9e9c4f17706e34f2c3315fb1f6:/test/integration/test-bug-612099-multiarch-conflicts diff --git a/test/integration/test-bug-612099-multiarch-conflicts b/test/integration/test-bug-612099-multiarch-conflicts index caac75db4..bc573951d 100755 --- a/test/integration/test-bug-612099-multiarch-conflicts +++ b/test/integration/test-bug-612099-multiarch-conflicts @@ -1,12 +1,10 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment -configarchitecture "i386" "amd64" - -buildsimplenativepackage 'peace-dpkg' 'all' '1.0' 'stable' +configarchitecture 'i386' 'amd64' buildsimplenativepackage 'libc6' 'i386' '1.0' 'stable' buildsimplenativepackage 'libc6' 'amd64' '1.0' 'stable' @@ -17,12 +15,9 @@ buildsimplenativepackage 'foobar' 'amd64' '1.0' 'stable' 'Depends: libc6' setupaptarchive -aptget install peace-dpkg:i386 -y -qq 2>&1 > /dev/null -testdpkginstalled peace-dpkg - -aptget install libc6:i386 -t stable -y -qq 2>&1 > /dev/null -testdpkginstalled libc6 -testequal 'Reading package lists... +testsuccess aptget install libc6:i386 -t stable -y +testdpkginstalled libc6:i386 +testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... The following packages will be REMOVED: @@ -34,7 +29,7 @@ Remv libc6 [1.0] Inst libc6:amd64 (1.0 stable [amd64]) Conf libc6:amd64 (1.0 stable [amd64])' aptget install libc6:amd64 -s -t stable -testequal 'Reading package lists... +testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: @@ -43,10 +38,10 @@ The following NEW packages will be installed: Inst foobar (1.0 stable [i386]) Conf foobar (1.0 stable [i386])' aptget install foobar -st stable -testequal 'Reading package lists... +testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... -The following extra packages will be installed: +The following additional packages will be installed: libc6:amd64 The following packages will be REMOVED: libc6 @@ -59,64 +54,74 @@ Inst foobar:amd64 (1.0 stable [amd64]) Conf libc6:amd64 (1.0 stable [amd64]) Conf foobar:amd64 (1.0 stable [amd64])' aptget install foobar:amd64 -st stable -# FIXME: libc6:i386 is installed, we are switching to libc6:all -testequal 'Reading package lists... +testsuccessequal "Reading package lists... Building dependency tree... Reading state information... -The following extra packages will be installed: - libc6 +Selected version '1.0' (stable [i386]) for 'foobar' The following NEW packages will be installed: - foobar libc6 -0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. -Inst libc6 (2.0 testing, testing [all]) + foobar +The following packages will be upgraded: + libc6 +1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libc6 [1.0] (2.0 testing [all]) Inst foobar (1.0 stable [i386]) -Conf libc6 (2.0 testing, testing [all]) -Conf foobar (1.0 stable [i386])' aptget install foobar/stable libc6 -st testing +Conf libc6 (2.0 testing [all]) +Conf foobar (1.0 stable [i386])" aptget install foobar/stable libc6 -st testing -# FIXME: libc6:i386 is installed, we are switching to libc6:all -testequal 'Reading package lists... +testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... -The following NEW packages will be installed: +Calculating upgrade... +The following packages will be upgraded: libc6 -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Inst libc6 (2.0 testing, testing [all]) -Conf libc6 (2.0 testing, testing [all])' aptget upgrade -t testing -s -aptget upgrade -y -qq 2>&1 > /dev/null -testdpkginstalled libc6 - -testequal 'Reading package lists... +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst libc6 [1.0] (2.0 testing [all]) +Conf libc6 (2.0 testing [all])' aptget upgrade -t testing -s +# FIXME: on amd64 systems this test wouldn't run with a real upgrade +# as APT (here i386) disagree about the native architecture, so +# we fake it here: +#aptget upgrade -y -qq >/dev/null 2>&1 +testsuccess aptget purge libc6 -y +testsuccess aptget install libc6:i386 -y +testdpkginstalled libc6:all + +testsuccessequal "Reading package lists... Building dependency tree... Reading state information... +Selected version '1.0' (stable [i386]) for 'foobar' The following NEW packages will be installed: foobar 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Inst foobar (1.0 stable [i386]) [] -Conf foobar (1.0 stable [i386])' aptget install foobar/stable -st testing +Inst foobar (1.0 stable [i386]) +Conf foobar (1.0 stable [i386])" aptget install foobar/stable -st testing -testequal 'Reading package lists... +testsuccessequal "Reading package lists... Building dependency tree... Reading state information... +Selected version '1.0' (stable [amd64]) for 'foobar:amd64' +The following additional packages will be installed: + libc6:amd64 +The following packages will be REMOVED: + libc6 The following NEW packages will be installed: - foobar:amd64 -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. + foobar:amd64 libc6:amd64 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv libc6 [2.0] +Inst libc6:amd64 (1.0 stable [amd64]) Inst foobar:amd64 (1.0 stable [amd64]) -Conf foobar:amd64 (1.0 stable [amd64])' aptget install foobar:amd64/stable -st testing +Conf libc6:amd64 (1.0 stable [amd64]) +Conf foobar:amd64 (1.0 stable [amd64])" aptget install foobar:amd64/stable -st testing -# FIXME: the display is a strange (its a downgrade), but the handling itself correct -testequal "Reading package lists... +testsuccessequal "Reading package lists... Building dependency tree... Reading state information... Selected version '1.0' (stable [i386]) for 'libc6' -The following packages will be REMOVED: +The following packages will be DOWNGRADED: libc6 -The following NEW packages will be installed: - libc6 -0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. -Remv libc6 [2.0] -Inst libc6 (1.0 stable [i386]) -Conf libc6 (1.0 stable [i386])" aptget install libc6/stable -s -q=0 +0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded. +Inst libc6 [2.0] (1.0 stable [i386]) +Conf libc6 (1.0 stable [i386])" aptget install libc6/stable -s buildsimplenativepackage 'libc6-same' 'i386' '1.0' 'stable' 'Multi-Arch: same' @@ -128,10 +133,10 @@ buildsimplenativepackage 'foobar-same' 'amd64' '1.0' 'stable' 'Depends: libc6-sa setupaptarchive -aptget install libc6-same:i386 -t stable -y -qq 2>&1 > /dev/null -testdpkginstalled libc6-same +testsuccess aptget install libc6-same:i386 -t stable -y +testdpkginstalled libc6-same:i386 -testequal 'Reading package lists... +testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: @@ -140,10 +145,10 @@ The following NEW packages will be installed: Inst foobar-same (1.0 stable [i386]) Conf foobar-same (1.0 stable [i386])' aptget install foobar-same -st stable -testequal 'Reading package lists... +testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... -The following extra packages will be installed: +The following additional packages will be installed: libc6-same:amd64 The following NEW packages will be installed: foobar-same:amd64 libc6-same:amd64 @@ -153,7 +158,7 @@ Inst foobar-same:amd64 (1.0 stable [amd64]) Conf libc6-same:amd64 (1.0 stable [amd64]) Conf foobar-same:amd64 (1.0 stable [amd64])' aptget install foobar-same:amd64 -st stable -testequal 'Reading package lists... +testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... The following NEW packages will be installed: @@ -164,46 +169,57 @@ Conf libc6-same:amd64 (1.0 stable [amd64])' aptget install libc6-same:amd64 -s - # FIXME: We should test installing libc6-same:amd64 here, but dpkg doesn't allow it currently -# FIXME: upgrade any to all as above -testequal 'Reading package lists... +testsuccessequal 'Reading package lists... Building dependency tree... Reading state information... -The following NEW packages will be installed: +Calculating upgrade... +The following packages will be upgraded: libc6-same -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Inst libc6-same (2.0 testing, testing [all]) -Conf libc6-same (2.0 testing, testing [all])' aptget upgrade -t testing -s -aptget upgrade -y -qq 2>&1 > /dev/null -testdpkginstalled libc6-same - -# FIXME: the display is a strange (its a downgrade), but the handling itself correct -testequal "Reading package lists... +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst libc6-same [1.0] (2.0 testing [all]) +Conf libc6-same (2.0 testing [all])' aptget upgrade -t testing -s +# FIXME: on amd64 systems this test wouldn't run with a real upgrade +# as APT (here i386) disagree about the native architecture, so +# we fake it here: +#aptget upgrade -y -qq >/dev/null 2>&1 +testsuccess aptget purge libc6-same -y +testsuccess aptget install libc6-same:i386 -y +testdpkginstalled libc6-same:all + + +testsuccessequal "Reading package lists... Building dependency tree... Reading state information... Selected version '1.0' (stable [i386]) for 'libc6-same' -The following packages will be REMOVED: +The following packages will be DOWNGRADED: libc6-same -The following NEW packages will be installed: - libc6-same -0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. -Remv libc6-same [2.0] -Inst libc6-same (1.0 stable [i386]) -Conf libc6-same (1.0 stable [i386])" aptget install libc6-same/stable -s -q=0 +0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded. +Inst libc6-same [2.0] (1.0 stable [i386]) +Conf libc6-same (1.0 stable [i386])" aptget install libc6-same/stable -s -testequal 'Reading package lists... +testsuccessequal "Reading package lists... Building dependency tree... Reading state information... +Selected version '1.0' (stable [i386]) for 'foobar-same' The following NEW packages will be installed: foobar-same 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. -Inst foobar-same (1.0 stable [i386]) [] -Conf foobar-same (1.0 stable [i386])' aptget install foobar-same/stable -st testing +Inst foobar-same (1.0 stable [i386]) +Conf foobar-same (1.0 stable [i386])" aptget install foobar-same/stable -st testing -testequal 'Reading package lists... +testsuccessequal "Reading package lists... Building dependency tree... Reading state information... +Selected version '1.0' (stable [amd64]) for 'foobar-same:amd64' +The following additional packages will be installed: + libc6-same:amd64 +The following packages will be REMOVED: + libc6-same The following NEW packages will be installed: - foobar-same:amd64 -0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. + foobar-same:amd64 libc6-same:amd64 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv libc6-same [2.0] +Inst libc6-same:amd64 (1.0 stable [amd64]) Inst foobar-same:amd64 (1.0 stable [amd64]) -Conf foobar-same:amd64 (1.0 stable [amd64])' aptget install foobar-same:amd64/stable -st testing +Conf libc6-same:amd64 (1.0 stable [amd64]) +Conf foobar-same:amd64 (1.0 stable [amd64])" aptget install foobar-same:amd64/stable -st testing