summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJulian Andres Klode <jak@debian.org>2023-02-27 09:21:24 +0000
committerJulian Andres Klode <jak@debian.org>2023-02-27 09:21:24 +0000
commitf98732f703601a8db67527b1b82f3296290f2dc1 (patch)
treeb0ec8e8069f96df4cb6f45dbff18a8dda07c0169 /test
parentf27de33f139c99b78f89afe5fa9f45540e0154b2 (diff)
parent9712edf6151308148518058bfbd5ccd937509143 (diff)
Merge branch 'feature/non-free-firmware' into 'main'
Support transition to new non-free-firmware component See merge request apt-team/apt!282
Diffstat (limited to 'test')
-rwxr-xr-xtest/integration/test-apt-get-update-sourceslist-warning71
-rwxr-xr-xtest/integration/test-apt-move-and-forget-manual-sections45
-rwxr-xr-xtest/integration/test-apt-never-markauto-sections3
3 files changed, 96 insertions, 23 deletions
diff --git a/test/integration/test-apt-get-update-sourceslist-warning b/test/integration/test-apt-get-update-sourceslist-warning
index a99356b8b..60c8d7308 100755
--- a/test/integration/test-apt-get-update-sourceslist-warning
+++ b/test/integration/test-apt-get-update-sourceslist-warning
@@ -11,35 +11,64 @@ setupaptarchive --no-update
testsuccess apt update
testsuccess apt update --no-download
-echo 'deb ftp://ftp.tlh.debian.org/debian zurg main' > rootdir/etc/apt/sources.list.d/ftpshutdown.list
-cat > rootdir/var/lib/apt/lists/ftp.tlh.debian.org_debian_dists_zurg_Release <<EOF
+cat > rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_Release <<EOF
Origin: Debian
Label: Debian
Suite: unreleased
-Codename: zurg
-Date: Fri, 14 Jul 2017 11:34:35 +0000
+Codename: bookworm
+Date: Sun, 29 Jan 2023 20:14:10 +0000
Architectures: amd64
-Components: main
-Description: Debian x.y Zurg - Not Released
+Components: main contrib non-free non-free-firmware
+Description: Debian x.y Bookworm - Not Released
EOF
-chmod 644 rootdir/var/lib/apt/lists/ftp.tlh.debian.org_debian_dists_zurg_Release
+chmod 644 rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_Release
+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
-testwarningequal "Reading package lists...
+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.
-W: Debian shuts down public FTP services currently still used in your sources.list(5) as 'ftp://ftp.tlh.debian.org/debian/'.
- See press release https://debian.org/News/2017/20170425 for details." apt update --no-download
+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
-echo 'deb http://apt:debian@ftp.tlh.debian.org/debian zurg main' > rootdir/etc/apt/sources.list.d/ftpshutdown.list
-testsuccessequal "Reading package lists...
-Building dependency tree...
-All packages are up to date.
-N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'http://ftp.tlh.debian.org/debian'" apt update --no-download
+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
-echo 'deb tor+https://apt:debian@ftp.tlh.debian.org/debian zurg main' > rootdir/etc/apt/sources.list.d/ftpshutdown.list
-testsuccessequal "Reading package lists...
-Building dependency tree...
-All packages are up to date.
-N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'tor+https://ftp.tlh.debian.org/debian'" 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
diff --git a/test/integration/test-apt-move-and-forget-manual-sections b/test/integration/test-apt-move-and-forget-manual-sections
index 4617abab3..ab90be0c0 100755
--- a/test/integration/test-apt-move-and-forget-manual-sections
+++ b/test/integration/test-apt-move-and-forget-manual-sections
@@ -11,15 +11,18 @@ testsuccess grep '^oldlibs$' move-autobit.sections
buildsimplenativepackage 'libabc' 'native' '1' 'stable' '' '' 'libs'
buildsimplenativepackage 'libabc' 'native' '2' 'unstable' 'Depends: libdef' '' 'oldlibs'
+buildsimplenativepackage 'libzoo' 'native' '1' 'stable' '' '' 'libs'
+buildsimplenativepackage 'libzoo' 'native' '2' 'unstable' 'Depends: libdef' '' 'non-free/oldlibs'
buildsimplenativepackage 'libdef' 'native' '1' 'unstable' '' '' 'libs'
setupaptarchive
testmarkedauto
testmarkedmanual
+msgmsg 'Move bit on install of replacement'
testsuccess aptget install libabc/stable -y
testdpkginstalled 'libabc'
-testdpkgnotinstalled 'libdef'
+testdpkgnotinstalled 'libdef' 'libzoo'
testmarkedmanual 'libabc'
testmarkedauto
@@ -29,3 +32,43 @@ testdpkginstalled 'libabc' 'libdef'
testmarkedauto 'libabc'
testmarkedmanual 'libdef'
+
+testsuccess apt autopurge -y
+testdpkgnotinstalled 'libabc' 'libzoo'
+
+msgmsg 'Do not move bit if replacement is already installed'
+testsuccess aptget install libzoo/stable -y
+testdpkginstalled 'libzoo'
+
+testmarkedmanual 'libzoo' 'libdef'
+testmarkedauto
+
+testsuccess aptmark auto libdef
+testmarkedauto 'libdef'
+
+testsuccess aptget dist-upgrade -y
+testdpkginstalled 'libzoo' 'libdef'
+
+testmarkedmanual 'libzoo'
+testmarkedauto 'libdef'
+
+testsuccess apt autopurge -y libzoo-
+testdpkgnotinstalled 'libabc' 'libzoo' 'libdef'
+
+msgmsg 'Move bit on install of replacement (subsection)'
+testfailure grep '^non-free/oldlibs$' move-autobit.sections
+testsuccess aptget install libzoo/stable -y
+testdpkginstalled 'libzoo'
+testdpkgnotinstalled 'libdef' 'libabc'
+
+testmarkedmanual 'libzoo'
+testmarkedauto
+
+testsuccess aptget dist-upgrade -y
+testdpkginstalled 'libzoo' 'libdef'
+
+testmarkedauto 'libzoo'
+testmarkedmanual 'libdef'
+
+testsuccess apt autopurge -y
+testdpkgnotinstalled 'libabc' 'libzoo'
diff --git a/test/integration/test-apt-never-markauto-sections b/test/integration/test-apt-never-markauto-sections
index a77d6b22b..b47966e75 100755
--- a/test/integration/test-apt-never-markauto-sections
+++ b/test/integration/test-apt-never-markauto-sections
@@ -8,12 +8,13 @@ configarchitecture 'amd64' 'i386'
aptconfig dump --no-empty --format '%v%n' APT::Never-MarkAuto-Sections > nevermarkauto.sections
testsuccess grep '^metapackages$' nevermarkauto.sections
+testfailure grep '^universe/metapackages$' nevermarkauto.sections
buildsimplenativepackage 'mydesktop' 'all' '1' 'unstable' 'Depends: mydesktop-core, foreignpkg
Recommends: notavailable' '' 'metapackages'
buildsimplenativepackage 'mydesktop-core' 'amd64' '1' 'unstable' 'Depends: bad-texteditor | texteditor, browser (>= 42), nosection, foreignpkg
Recommends: notavailable
-Multi-Arch: foreign' '' 'metapackages'
+Multi-Arch: foreign' '' 'universe/metapackages'
buildsimplenativepackage 'browser' 'amd64' '41' 'stable'
buildsimplenativepackage 'browser' 'amd64' '42' 'unstable'
buildsimplenativepackage 'texteditor' 'amd64' '1' 'stable'