#!/bin/sh set -e TESTDIR="$(readlink -f "$(dirname "$0")")" . "$TESTDIR/framework" setupenvironment configarchitecture 'native' echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list.d/rocks.list echo 'deb http://deb.debian.org/debian stable main' >> rootdir/etc/apt/sources.list echo 'deb http://deb.debian.org/debian-ports unstable main' >> rootdir/etc/apt/sources.list echo 'deb-src http://deb.debian.org/debian stable main' >> rootdir/etc/apt/sources.list echo 'deb-src http://deb.debian.org/debian unstable main' >> rootdir/etc/apt/sources.list echo 'deb http://example.org/debian stable bananas' >> rootdir/etc/apt/sources.list echo 'deb [trusted=yes] http://example.org/debian trusted bananas' >> rootdir/etc/apt/sources.list mkdir -p rootdir/usr/share/keyrings/ mkdir -p rootdir/var/lib/apt/lists echo > rootdir/etc/apt/trusted.gpg.d/rocks.gpg echo > rootdir/usr/share/keyrings/debian-archive-keyring.gpg echo > rootdir/usr/share/keyrings/debian-ports-archive-keyring.gpg echo "Date: $(date -ud '-2 weeks' '+%a, %d %b %Y %H:%M:%S %Z')" > rootdir/var/lib/apt/lists/deb.debian.org_debian_dists_unstable_InRelease echo "Date: $(date -ud '-2 weeks' '+%a, %d %b %Y %H:%M:%S %Z')" > rootdir/var/lib/apt/lists/deb.debian.org_debian_dists_stable_InRelease echo "Date: $(date -ud '-2 weeks' '+%a, %d %b %Y %H:%M:%S %Z')" > rootdir/var/lib/apt/lists/deb.debian.org_debian-ports_dists_unstable_InRelease echo "Origin: Debian" >> rootdir/var/lib/apt/lists/deb.debian.org_debian_dists_unstable_InRelease echo "Origin: Debian" >> rootdir/var/lib/apt/lists/deb.debian.org_debian_dists_stable_InRelease echo "Origin: Debian Ports" >> rootdir/var/lib/apt/lists/deb.debian.org_debian-ports_dists_unstable_InRelease # We test that appending produces valid output here, so we already configure a source in here. echo "Types: deb" >> rootdir/etc/apt/sources.list.d/debian.sources echo "URIs: https://deb.debian.org/debian/" >> rootdir/etc/apt/sources.list.d/debian.sources echo "Suites: experimental" >> rootdir/etc/apt/sources.list.d/debian.sources echo "Components: contrib" >> rootdir/etc/apt/sources.list.d/debian.sources echo "Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg" >> rootdir/etc/apt/sources.list.d/debian.sources testwarning apt modernize-sources -y testsuccessequal "rootdir/etc/apt/sources.list.bak rootdir/etc/apt/sources.list.d: debian-ports.sources debian.sources moved-from-main.sources rocks.list.bak rocks.sources" ls -1 rootdir/etc/apt/sources.list* testfileequal rootdir/etc/apt/sources.list.d/debian.sources "Types: deb URIs: https://deb.debian.org/debian/ Suites: experimental Components: contrib Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg # Modernized from ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list Types: deb deb-src URIs: http://deb.debian.org/debian/ Suites: stable Components: main Signed-By: ${TMPWORKINGDIRECTORY}/rootdir/usr/share/keyrings/debian-archive-keyring.gpg # Modernized from ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list Types: deb-src URIs: http://deb.debian.org/debian/ Suites: unstable Components: main Signed-By: ${TMPWORKINGDIRECTORY}/rootdir/usr/share/keyrings/debian-archive-keyring.gpg" testfileequal rootdir/etc/apt/sources.list.d/debian-ports.sources "# Modernized from ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list Types: deb URIs: http://deb.debian.org/debian-ports/ Suites: unstable Components: main Signed-By: ${TMPWORKINGDIRECTORY}/rootdir/usr/share/keyrings/debian-ports-archive-keyring.gpg" testfileequal rootdir/etc/apt/sources.list.d/rocks.sources "Types: deb URIs: http://example.org/debian/ Suites: stable Components: rocks Signed-By: ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/trusted.gpg.d/rocks.gpg" testfileequal rootdir/etc/apt/sources.list.d/moved-from-main.sources "# Modernized from ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list Types: deb URIs: http://example.org/debian/ Suites: stable Components: bananas Signed-By: # Modernized from ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list Types: deb URIs: http://example.org/debian/ Suites: trusted Components: bananas Signed-By: Trusted: yes" testsuccessequal "All sources are modern." apt modernize-sources