From e7edb2fef8370d54a4b8e5a01266e6eda81ef84e Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Fri, 1 Jul 2016 13:17:03 +0200 Subject: reinstalling local deb file is no downgrade MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If we have a (e.g. locally built) deb file installed and do try to install it again apt complained about this being a downgrade, but it wasn't as it is the very same version… it was just confused into not merging the versions together which looks like a downgrade then. The same size assumption is usually good, but given that volatile files are parsed last (even after the status file) the base assumption no longer holds, but is easy to adept without actually changing anything in practice. --- test/integration/test-apt-get-install-deb | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'test/integration/test-apt-get-install-deb') diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb index 1e9520fe6..53675c080 100755 --- a/test/integration/test-apt-get-install-deb +++ b/test/integration/test-apt-get-install-deb @@ -45,8 +45,10 @@ testsuccess aptget install ./incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 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... @@ -109,13 +111,21 @@ testsuccess aptget install ./incoming/pkg-as-it-should-be_0_all.deb 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 +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 + + -- cgit v1.2.3-70-g09d2