123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #!/bin/sh
- set -e
- TESTDIR="$(readlink -f "$(dirname "$0")")"
- . "$TESTDIR/framework"
- setupenvironment
- configarchitecture 'amd64' 'i386'
- buildsimplenativepackage 'old-pkg' 'amd64' '1' 'stable'
- setupsimplenativepackage 'new-pkg' 'amd64' '2' 'unstable' 'Provides: old-pkg
- Replaces: old-pkg
- 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' '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'
- rm -rf "$BUILDDIR"
- 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"
- 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"
- setupaptarchive
- 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.' 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 #"
- 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, 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
|