diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2010-08-24 21:44:11 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2010-08-24 21:44:11 +0200 |
commit | 17ea77d3332ce3abbbc96a9e110a37ae055ac422 (patch) | |
tree | 611708d199721f5bca0ea4826d03da0016f3780d /test/integration/test-disappearing-packages | |
parent | 7e32e3e58d5499056b17acd0a9992704e3f55951 (diff) | |
parent | 39ee79d5b84390ae79d8cce9389c1541bcd68a25 (diff) |
* merged from debian/unstable
* merge of the debian-expermental-ma branch
* refresh po/pot files in doc/ and po/
* Fix spelling error in cmdline/apt-get.cc. Thanks to Osamu Aoki
Closes: #594211
* Swedish (Daniel Nylander). Closes: #592366
* French (Christian Perrier)
* Thai (Theppitak Karoonboonyanan). Closes: #592695
* Russian (Yuri Kozlov). Closes: #594232
* French (Christian Perrier)
* apt-pkg/contrib/strutl.cc:
- fix error checking for vsnprintf in its safe variant
* methods/bzip2.cc:
- fix error checking for read in case of failing bzip2/lzma/whatever
* debian/apt.cron.daily:
- create backups for our extended_states file (Closes: #593430)
* apt-pkg/init.cc:
- set the default values for dir::etc::trusted options correctly
* ftparchive/writer.cc:
- init valid-until correctly to prevent garbage entering Release file
* apt-pkg/deb/debsystem.cc:
- set dir::state::status based at least on dir
* apt-pkg/deb/dpkgpm.cc:
- use the InstVer instead of the CurrentVer for the autobit transfer
* methods/http.cc:
- some http servers violate HTTP1.1 by not issuing a Reason-Phrase
(or at least a space after the code) especially for 200, but lets
be nice and ignore it as we don't need the reason in general
* apt-pkg/acquire-item.cc:
- don't use ReadOnlyGzip mode for PDiffs as this mode doesn't work
in combination with the AddFd methods of our hashclasses
Diffstat (limited to 'test/integration/test-disappearing-packages')
-rwxr-xr-x | test/integration/test-disappearing-packages | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/test/integration/test-disappearing-packages b/test/integration/test-disappearing-packages new file mode 100755 index 000000000..ebf2bb14f --- /dev/null +++ b/test/integration/test-disappearing-packages @@ -0,0 +1,54 @@ +#!/bin/sh +set -e + +local 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 |