You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

61 lines
2.1 KiB

#!/bin/sh
set -e
TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture 'amd64'
insertpackage 'testing' 'foo' 'all' '1'
getcodenamefromsuite() { echo -n 'stretch'; }
setupaptarchive --no-update
APTARCHIVE="$(readlink -f './aptarchive')"
ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/stretch"
ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/zurg"
testfailure apt show foo
testsuccess apt update
testsuccess apt show foo
rm -rf rootdir/var/lib/apt/lists
sed -i -e 's#testing#stretch#g' rootdir/etc/apt/sources.list.d/*
testsuccess apt update
testsuccess apt show foo
rm -rf rootdir/var/lib/apt/lists
sed -i -e 's#stretch#zurg#g' rootdir/etc/apt/sources.list.d/*
testwarningmsg "W: Conflicting distribution: file:$APTARCHIVE zurg InRelease (expected zurg but got stretch)" apt update
testsuccess apt show foo
# check that 'foo/bar' is rewritten to 'foo' while we are at it
rm -rf rootdir/var/lib/apt/lists
sed -i -e 's#zurg#stretch/updates#g' rootdir/etc/apt/sources.list.d/*
testfailure apt update
testfailure apt show foo
ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/stretch/updates"
testsuccess apt update
testsuccess apt show foo
# … but only if needed
rm -rf rootdir/var/lib/apt/lists
sed -i -e 's#stretch#buster#g' rootdir/etc/apt/sources.list.d/*
sed -i -e 's#^Codename: stretch$#Codename: buster/updates#g' $(find ./aptarchive -name 'Release')
signreleasefiles
testfailure apt update
testfailure apt show foo
ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/buster"
testsuccess apt update
testsuccess apt show foo
# changing codenames gets a warning, too
rm -rf rootdir/var/lib/apt/lists
sed -i -e 's#buster#testing#g' rootdir/etc/apt/sources.list.d/*
testsuccess apt update
testsuccess apt show foo
sed -i -e 's#^Codename: buster#Codename: zurg#g' $(find ./aptarchive -name 'Release')
signreleasefiles
testwarningmsg "W: Conflicting distribution: file:$APTARCHIVE testing/updates InRelease (expected buster/updates but got zurg/updates)" apt update
testsuccess apt show foo
testsuccess apt update
testsuccess apt show foo