]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | set -e | |
3 | ||
4 | TESTDIR=$(readlink -f $(dirname $0)) | |
5 | . $TESTDIR/framework | |
6 | setupenvironment | |
7 | configarchitecture "i386" | |
8 | ||
9 | buildsimplenativepackage "old-pkg" "i386" "1.0" "stable" | |
10 | buildsimplenativepackage "unrelated" "all" "0.5" "unstable" | |
11 | ||
12 | setupsimplenativepackage "new-pkg" "i386" "2.0" "unstable" "Provides: old-pkg | |
13 | Replaces: old-pkg | |
14 | Conflicts: old-pkg (<< 2.0)" | |
15 | local BUILDDIR="incoming/new-pkg-2.0" | |
16 | echo "/usr/share/doc/new-pkg /usr/share/doc/old-pkg" > ${BUILDDIR}/debian/new-pkg.links | |
17 | buildpackage "$BUILDDIR" "unstable" "main" | |
18 | rm -rf "$BUILDDIR" | |
19 | ||
20 | setupsimplenativepackage "old-pkg" "all" "2.0" "unstable" "Depends: new-pkg" | |
21 | local BUILDDIR="incoming/old-pkg-2.0" | |
22 | echo "/usr/share/doc/new-pkg /usr/share/doc/old-pkg" > ${BUILDDIR}/debian/old-pkg.links | |
23 | echo " | |
24 | override_dh_link: | |
25 | rm -rf debian/old-pkg/usr/share/doc/old-pkg/ | |
26 | dh_link" >> ${BUILDDIR}/debian/rules | |
27 | buildpackage "$BUILDDIR" "unstable" "main" | |
28 | rm -rf "$BUILDDIR" | |
29 | ||
30 | setupaptarchive | |
31 | ||
32 | aptget install old-pkg=1.0 --trivial-only -qq 2>&1 > /dev/null | |
33 | ||
34 | testfileequal "rootdir/var/lib/apt/extended_states" "" # old-pkg is manual installed | |
35 | ||
36 | local CMD="aptget dist-upgrade -y -q=0" | |
37 | msgtest "Test for equality of" "$CMD" | |
38 | local COMPAREFILE=$(mktemp) | |
39 | echo "The following package disappeared from your system as | |
40 | all files have been overwritten by other packages: | |
41 | old-pkg | |
42 | Note: This is done automatic and on purpose by dpkg." > $COMPAREFILE | |
43 | $CMD 2>&1 | tail -n 4 | diff $COMPAREFILE - && msgpass || msgfail | |
44 | rm $COMPAREFILE | |
45 | ||
46 | sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d' | |
47 | testfileequal "rootdir/var/log/apt/history.log" " | |
48 | Install: old-pkg:i386 (1.0) | |
49 | ||
50 | Install: new-pkg:i386 (2.0, automatic) | |
51 | Upgrade: old-pkg:i386 (1.0, 2.0) | |
52 | Disappeared: old-pkg (1.0)" | |
53 | ||
54 | testfileequal "rootdir/var/lib/apt/extended_states" "" # new-pkg should have get the manual flag from old-pkg |