summaryrefslogtreecommitdiffstats
path: root/test/integration/test-apt-get-update-sourceslist-warning
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/test-apt-get-update-sourceslist-warning')
-rwxr-xr-xtest/integration/test-apt-get-update-sourceslist-warning86
1 files changed, 86 insertions, 0 deletions
diff --git a/test/integration/test-apt-get-update-sourceslist-warning b/test/integration/test-apt-get-update-sourceslist-warning
new file mode 100755
index 0000000..3a3cb2e
--- /dev/null
+++ b/test/integration/test-apt-get-update-sourceslist-warning
@@ -0,0 +1,86 @@
+#!/bin/sh
+set -e
+
+TESTDIR="$(readlink -f "$(dirname "$0")")"
+. "$TESTDIR/framework"
+
+setupenvironment
+configarchitecture 'amd64'
+setupaptarchive --no-update
+
+testsuccess apt update
+testsuccess apt update --no-download
+
+cat > rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_Release <<EOF
+Origin: Debian
+Label: Debian
+Suite: unreleased
+Codename: bookworm
+Date: Sun, 29 Jan 2023 20:14:10 +0000
+Architectures: amd64
+Components: main contrib non-free non-free-firmware
+Description: Debian x.y Bookworm - Not Released
+EOF
+touch rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_main_binary-amd64_Packages
+touch rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_contrib_binary-amd64_Packages
+touch rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free_binary-amd64_Packages
+touch rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free-firmware_binary-amd64_Packages
+find rootdir/var/lib/apt/lists/ -type f -exec chmod 644 {} \;
+
+NOTESURL='https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.html#non-free-split'
+BOILERPLATE='Reading package lists...
+Building dependency tree...
+All packages are up to date.'
+
+msgmsg 'Do not suggest new non-free-firmware component if no non-free'
+echo 'deb http://example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list
+testsuccessequal "$BOILERPLATE" apt update --no-download
+echo 'deb-src http://example.org/debian bookworm main non-free' > rootdir/etc/apt/sources.list.d/example.list
+testsuccessequal "$BOILERPLATE" apt update --no-download
+
+msgmsg 'Suggest Signed-By for deb822 sources.list(5) entries'
+rm rootdir/etc/apt/sources.list.d/example.list
+echo 'Types: deb
+URIs: http://example.org/debian
+Suites: bookworm
+Components: main
+' > rootdir/etc/apt/sources.list.d/example.sources
+testsuccessequal "$BOILERPLATE
+N: Missing Signed-By in the sources.list(5) entry for 'http://example.org/debian'" apt update --no-download
+rm rootdir/etc/apt/sources.list.d/example.sources
+
+msgmsg 'Is non-free-firmware missing?'
+echo 'deb http://example.org/debian bookworm main non-free' > rootdir/etc/apt/sources.list.d/example.list
+cat >> rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free_binary-amd64_Packages <<EOF
+Package: firmware-linux-nonfree
+Architecture: all
+Version: 1
+EOF
+testsuccessequal "$BOILERPLATE" apt update --no-download
+echo -n > rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free_binary-amd64_Packages
+testsuccessequal "$BOILERPLATE
+N: Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware'
+N: More information about this can be found online in the Release notes at: $NOTESURL" apt update --no-download
+
+msgmsg 'Component already present'
+echo 'deb http://example.org/debian bookworm non-free non-free-firmware' > rootdir/etc/apt/sources.list.d/example.list
+testsuccessequal "$BOILERPLATE" apt update --no-download
+echo 'deb http://example.org/debian bookworm non-free
+deb http://example.org/debian bookworm non-free-firmware' > rootdir/etc/apt/sources.list.d/example.list
+testsuccessequal "$BOILERPLATE" apt update --no-download
+
+msgmsg 'Detect login info embedded in sources.list'
+echo 'deb http://apt:debian@example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list
+testsuccessequal "$BOILERPLATE
+N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'http://example.org/debian'" apt update --no-download
+echo 'deb tor+https://apt:debian@example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list
+testsuccessequal "$BOILERPLATE
+N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'tor+https://example.org/debian'" apt update --no-download
+
+msgmsg 'Firmware packages without upgrades'
+echo 'deb http://example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list
+insertinstalledpackage 'firmware-linux-nonfree' 'all' '1'
+testsuccessequal "$BOILERPLATE
+N: Repository 'Debian bookworm' changed its 'firmware component' value from 'non-free' to 'non-free-firmware'
+N: More information about this can be found online in the Release notes at: $NOTESURL" apt update --no-download
+