Package: tech-ctte

Background and current status

In 2019 the TC decided[1] that Debian would achieve the largely-agreed
goal of having only one place to put most files, /usr, by using
symlinks to alias from /bin etc. to e.g. /usr/bin.

At the time, concerns were raised that package management systems and
other software would malfunction but the set of malfunctions was not
enumerated; proponents of the aliasing approach characterised them as
FUD.  In the absence of the results of the research work which has now
been done, that characterisation seems to have been implicitly
accepted as true by the then TC.

Thanks to work funded by Freexian we now have a list of many of these
malfunctions[2] (although new ones keep popping up (eg [3]).

The most serious malfunction is the disappearing files bug, which has
prompted a seriously inconvenient file move moratoriam which has now
been in place for many years.  After 4 years, we still don't have a
clear path forward to resolving that and other problems [4].

It should now be clear to most observers that the decision to go down
this path was a mistake.[5]


Fixing the mistake

I think we can probably fix it by backing out this change, and then
doing usrmerge the traditional Debian way by making changes to
debhelper, so that we move the files package by package, in the .debs.

But given the atmosphere, such a proposal would need clear political
backing from the TC.  It wouldn't be worth anyone's time or emotional
energy to attempt to make a concrete and detailed plan if the TC is
not minded to consider it.

So I would like to pose the following questions for the TC:

 * Given the information that the Committee has now, that it didn't
   have in 2019, does the Commitee agree that the decision in 2019
   was questionable ?

 * Is the Committee open to the idea of a plan being developed which
   reverses the mistake, rather than merely "mitigating" the problems ?
   Would such a plan be considered on its merits ?

I appreciate that I'm asking the TC to revisit a previous and
controversial decision.  That this isn't a step we should take
lightly, but I think in this case it's clearly warranted.


Timeline for a fix

Any plan to solve this would probably take a few releases (ie, many
more years) to sort out, sadly.  We would probably need to wait with
shipping packages that move files in a conventional-for-Debian way,
until we have our userbase's systems restored to a non-aliased state.
So I think we would need trixie to undo the aliasing, and in trixie+1
we could move the files.

This delay is unfortunate, but - unlike pressing forward - it has
relatively low levels of risk, most of which is front-loaded.  I think
we can develop tools which will reliably de-alias a system; and, once
users' systems have been de-aliased, the actual file movement is
routine work that Debian knows how to do.

I can see that there could possibly be ways of going straight to the
desired state (un-aliased systems but with nothing much in /), but I
haven't given them much thought them through because they seem risky
to me and involve some grievous hacks.


Protecting my mental health

I will try to avoid regularly reading this thread.  I hope that now
that I have made the suggestion, others will be able to carry the
conversation.  I will be configuring my mail client to disregard my
personal copies of messages sent to this bug; when I want to read
the thread I will look at the mailing list.

Also, if you disagree with my decision to raise this now, please don't
email me.  If you feel I have overstepped a boundary, please contact
the Community Team or DAM.

If the Comittee gives a positive indication, I will be happy to
re-engage at the level of technical work to try to make it happen.


Thanks,
Ian.

[1] https://lists.debian.org/debian-devel-announce/2019/03/msg00001.html
[2] https://subdivi.de/~helmut/dep17.html
[3] https://lists.debian.org/debian-devel/2023/05/msg00311.html
[4] https://lists.debian.org/debian-devel/2023/06/msg00353.html

[5]
  Perhaps merged-usr via directory aliasing worked well in some other
  distros with less sophisticated package management systems.

  But we obtained almost all the practical benefits of abolishing the
  distinction between / and /usr very early, by deciding that the
  initramfs would mount /usr too.  We have inflicted all this pain and
  confusion on ourselves simply to do some tidying up.  The result has
  been the opposite.

  If we had just moved the files rather than trying to rush things
  with the directory alias symlinks, we would have been finished by
  now.

Reply via email to