#!/bin/sh set -e TESTDIR=$(readlink -f $(dirname $0)) . $TESTDIR/framework setupenvironment configarchitecture "i386" buildsimplenativepackage 'apt' 'all' '1.0' 'stable' setupaptarchive --no-update changetowebserver testsuccess aptget update # simulate normal user with non-existent root-owned directories rm -rf rootdir/var/cache/apt/archives/ mkdir rootdir/var/cache/apt/archives/ addtrap 'prefix' "chmod -f -R +w $PWD/rootdir/var/cache/apt/archives || true;" chmod -R -w rootdir/var/cache/apt/archives echo 'Apt::Changelogs::Server "http://localhost:8080/";' > rootdir/etc/apt/apt.conf.d/changelog.conf testsuccessequal "'http://localhost:8080/pool/apt_1.0/changelog'" aptget changelog apt --print-uris testsuccessequal "'http://localhost:8080/pool/apt_1.0/changelog' 'http://localhost:8080/pool/apt_1.0/changelog'" aptget changelog apt apt --print-uris cd downloaded testsuccess aptget changelog apt -qq testfileequal '../rootdir/tmp/testsuccess.output' "$(cat ../aptarchive/pool/apt_1.0/changelog)" testsuccess aptget changelog apt -d testfileequal 'apt.changelog' "$(cat ../aptarchive/pool/apt_1.0/changelog)" testfilestats 'apt.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" rm -f apt.changelog ../aptarchive/pool/apt_1.0/changelog testequal "$(cat ../aptarchive/pool/apt_1.0.changelog)" aptget changelog apt \ -qq -o APT::Changelogs::Server='http://not-on-the-main-server:8080/' testsuccess aptget changelog apt -d testfileequal 'apt.changelog' "$(cat ../aptarchive/pool/apt_1.0.changelog)" testfilestats 'apt.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" rm -f apt.changelog ../aptarchive/pool/apt_1.0.changelog testequal 'E: changelog download failed' aptget changelog apt -qq -d -o APT::Changelogs::Server='http://not-on-the-main-server:8080/' testfailure test -e apt.changelog