| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/bin/sh
- set -e
- TESTDIR=$(readlink -f $(dirname $0))
- . $TESTDIR/framework
- setupenvironment
- configarchitecture "i386"
- buildsimplenativepackage "old-pkg" "i386" "1.0" "stable"
- buildsimplenativepackage "unrelated" "all" "0.5" "unstable"
- setupsimplenativepackage "new-pkg" "i386" "2.0" "unstable" "Provides: old-pkg
- Replaces: old-pkg
- Conflicts: old-pkg (<< 2.0)"
- local 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"
- rm -rf "$BUILDDIR"
- setupsimplenativepackage "old-pkg" "all" "2.0" "unstable" "Depends: new-pkg"
- local BUILDDIR="incoming/old-pkg-2.0"
- 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"
- setupaptarchive
- aptget install old-pkg=1.0 --trivial-only -qq 2>&1 > /dev/null
- testfileequal "rootdir/var/lib/apt/extended_states" "" # old-pkg is manual installed
- local CMD="aptget dist-upgrade -y -q=0"
- msgtest "Test for equality of" "$CMD"
- local COMPAREFILE=$(mktemp)
- echo "The following package disappeared from your system as
- all files have been overwritten by other packages:
- old-pkg
- Note: This is done automatic and on purpose by dpkg." > $COMPAREFILE
- $CMD 2>&1 | tail -n 4 | diff $COMPAREFILE - && msgpass || msgfail
- rm $COMPAREFILE
- sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d'
- testfileequal "rootdir/var/log/apt/history.log" "
- Install: old-pkg:i386 (1.0)
- Install: new-pkg:i386 (2.0, automatic)
- Upgrade: old-pkg:i386 (1.0, 2.0)
- Disappeared: old-pkg (1.0)"
- testfileequal "rootdir/var/lib/apt/extended_states" "" # new-pkg should have get the manual flag from old-pkg
|