On Tue, Aug 06, 2024 at 03:16:49PM +0100, Luca Boccassi wrote:
> On Tue, 6 Aug 2024 at 15:00, Wouter Verhelst <wou...@debian.org> wrote:
> > The question is:
> >
> >   what is, exactly, the problem that the os-release specification is
> >   supposed to solve? And how does unstable and testing being
> >   undistinguishable from each other not solve that problem?
> >
> > I have not seen an answer to that question, and it is, I think the
> > central question that we need to see answered. Because that would show
> > what the *benefit* of the os-release specification is, and that would
> > allow the ctte to do a proper cost-benefit analysis of the proposed
> > solutions.
> >
> > While I don't think this is the case, it is of course not entirely
> > impossible that I have missed or overlooked the reply to the question I
> > state above, in which case I apologise and would kindly ask that you
> > point to it.
> 
> Yes, I'm afraid you did miss it, as it has been answered multiple
> times. Please re-read replies from myself, Gioele and Marc.

- Gioele's message is about reimplementing lsb_release in terms of
  os-release. As it wants to do largely the same thing as os-release, it
  stands to reason that it would have the same problems, but that does
  not actually answer the question as to what the problem is you're
  trying to solve. Surely the reason that os-release exists is not "so
  we have a way to implement the lsb_release script". In fact, if that
  were the only reason, then we could do away with os-release entirely,
  implement lsb_release for Debian in terms of parsing apt
  configuration, and we wouldn't even be having this discussion.
- Marc's answer is an example involving managing the life cycle, using
  ansible, of various hosts. While that is indeed a real-life example
  where something like os-release could be useful, it is not an answer
  to the question of what it is, exactly, that os-release is trying to
  do. You do not answer a question "what is the problem that X is trying
  to solve" by way of "here is one example of things that are easier",
  because it is always possible to give a counter-example of things that
  would decidedly *not* be easier -- such as managing quality in Debian
  in light of packages that change their behavior if they detect that
  they're on a different distribution.
- You gave multiple instances of "people want to do this" without going
  into detail as to why.

This question matters, because understanding the need is the first step
in understanding why the current situation is suboptimal.

>From my point of view, the need has always been the ability to identify,
with limited detail, what a particular installation contains. I say
"with limited detail", because it can never be complete by way of a
single file; there will always be more details that such a file format
cannot express. But this is sufficient for things like labelling other
installations on the same hardware in a boot menu, remembering what you
were trying to do with that image on the disk somewhere, or various
other cases where a hint as to what an image is could help.

It can never be more than a hint, however; there is always more detail
to be found. For instance, in the case of Debian stable, os-release does
not tell you when the installation was last updated, what the exact way
was in which the installation was created, or which set of third-party
sources was added to the system to install packages from.

I'm sure there are people who want to know this type of information
beyond what Debian is currently willing to provide, and of course they
are then required to add random hacks to their scripts to improve the
situation. Similarly, I'm sure there may also be people who would need
to know more than which suite a package was built from -- I regularly
check dpkg logs to figure out when last an installation was updated, for
instance -- and so if I want to do that automatically, then I will also
have to hack my code to improve upon that. There is really no difference
here.

The fact that Debian has two in-development suites is actually an
implementation detail of Debian, and to decide that *this* one
implementation detail of a particular installation is important enough
to be reflected in a file, but all these other implementation details of
what the image was built from are not, seems fairly arbitrary from my
point of view.

I'm sure it does not for you, but you have not explained why it is that
it is not arbitrary. Specifically, you have not explained why Debian
should *care*.

We provide an os-release file. It provides information about the
installation. The information may be wrong according to the spec, but
I don't think that's a spec that Debian has agreed in any form or shape
to implement.

If you want that to change, you should explain why it should change in
more detail than "this is what the spec says".

-- 
     w@uter.{be,co.za}
wouter@{grep.be,fosdem.org,debian.org}

I will have a Tin-Actinium-Potassium mixture, thanks.

Reply via email to