X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/25b86db159fbc3c043628e285c0c1ef24dec2c6e..514a25cbcd2babb2a9c4485fc7b9a4256b7f6ff3:/test/integration/test-apt-get-install-deb?ds=sidebyside diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb index 0f34692fe..3f1aee5a0 100755 --- a/test/integration/test-apt-get-install-deb +++ b/test/integration/test-apt-get-install-deb @@ -5,23 +5,112 @@ TESTDIR=$(readlink -f $(dirname $0)) . $TESTDIR/framework setupenvironment -configarchitecture "i386" +configarchitecture 'amd64' 'i386' # regression test for #754904 -testfailureequal 'E: Unable to locate package /dev/null' aptget install -qq /dev/null +testfailureequal 'E: Unsupported file /dev/null given on commandline' aptget install -qq /dev/null -# and ensure we fail for invalid debs -cat > foo.deb < foo.rpm < rootdir/etc/apt/preferences + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Note, selecting 'foo' instead of './incoming/foo_1.0_amd64.deb' +The following packages will be REMOVED: + foo:i386 +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv foo:i386 [1.0] +Inst foo (1.0 local-deb [amd64]) +Conf foo (1.0 local-deb [amd64])" aptget install ./incoming/foo_1.0_amd64.deb -s -q=0 + +createpkg() { + local PKG="pkg-$1" + mkdir -p ./incoming/$PKG/DEBIAN + if [ -n "$2" ]; then + echo -n "$2" >> ./incoming/$PKG/DEBIAN/control + fi + echo "Package: $PKG +Version: 0 +Priority: extra +Maintainer: No Body +Architecture: all +Description: test package" >> ./incoming/$PKG/DEBIAN/control + if [ -n "$3" ]; then + echo -n "$3" >> ./incoming/$PKG/DEBIAN/control + fi + testsuccess dpkg-deb --build ./incoming/$PKG/ ./incoming + #dpkg-deb -I ./incoming/${PKG}_0_all.deb control +} +createpkg 'as-it-should-be' +createpkg 'leading-newline' ' + +' +createpkg 'trailing-newline' '' ' +' + +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 +if [ "$(id -u)" = '0' ]; then + apt clean + chmod 711 ./incoming + testsuccess aptget install -y --allow-downgrades ./incoming/pkg-as-it-should-be_0_all.deb -q=0 + chmod 710 ./incoming + testsuccesswithnotice aptget install -y --allow-downgrades ./incoming/pkg-as-it-should-be_0_all.deb -q=0 + chmod 700 ./incoming + testsuccesswithnotice aptget install -y --allow-downgrades ./incoming/pkg-as-it-should-be_0_all.deb -q=0 +fi