diff options
author | David Kalnischkies <david@kalnischkies.de> | 2023-01-29 23:24:43 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2023-02-04 17:56:41 +0100 |
commit | 9712edf6151308148518058bfbd5ccd937509143 (patch) | |
tree | 31ff2a3ef1647191a0b069da8169bab3e9f4a75d /test | |
parent | 7ae8bb8d9942d51bd89fd34af6d2561d7616d393 (diff) |
Suggest using non-free-firmware in update for Debian
In an ideal world everyone would read release notes, but if the last
sources.list change is any indication a lot of people wont. This is
even more a problem in so far as apt isn't producing errors for
invalid repositories, but instead carries on as normal even through it
will not be able to install upgrades for the moved packages.
This commit implements two scenarios and prints a notice in those cases
pointing to the release notes:
a) User has 'non-free' but not 'non-free-firmware'
b) User has a firmware package which isn't available from anywhere
Both only happen if we are talking about a repository which identifies
itself as one of Debian and is for a release codenamed bookworm (or
sid). Note that as (usually) apt/oldstable is used to upgrade to the
new stable release these suggestions only show for users after they
have upgraded to bookworm on apt command line usage after that.
Diffstat (limited to 'test')
-rwxr-xr-x | test/integration/test-apt-get-update-sourceslist-warning | 71 |
1 files changed, 50 insertions, 21 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 |