X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/de3786516df8b0fec2f759a16bbbc4b8605c1856..952171787a0b865c17d5c9476e272106383ae93a:/test/integration/test-bug-604222-new-and-autoremove diff --git a/test/integration/test-bug-604222-new-and-autoremove b/test/integration/test-bug-604222-new-and-autoremove index 5820fb0dc..b8faf4fe6 100755 --- a/test/integration/test-bug-604222-new-and-autoremove +++ b/test/integration/test-bug-604222-new-and-autoremove @@ -1,66 +1,121 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment configarchitecture "i386" + +insertpackage 'stable' 'dummy-archive' 'i386' '0.invalid.0' 'Depends: libavcodec52, libvtk5-dev | libopenal-dev' +insertpackage 'stable' 'libavcodec52' 'i386' '4:0.5.2-6' 'Conflicts: libvtk5-dev' +insertpackage 'stable' 'libopenal-dev' 'i386' '1:1.12.854-2' +insertpackage 'stable' 'libvtk5-dev' 'i386' '5.4.2-8' 'Depends: libvtk5.4 (= 5.4.2-8)' +insertpackage 'stable' 'libvtk5.4' 'i386' '5.4.2-8' 'Depends: libavcodec52 (>= 4:0.5.1-1)' + +insertpackage 'stable' 'gwenview' 'i386' '4:16.08.0-1' 'Depends: libkf5kipi-bin, libkf5kipi-data' +insertpackage 'stable' 'libkf5kipi-bin' 'i386' '4:16.08.0-1' +insertpackage 'stable' 'libkf5kipi-data' 'i386' '4:16.08.0-1' 'Breaks: libkipi-data' +insertpackage 'stable' 'libkipi-data' 'i386' '4:15.08.0-1' '' 'important' + setupaptarchive -touch rootdir/var/lib/apt/extended_states -aptmark markauto 'libvtk5.4' +cp -a rootdir/var/lib/dpkg/status rootdir/var/lib/dpkg/status.backup +insertinstalledpackage 'libvtk5.4' 'i386' '5.4.2-7' +testsuccess aptmark markauto 'libvtk5.4' testmarkedauto 'libvtk5.4' -testequal "Reading package lists... +AUTOREMOVE='apt autoremove' +if [ -n "$SUDO_USER" ]; then + AUTOREMOVE="sudo $AUTOREMOVE" +fi + +testsuccessequal "Reading package lists... Building dependency tree... Reading state information... The following package was automatically installed and is no longer required: libvtk5.4 -Use 'apt-get autoremove' to remove it. +Use '$AUTOREMOVE' to remove it. The following NEW packages will be installed: libavcodec52 0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. -Inst libavcodec52 (4:0.5.2-6 localhost [i386]) -Conf libavcodec52 (4:0.5.2-6 localhost [i386])" aptget install libavcodec52 -s +Inst libavcodec52 (4:0.5.2-6 stable [i386]) +Conf libavcodec52 (4:0.5.2-6 stable [i386])" aptget install libavcodec52 -s -testequal "Reading package lists... +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +1 package was automatically installed and is no longer required. +Use '$AUTOREMOVE' to remove it. +The following NEW packages will be installed: + libavcodec52 +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst libavcodec52 (4:0.5.2-6 stable [i386]) +Conf libavcodec52 (4:0.5.2-6 stable [i386])" aptget install libavcodec52 -s -o APT::Get::HideAutoRemove=small + +testfailureequal "Reading package lists... Building dependency tree... Reading state information... The following package was automatically installed and is no longer required: libvtk5.4 -Use 'apt-get autoremove' to remove it. -The following extra packages will be installed: +Use '$AUTOREMOVE' to remove it. +The following additional packages will be installed: libavcodec52 libopenal-dev libvtk5.4 The following NEW packages will be installed: dummy-archive libavcodec52 libopenal-dev The following packages will be upgraded: libvtk5.4 1 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. -Need to get 0 B/19.4 MB of archives. -After this operation, 17.3 MB of additional disk space will be used. +After this operation, 129 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation." aptget install dummy-archive --trivial-only +testequal "Reading package lists... +Building dependency tree... +Reading state information... +1 package was automatically installed and is no longer required. +Use '$AUTOREMOVE' to remove it. +The following additional packages will be installed: + libavcodec52 libopenal-dev libvtk5.4 +The following NEW packages will be installed: + dummy-archive libavcodec52 libopenal-dev +The following packages will be upgraded: + libvtk5.4 +1 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +After this operation, 129 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install dummy-archive --trivial-only -o APT::Get::HideAutoRemove=small -echo -n > rootdir/var/lib/dpkg/status -rm rootdir/var/lib/apt/extended_states +cp rootdir/var/lib/dpkg/status.backup rootdir/var/lib/dpkg/status +rm -f rootdir/var/lib/apt/extended_states CONFLICTING='Reading package lists... Building dependency tree... - MarkInstall dummy-archive [ i386 ] < none -> 0.invalid.0 > ( admin ) FU=1 - MarkInstall libavcodec52 [ i386 ] < none -> 4:0.5.2-6 > ( libs ) FU=0 - MarkInstall libvtk5-dev [ i386 ] < none -> 5.4.2-8 > ( libdevel ) FU=0 - MarkInstall libvtk5.4 [ i386 ] < none -> 5.4.2-8 > ( libs ) FU=0 - MarkKeep libvtk5-dev [ i386 ] < none -> 5.4.2-8 > ( libdevel ) FU=0 - MarkKeep libvtk5-dev [ i386 ] < none -> 5.4.2-8 > ( libdevel ) FU=0 - MarkDelete libvtk5.4 [ i386 ] < none -> 5.4.2-8 > ( libs ) FU=1 -The following extra packages will be installed: + MarkInstall dummy-archive:i386 < none -> 0.invalid.0 @un puN Ib > FU=1 + MarkInstall libavcodec52:i386 < none -> 4:0.5.2-6 @un uN > FU=0 + MarkInstall libvtk5-dev:i386 < none -> 5.4.2-8 @un uN Ib > FU=0 + MarkInstall libvtk5.4:i386 < none -> 5.4.2-8 @un uN > FU=0 + MarkKeep libvtk5-dev:i386 < none -> 5.4.2-8 @un uN > FU=0 + MarkKeep libvtk5-dev:i386 < none -> 5.4.2-8 @un uN > FU=0 + MarkDelete libvtk5.4:i386 < none -> 5.4.2-8 @un ugN > FU=0 +The following additional packages will be installed: libavcodec52 libopenal-dev The following NEW packages will be installed: dummy-archive libavcodec52 libopenal-dev 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. -Need to get 0 B/6304 kB of archives. -After this operation, 17.3 MB of additional disk space will be used. +After this operation, 129 kB of additional disk space will be used. E: Trivial Only specified but this is not a trivial operation.' -testequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=0 -testequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=1 -testequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=small +testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=0 +testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=1 +testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=small + +insertinstalledpackage 'my-metapackage' 'i386' '1' 'Depends: gwenview' +insertinstalledpackage 'gwenview' 'i386' '4:15.08.0-1' 'Depends: libkipi-data +Recommends: foobar' # trigger policy brokenness to avoid optimisation +insertinstalledpackage 'libkipi-data' 'i386' '4:15.08.0-1' '' 'important' +testsuccess aptmark markauto 'gwenview' + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Calculating upgrade... +The following packages have been kept back: + gwenview +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded." apt dist-upgrade -s