X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/443f5e8a3205162ec6933529c5ca0c95ad3f6941..dabe9e2482180ada77d2adda2b3c03db22059fb8:/test/integration/test-disappearing-packages diff --git a/test/integration/test-disappearing-packages b/test/integration/test-disappearing-packages index d2ac4edc6..e8748e6bc 100755 --- a/test/integration/test-disappearing-packages +++ b/test/integration/test-disappearing-packages @@ -1,54 +1,92 @@ #!/bin/sh set -e -TESTDIR=$(readlink -f $(dirname $0)) -. $TESTDIR/framework +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" setupenvironment -configarchitecture 'native' +configarchitecture 'amd64' 'i386' -buildsimplenativepackage "old-pkg" "native" "1.0" "stable" -buildsimplenativepackage "unrelated" "all" "0.5" "unstable" +buildsimplenativepackage 'old-pkg' 'amd64' '1' 'stable' -setupsimplenativepackage "new-pkg" "native" "2.0" "unstable" "Provides: old-pkg +setupsimplenativepackage 'new-pkg' 'amd64' '2' 'unstable' 'Provides: old-pkg Replaces: old-pkg -Conflicts: old-pkg (<< 2.0)" -BUILDDIR="incoming/new-pkg-2.0" -echo "/usr/share/doc/new-pkg /usr/share/doc/old-pkg" > ${BUILDDIR}/debian/new-pkg.links -buildpackage "$BUILDDIR" "unstable" "main" +Conflicts: old-pkg (<< 2)' +BUILDDIR='incoming/new-pkg-2' +echo '/usr/share/doc/new-pkg /usr/share/doc/old-pkg' > "${BUILDDIR}/debian/new-pkg.links" +buildpackage "$BUILDDIR" 'unstable' 'main' rm -rf "$BUILDDIR" -setupsimplenativepackage "old-pkg" "all" "2.0" "unstable" "Depends: new-pkg" -BUILDDIR="incoming/old-pkg-2.0" -echo "/usr/share/doc/new-pkg /usr/share/doc/old-pkg" > ${BUILDDIR}/debian/old-pkg.links +setupsimplenativepackage 'old-pkg' 'all' '2' 'unstable' 'Depends: new-pkg' +BUILDDIR='incoming/old-pkg-2' +echo '/usr/share/doc/new-pkg /usr/share/doc/old-pkg' > "${BUILDDIR}/debian/old-pkg.links" echo " override_dh_link: rm -rf debian/old-pkg/usr/share/doc/old-pkg/ - dh_link" >> ${BUILDDIR}/debian/rules -buildpackage "$BUILDDIR" "unstable" "main" + dh_link" >> "${BUILDDIR}/debian/rules" +buildpackage "$BUILDDIR" 'unstable' 'main' rm -rf "$BUILDDIR" -setupaptarchive +setupsimplenativepackage 'super-new-pkg' 'i386' '3' 'experimental' 'Provides: new-pkg +Replaces: new-pkg +Conflicts: new-pkg (<< 3)' +BUILDDIR='incoming/super-new-pkg-3' +echo '/usr/share/doc/super-new-pkg /usr/share/doc/old-pkg' > "${BUILDDIR}/debian/super-new-pkg.links" +echo '/usr/share/doc/super-new-pkg /usr/share/doc/new-pkg' >> "${BUILDDIR}/debian/super-new-pkg.links" +buildpackage "$BUILDDIR" 'experimental' 'main' +rm -rf "$BUILDDIR" -aptget install old-pkg=1.0 --trivial-only -qq 2>&1 > /dev/null +setupsimplenativepackage 'new-pkg' 'all' '3' 'experimental' 'Depends: super-new-pkg' +BUILDDIR='incoming/new-pkg-3' +echo '/usr/share/doc/super-new-pkg /usr/share/doc/old-pkg' > "${BUILDDIR}/debian/new-pkg.links" +echo '/usr/share/doc/super-new-pkg /usr/share/doc/new-pkg' >> "${BUILDDIR}/debian/new-pkg.links" +echo " +override_dh_link: + rm -rf debian/new-pkg/usr/share/doc/new-pkg/ + dh_link" >> "${BUILDDIR}/debian/rules" +buildpackage "$BUILDDIR" 'experimental' 'main' +rm -rf "$BUILDDIR" -testmarkedauto # old-pkg is manual installed +setupaptarchive -CMD="aptget dist-upgrade -y -q=0" -msgtest "Test for equality of" "$CMD" -COMPAREFILE=$(mktemp) -echo "The following package disappeared from your system as +msgmsg 'Let a package disappear' 'old-pkg' +testsuccess aptget install old-pkg=1 --trivial-only +testmarkedauto # old-pkg is manual installed +testsuccess aptget dist-upgrade -y +testdpkgnotinstalled old-pkg +cp rootdir/tmp/testsuccess.output disappear.output +testsuccessequal 'The following package disappeared from your system as all files have been overwritten by other packages: old-pkg -Note: This is done automatically and on purpose by dpkg." > $COMPAREFILE -$CMD 2>&1 | tail -n 4 | diff $COMPAREFILE - && msgpass || msgfail -rm $COMPAREFILE +Note: This is done automatically and on purpose by dpkg.' tail -n 4 disappear.output sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d' -e "s#:$(getarchitecture 'native') #:native #" -testfileequal "rootdir/var/log/apt/history.log" " -Install: old-pkg:native (1.0) +if [ -n "$SUDO_USER" ]; then + testfileequal 'rootdir/var/log/apt/history.log' " +Requested-By: $SUDO_USER ($(id -u "$SUDO_USER")) +Install: old-pkg:native (1) + +Requested-By: $SUDO_USER ($(id -u "$SUDO_USER")) +Install: new-pkg:native (2, automatic) +Upgrade: old-pkg:native (1, 2) +Disappeared: old-pkg (1)" +else + testfileequal 'rootdir/var/log/apt/history.log' ' +Install: old-pkg:native (1) -Install: new-pkg:native (2.0, automatic) -Upgrade: old-pkg:native (1.0, 2.0) -Disappeared: old-pkg (1.0)" +Install: new-pkg:native (2, automatic) +Upgrade: old-pkg:native (1, 2) +Disappeared: old-pkg (1)' +fi testmarkedauto # new-pkg should have get the manual flag from old-pkg + +msgmsg 'Let a package disappear which let the previous disappear' 'new-pkg' +testsuccess aptget dist-upgrade -y -t experimental +testdpkgnotinstalled new-pkg +cp rootdir/tmp/testsuccess.output disappear.output +testsuccessequal 'The following package disappeared from your system as +all files have been overwritten by other packages: + new-pkg +Note: This is done automatically and on purpose by dpkg.' tail -n 4 disappear.output + +testmarkedauto