Bug#1077764: Ruling request on os-release specification implementation

Luca Boccassi <[email protected]>
Newsgroups gmane.linux.debian.devel.ctte
Message-ID <9572f6dbd25c758d21f67576df81e651b86903e1.camel__36021.7601338931$1722612096$gmane$org@debian.org>
On Fri, 2 Aug 2024 08:22:55 +0200 Helmut Grohne <[email protected]>
wrote:
> Hi Russ,
> 
> Let me adress the essential/bootstrap aspects of this sub-discussion
> only.
> 
> On Thu, Aug 01, 2024 at 08:00:40PM -0700, Russ Allbery wrote:
> > Given that it's included in base-files now and base-files is
essential, I
> > believe it has to continue to be provided by an essential package,
unless
> > we want to try to do the work of figuring out if os-release can be
removed
> > from essential (and I would not be eager to do that).
> 
> I concur.
> 
> > Since it is part of the essential set, though, I'm not sure the
dependency
> > from base-files is actually needed (but also it may not really
matter).  I
> > think dependencies between essential packages are only really used
during
> > the bootstrapping phase, and presumably os-release is not needed by
> > bootstrapping.
> 
> It actually is the other way round. debootstrap-like tools will
> automatically pick up all packages marked with "Essential: yes".
> Bootstrapped systems will not magically install newly essential
packages
> though. So doing an upload of base-files that releases /etc/os-
release
> will not magically cause a newly essential os-release package to be
> installed and thus our essential promise of /etc/os-release may be
> temporarily broken. (There is no implication of how bad breaking this
> promise is.) So whenever we want to add a new package to the
essential
> set, we need some existing essential package to declare a dependency
on
> that new package for the duration of one release cycle (as we do not
> support skip upgrades).
> 
> The obvious candidate to express such a dependency would be base-
files
> here and that brings us back to the aspects you (Russ) mentioned
earlier
> regarding the fragility of the bootstrap order related to base-files.
> Admittedly, bootstrapping is more empirically solved in Debian than
> well-defined. As I attempted clarifying this in Debian policy
earlier,
> the outcome was to explicitly leave it undefined. If I remember
> correctly, randomly ordering the maintainer scripts executed during
> filesystem bootstrap makes things fail every now and then and the
order
> that most tools produce works well enough currently.  Any new
dependency
> inside the essential set poses a risk of perturbing this order that
> happens to work by chance. Hence my request to validate the proposed
> changes.  With luck, things just work, but we better figure out
before
> we upload to unstable.
> 
> This is not pretty, but it is what we have. And then I see this
mostly
> as a work item rather than a blocking issue once we agree on the
other
> matters.

Validating is of course necessary. If the worry is around changing the
dependencies of base-files, I would be happy to carry the dependency on
a new os-release binary package in init-system-helpers, which is
already Essential: yes. I already did something similar in Bookworm to
force all installations to become usrmerged, and I do not recall issues
with the bootstrapping order. This would be even easier in practice as
the new package would have a single file, no maintainer scripts, no
dependencies and no build dependencies. Would that solve your concerns?

-- 
Kind regards,
Luca Boccassi
signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEErCSqx93EIPGOymuRKGv37813JB4FAmas+JcACgkQKGv37813
JB4fQA//R5dzAu7igyEI21yvSGZC7RRwpOiK5iRuc2sfaK9Jy3x5f8T4QTT3bPv1
zzvkRABS6GEfkpN8alX/X8TzVevwpvpU/m5QPaEJl6lCY897ADGULAzCxDpxBs+V
YfcZBOfdsW2O14mAXZQod9OOfTBax9rI0gsO5qcZogXrLb6l6egAkkbzGXr0+t+b
kJ/HnTybEnuN3qq+a32Q31UhGggkla7wjmquYLRx14HeDbLoFgJsU1UeGZw65MtG
Exyknwp6GiyuwKK8iZ4pVfKLYTKLvyyYntVEDG0y06UIBluBqfnJ5zUys11cAsij
KlGWzWtIR0RpIesM2EoTFgQmjJDsl6+RgAhYo6988qSgDClcyalJquPj0mtx3ipJ
WWdIPXBkVEcq9Af8TLsARfUBALX6GgtwJCiuKnGSItjy8ywQDiiNdkgEOfaUV46z
xwkgiPROW3ZvLtopsjdgTxGRoRWufbDF9yCCk2RZypOHiKvwd5bVHleBwEW1bDsY
mQF2B0jM2cvkjZAOU+sRPu0M5+1CqbL/DXQ41UiVJ/x8/eQVG/2HX5OwqZyQCKkB
MFSA6l+Ry+Wp2uMG7Lb84rjnuSbq4jjOq+dTy/re4IV4q5qOJynPjw6m+L/mOEZv
/0ZzZuKU8fMi9JXQ6TBsqzCoBa6NiMuO9C0CeEGavWAr7w91VgA=
=IWtR
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.