Russ Allbery wrote:
> This is more of a high-level design intuition that stems from some basic
> architectural principles, such as "dpkg should be the authority for what
> Debian installs on the file system so that it can ensure global
> consistency."
> 
> But to give you a concrete answer, here are the sorts of things that come
> to mind even after this transition is complete in Debian:
> 
> * Old packages that still use aliased paths installed on current systems.
> * Locally-built packages with /bin paths in data.tar.gz.
> * Weird local symlinks to move files around in the file system.
> * Some unforseen future transition where we want to merge two directories.

Indeed. In the history of Debian, we've had
- The /usr/doc -> /usr/share/doc transition
- The /usr merge
- Various package-specific transitions from an old directory to a new,
  where it'd be convenient for the package to install a transitional
  symlink rather than support both paths internally
- Local sysadmins who might want to move something to a different
  directory (whether for space constraints or local package
  organization) and have dpkg actually understand what they're doing
- In the future, I wouldn't be surprised if someone *attempts* to merge
  /usr/sbin -> /usr/bin one day.

It'd be incredible if those were as simple as building and installing a
package that installs a symlink in its data.tar where other packages
install a directory. (And possibly including some metadata that says
"yes, I really do mean to install a symlink redirect for a directory,
this isn't just a file conflict mistake".)

> I think we have an entire project full of people with expert skills,
> including some truly impressive C programmers, and I find our inability to
> muster those resources to improve *the* foundational program on which the
> work of the entire distribution rests on, in a way that meets a very high
> quality bar and is sustainable for the project, to be disappointing.  I'm
> not assigning blame; I'm simply saying that it makes me sad that the
> assumption is that only Guillem alone is able to work on this project and
> therefore its success is constrained by his available time.

I agree with you that this is disappointing.

> I have some concerns that Guillem is trying to boil the ocean and he's
> missing some viable incremental approach, but this is only a vague concern
> and I absolutely do not have the expertise in dpkg to argue that case.
> Clearly Guillem has convinced himself that it is the correct approach and
> he is an expert in this area, so he is probably correct and I am probably
> wrong.

I think this paragraph very much captures why a project with many expert
developers in a variety of different areas believes (whether correctly
or incorrectly) that their help would not be welcomed. (And to be clear,
I really do mean "correctly or incorrectly" here; please don't take this
as presupposing the answer to that question.)

dpkg is trying to solve an *incredibly* complex problem, with very
demanding constraints, and decades of historical expectations and
compatibility requirements, in addition to added constraints from
possible maintainer preferences and tastes. And as a project, we have
not solved the problem of either documenting or simplifying enough of
those to the point of inviting contribution.

Reply via email to