#!/bin/sh
set -e
-TESTDIR=$(readlink -f $(dirname $0))
-. $TESTDIR/framework
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
setupenvironment
configarchitecture 'amd64' 'i386'
testdpkginstalled 'foo:i386'
testfailure aptget install incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1
cd downloaded
-testsuccess aptget install "$(readlink -f ../incoming/foo_1.0_i386.deb)" -o Debug::pkgCacheGen=1 -y --allow-downgrades
-testsuccess aptget install ../incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 -y --allow-downgrades
+testsuccess aptget install "$(readlink -f ../incoming/foo_1.0_i386.deb)" -o Debug::pkgCacheGen=1 -y --reinstall
+testfailure grep 'is already the newest version' ../rootdir/tmp/testsuccess.output
+testsuccess aptget install ../incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 -y --reinstall
+testfailure grep 'is already the newest version' ../rootdir/tmp/testsuccess.output
cd ..
testsuccessequal "Reading package lists...
Priority: extra
Maintainer: No Body <no@example.org>
Architecture: all
+Depends: foo:i386
Description: test package" >> ./incoming/$PKG/DEBIAN/control
if [ -n "$3" ]; then
echo -n "$3" >> ./incoming/$PKG/DEBIAN/control
testsuccess aptget install ./incoming/pkg-leading-newline_0_all.deb
testsuccess aptget install ./incoming/pkg-trailing-newline_0_all.deb
-# see if permission dropping is checked before usage
+testempty apt clean
if [ "$(id -u)" = '0' ]; then
- apt clean
+ # see if permission dropping is checked before usage
chmod 711 ./incoming
- testsuccess aptget install -y --allow-downgrades ./incoming/pkg-as-it-should-be_0_all.deb
+ testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall
+ testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output
chmod 710 ./incoming
- testsuccesswithnotice aptget install -y --allow-downgrades ./incoming/pkg-as-it-should-be_0_all.deb
+ testsuccesswithnotice aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall
+ testfailure grep 'is already the newest version' rootdir/tmp/testsuccesswithnotice.output
chmod 700 ./incoming
- testsuccesswithnotice aptget install -y --allow-downgrades ./incoming/pkg-as-it-should-be_0_all.deb
+ testsuccesswithnotice aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall
+ testfailure grep 'is already the newest version' rootdir/tmp/testsuccesswithnotice.output
+ chmod 711 ./incoming
+else
+ testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall
+ testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output
fi
+
+sed -i -e '/^Depends: foo/ d' rootdir/var/lib/dpkg/status
+testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb
+testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output