Hi all,
I'd like to give a gentle poke to this list about https://salsa.debian.org/installer-team/apt-setup/-/merge_requests/17
For some context, it's used by the Scibian derivative, which has its
own APT repositories, some of which require extra options in the
sources.list lines. For now we work with a patched apt-setup, but it
would be cleaner for us if the patch was merged "upstream". Is there a
chance that this patch could be reviewed and merged before trixie? The discussion seems to have settled down to whether to allow specifying
an arbitrary option string but be restricted to the sources.list
format (current approach) or to implement a debconf option for every
possible apt source option, and implement that both for sources.list
and deb822 formats.
Please advise :-)
Roland.
I'd like to give a gentle poke to this list about https://salsa.debian.org/installer-team/apt-setup/-/merge_requests/17
For some context, it's used by the Scibian derivative, which has its
own APT repositories, some of which require extra options in the
sources.list lines. For now we work with a patched apt-setup, but
it would be cleaner for us if the patch was merged "upstream". Is
there a chance that this patch could be reviewed and merged before
trixie?
The discussion seems to have settled down to whether to allow
specifying an arbitrary option string but be restricted to the
sources.list format (current approach) or to implement a debconf
option for every possible apt source option, and implement that both
for sources.list and deb822 formats.
To conclude, crazy idea: what if we did nothing in a rush on the d-i
side right now, and only attempted `apt modernize-sources` after writing
the traditional sources.list? This would be assuming that:
- It can run noninteractively and can be trusted to handle all the
flexibility generators/60local provides.
- Its behaviour regarding error reporting is sane enough that we can do
something like “please modernize, but if that fails, remove any
possibly generated files, and let's keep the sources.list instead”.
(I'm mentioning this because at least in the past, things like
`apt-get update` could exit with some error codes that might be
surprising, depending on the kind of network errors, on the contents
of /var/lib/apt/lists, etc. I'm not complaining, just making a mental
note that sometimes success isn't binary.)
This would still leave a slight discrepancy since debootstrap currently writes a sources.list (#1093762), but that part seems easier to tackle, without having to rewrite the core logic of apt-setup. That would look
doable (if we wanted to do that) during the freeze, or at the beginning
of the release cycle and backported through a point release. I'm not
saying the stable release team would be happy to let that kind of
changes through, but I think we've seen bigger changes in stable over
the last few years.
The problem is that apt-setup is currently working on a single
sources.list file, and having the 60local generator work on a different
one would likely mean reworking the debconf automaton quick a bunch. It
could also break the CI (mostly run/monitored by the other Roland and by Phil, hence the explicit cc).
Cyril Brulebois <kibi@debian.org> writes:
The problem is that apt-setup is currently working on a single
sources.list file, and having the 60local generator work on a different
one would likely mean reworking the debconf automaton quick a bunch. It could also break the CI (mostly run/monitored by the other Roland and by Phil, hence the explicit cc).
It seems to me that we need a new debconf setting, so that code to
migrate towards deb822 usage can be added without immediately breaking things.
We could have e.g. `apt-setup/use-deb822-format` that might take values
like:
`no`:
everything should be in sources.list format.
Is that what we currently have, or are we already in a mixed state,
with some things generating deb822 already?
'update':
use apt-get update to convert .list files
Yes, changing that in the short term seem quite unwise, so I guess a >rewritten deb822 version of apt-setup, post-release, is what we'll need.
Philip Hands <phil@hands.com> (2025-05-15):
Cyril Brulebois <kibi@debian.org> writes:
The problem is that apt-setup is currently working on a single
sources.list file, and having the 60local generator work on a different
one would likely mean reworking the debconf automaton quick a bunch. It
could also break the CI (mostly run/monitored by the other Roland and by >> > Phil, hence the explicit cc).
It seems to me that we need a new debconf setting, so that code to
migrate towards deb822 usage can be added without immediately breaking
things.
We could have e.g. `apt-setup/use-deb822-format` that might take values
like:
`no`:
everything should be in sources.list format.
Is that what we currently have, or are we already in a mixed state,
with some things generating deb822 already?
[ and yes-maybe, and yes ]
What I was trying to convey above is that absolutely everything is sources.list-centric, not just the format, but also that one particular
file.
The core of the debconf state machine (what I called automaton) is about writing a temporary file, passing it to apt-setup-verify after the
'update':
use apt-get update to convert .list files
Assuming we're talking about `apt modernize-sources` here, that's the
only part that would seem easy to experiment with: we would only need
to control whether to post-process the generated sources.list file,
without starting with a big logic rewrite.
On Thu, May 15, 2025 at 12:36:02PM +0200, Philip Hands wrote:
Yes, changing that in the short term seem quite unwise, so I guess a rewritten deb822 version of apt-setup, post-release, is what we'll need.
Has anybody talked to the apt maintainers whether they would be willing to disable the deprecation warnings for the release, allowing one (more?) cycle where the two formats are equal citizens? The deprecation warnings we had in the last months has stirred us up, the installer is moving now, and the
other packages as well¹, so the focus could be shifted to a smooth release now and going back to the nag warnings after the release?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 483 |
Nodes: | 16 (2 / 14) |
Uptime: | 236:18:41 |
Calls: | 9,612 |
Files: | 13,686 |
Messages: | 6,155,691 |