]> git.saurik.com Git - apt.git/blob - test/integration/test-disappearing-packages
require explicit paths to dsc/control as we do for deb files
[apt.git] / test / integration / test-disappearing-packages
1 #!/bin/sh
2 set -e
3
4 TESTDIR="$(readlink -f "$(dirname "$0")")"
5 . "$TESTDIR/framework"
6 setupenvironment
7 configarchitecture 'native'
8
9 buildsimplenativepackage 'old-pkg' 'native' '1.0' 'stable'
10 buildsimplenativepackage 'unrelated' 'all' '0.5' 'unstable'
11
12 setupsimplenativepackage 'new-pkg' 'native' '2.0' 'unstable' 'Provides: old-pkg
13 Replaces: old-pkg
14 Conflicts: old-pkg (<< 2.0)'
15 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 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 testsuccess aptget install old-pkg=1.0 --trivial-only
33
34 testmarkedauto # old-pkg is manual installed
35
36 CMD='aptget dist-upgrade -y'
37 msgtest 'Test for equality of' "$CMD"
38 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 automatically and on purpose by dpkg.' > "$COMPAREFILE"
43 $CMD 2>&1 | tail -n 4 | diff -u "$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' -e "s#:$(getarchitecture 'native') #:native #"
47 testfileequal 'rootdir/var/log/apt/history.log' '
48 Install: old-pkg:native (1.0)
49
50 Install: new-pkg:native (2.0, automatic)
51 Upgrade: old-pkg:native (1.0, 2.0)
52 Disappeared: old-pkg (1.0)'
53
54 testmarkedauto # new-pkg should have get the manual flag from old-pkg