Bug#992712: apt-secure does not document how to accept new release info

2021-08-26 Thread David Kalnischkies
Control: forcemerge 879786 -1

On Sun, Aug 22, 2021 at 12:05:07PM -0400, Joey Hess wrote:
> This could be fixed by making the apt-secure man page include,
> in its "INFORMATION CHANGES" section, a mention of 
> apt-get update --allow-releaseinfo-change and/or of apt's ability to
> prompt the user in this situation.

The problem here is that apt-secure is – as it says early on – not about
apt{,-get}, but about the whole family. The message pointing to it is
equally printed for the whole family. Neither the message nor the
manpage can really say: Append this commandline flag and be done.
No such thing exists for e.g. GUIs like synaptics after all and it isn't
even yet implemented in aptitude.

And we can't really track the state of implementation in front ends
either to update each of their supposed sections with how to check some
checkboxes vs. click some buttons vs. type 'j' on the prompt vs. add
a commandline flag vs. … its sort of the job of the front ends to do
that and the apt-get manpage describes how.

We can't even really mention the config options here like in some other
cases as in this instance they can be completely overridden by the front
end. Only the default implementation actually reacts to the defaults.


Lastly, I actually envisioned that such changes would be accompanied
with release notes – the code is there to show an URI for more
information on the change, which could theoretically also describe how
to react to all this with the preferred package manager of the involved
distro/repo/whatever – but oh well, nobody ever wrote them or has set
the Release file flag for it…


I guess we could fiddle with the implementation (aka dirty hack) in the
apt and especially apt-get front end to show an apt specific message
about how you can add a command line flag. It feels like admitting
defeat, but I guess I will have to bite this bullet at some point
(again).


Note through that the N: message pointing to the manpage and any message
we could add are only shown if apt-get is connected to a terminal – aka
in interactive use. In that case you could just save at least four
keystrokes and have apt ask you interactively. ;)


Best regards

David Kalnischkies


signature.asc
Description: PGP signature


Bug#992712: apt-secure does not document how to accept new release info

2021-08-22 Thread Joey Hess
Package: apt
Version: 2.2.4
Severity: normal

E: Repository 'http://ftp.us.debian.org/debian stable InRelease' changed its 
'Codename' value from 'buster' to 'bullseye'
N: This must be accepted explicitly before updates for this repository can be 
applied. See apt-secure(8) manpage for details.

The apt-secure man page is a detailed explanation of how apt security
works, but it does not tell the user what to do when they want to accept
the change of a release's codename. 

So the probably somewhat large numbers of users who will see this
message will be left puzzling over 1300 words of documentation that is
not useful for what they probably want to do.

This could be fixed by making the apt-secure man page include,
in its "INFORMATION CHANGES" section, a mention of 
apt-get update --allow-releaseinfo-change and/or of apt's ability to
prompt the user in this situation.

-- Package-specific info:

-- apt-config dump --

APT "";
APT::Architecture "amd64";
APT::Build-Essential "";
APT::Build-Essential:: "build-essential";
APT::Install-Recommends "1";
APT::Install-Suggests "0";
APT::Sandbox "";
APT::Sandbox::User "_apt";
APT::Authentication "";
APT::Authentication::TrustCDROM "true";
APT::NeverAutoRemove "";
APT::NeverAutoRemove:: "^firmware-linux.*";
APT::NeverAutoRemove:: "^linux-firmware$";
APT::NeverAutoRemove:: "^linux-image-[a-z0-9]*$";
APT::NeverAutoRemove:: "^linux-image-[a-z0-9]*-[a-z0-9]*$";
APT::VersionedKernelPackages "";
APT::VersionedKernelPackages:: "linux-.*";
APT::VersionedKernelPackages:: "kfreebsd-.*";
APT::VersionedKernelPackages:: "gnumach-.*";
APT::VersionedKernelPackages:: ".*-modules";
APT::VersionedKernelPackages:: ".*-kernel";
APT::Never-MarkAuto-Sections "";
APT::Never-MarkAuto-Sections:: "metapackages";
APT::Never-MarkAuto-Sections:: "contrib/metapackages";
APT::Never-MarkAuto-Sections:: "non-free/metapackages";
APT::Never-MarkAuto-Sections:: "restricted/metapackages";
APT::Never-MarkAuto-Sections:: "universe/metapackages";
APT::Never-MarkAuto-Sections:: "multiverse/metapackages";
APT::Move-Autobit-Sections "";
APT::Move-Autobit-Sections:: "oldlibs";
APT::Move-Autobit-Sections:: "contrib/oldlibs";
APT::Move-Autobit-Sections:: "non-free/oldlibs";
APT::Move-Autobit-Sections:: "restricted/oldlibs";
APT::Move-Autobit-Sections:: "universe/oldlibs";
APT::Move-Autobit-Sections:: "multiverse/oldlibs";
APT::LastInstalledKernel "5.10.0-7-amd64";
APT::Update "";
APT::Update::Post-Invoke-Success "";
APT::Update::Post-Invoke-Success:: "/usr/bin/test -e 
/usr/share/dbus-1/system-services/org.freedesktop.PackageKit.service && 
/usr/bin/test -S /var/run/dbus/system_bus_socket && /usr/bin/gdbus call 
--system --dest org.freedesktop.PackageKit --object-path 
/org/freedesktop/PackageKit --timeout 4 --method 
org.freedesktop.PackageKit.StateHasChanged cache-update > /dev/null; /bin/echo 
> /dev/null";
APT::Architectures "";
APT::Architectures:: "amd64";
APT::Architectures:: "i386";
APT::Compressor "";
APT::Compressor::. "";
APT::Compressor::.::Name ".";
APT::Compressor::.::Extension "";
APT::Compressor::.::Binary "";
APT::Compressor::.::Cost "0";
APT::Compressor::zstd "";
APT::Compressor::zstd::Name "zstd";
APT::Compressor::zstd::Extension ".zst";
APT::Compressor::zstd::Binary "false";
APT::Compressor::zstd::Cost "60";
APT::Compressor::lz4 "";
APT::Compressor::lz4::Name "lz4";
APT::Compressor::lz4::Extension ".lz4";
APT::Compressor::lz4::Binary "false";
APT::Compressor::lz4::Cost "50";
APT::Compressor::gzip "";
APT::Compressor::gzip::Name "gzip";
APT::Compressor::gzip::Extension ".gz";
APT::Compressor::gzip::Binary "gzip";
APT::Compressor::gzip::Cost "100";
APT::Compressor::gzip::CompressArg "";
APT::Compressor::gzip::CompressArg:: "-6n";
APT::Compressor::gzip::UncompressArg "";
APT::Compressor::gzip::UncompressArg:: "-d";
APT::Compressor::xz "";
APT::Compressor::xz::Name "xz";
APT::Compressor::xz::Extension ".xz";
APT::Compressor::xz::Binary "xz";
APT::Compressor::xz::Cost "200";
APT::Compressor::xz::CompressArg "";
APT::Compressor::xz::CompressArg:: "-6";
APT::Compressor::xz::UncompressArg "";
APT::Compressor::xz::UncompressArg:: "-d";
APT::Compressor::bzip2 "";
APT::Compressor::bzip2::Name "bzip2";
APT::Compressor::bzip2::Extension ".bz2";
APT::Compressor::bzip2::Binary "bzip2";
APT::Compressor::bzip2::Cost "300";
APT::Compressor::bzip2::CompressArg "";
APT::Compressor::bzip2::CompressArg:: "-6";
APT::Compressor::bzip2::UncompressArg "";
APT::Compressor::bzip2::UncompressArg:: "-d";
APT::Compressor::lzma "";
APT::Compressor::lzma::Name "lzma";
APT::Compressor::lzma::Extension ".lzma";
APT::Compressor::lzma::Binary "xz";
APT::Compressor::lzma::Cost "400";
APT::Compressor::lzma::CompressArg "";
APT::Compressor::lzma::CompressArg:: "--format=lzma";
APT::Compressor::lzma::CompressArg:: "-6";
APT::Compressor::lzma::UncompressArg "";
APT::Compressor::lzma::UncompressArg:: "--format=lzma";
APT::Compressor::lzma::UncompressArg:: "-d";
Dir "/";
Dir::State "var/lib/apt";
Dir::State::lists "lists/";
Dir::State: