[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Should non-free and contrib packages install to /opt?



Kristoffer.Rose@ENS-Lyon.FR wrote:
> 
> Buddha Buck asks:
> 
> > Is there any particular reason (besides history and inertia) that
> > non-free and contrip packages aren't installed into /opt?
> 
> Yes: it was discussed long & hard several years back.  The conclusion was
> that the only truly scaleable solution was to use a completely flat
> structure with "everything" in /usr/{bin,man,lib,include,...} and use the
> package system to create package structure.  The only exception is X [1].
> 
> Debian is an open system so everything that is handled by dpkg *is* part of
> (your) debian system.  IMO this is a consequence of our social contract.

I strongly disagree, for this exact reason:
Debian has absolutely no control on what people (non-DD) can put in
their .deb packages. If you permit them to put stuff under /usr (as you
are saying) then you are surely going to have name clashes (at a
minimum), a part the fact that this violates FHS.

As Debian must not put *any* file under /usr/local (as it is loacl
sysadmin domain), then no third party should put things in /, /usr, /var
except the locations listed in FHS (/etc/opt, ...).

Forcing third party to install under /opt will not avoid name clashes
between third parties packages, but will surely avoid clashes with
Debian packages.
The system I proposed (to have postinst install symlinks and/or wrappers
from /opt packages) can permit to circumvent such clashes.


Kristoffer.Rose@ENS-Lyon.FR wrote:
> 
> Fabrizio Polacco writes:
> 
> > We should stop considering that things packaged in .deb are "delivered
> > by Debian". Also other people can (should) start packaging their own
> > stuff in .deb , and providing a clear policy on how to do (installing
> > under /opt) would be a service for the community.
> 
> I disagree: it is an important property of debian that it is an "open"
> system in that "we" have not monopolized /usr.

Then it would be important to say that sysadm are fascists because they
have monopolized /usr/local !
Come on, this is not a fact of "democracy"!
WE have to warrant the integrity of the system over anything else.

> 
> We have the "official" debian tag to emphasize what we endorse, and we have
> tools such as lintian to aid local installations to check whether they
> goofed up...

You fail to notice that third parties are not forced to follow Debian's
Policy, as the KDE double package problem already shown. KDE people
wanted to package it in their own way, even (and knowing it) that it
violated Debian Policy. They also failed to put conflicts with our
official packages, (with headeach of Andreas).
A lot of people installed the official (contrib/non-free) packages, and
later, after upgradeing a new cool package from the KDE site (obviously
uncompatible) they started sending bug reports here and there.
It wasn't Debian fault, but it was perceived by users as dpkg fault.

I also proposed to add the "origin" field (with signature) and to put
into dpkg the possibility to warn or exclude installation of packages
out of a trusted list of "origines".

> 
> > We should start packaging non-free stuff as an example. The ideal would
> > be that people creating non-free programs will package them into /opt by
> > themselves. But I don't hold my breath. I think in some case we have to
> > drop the "official" DD hat and wear the hat of the "third party".
> 
> Please don't restart this -- any administrator knows what a mess it is to
> maintain systems with 10? 50? 1000? packages in /opt with the resulting
> unbounded PATH lengths and messy global setup files.  Then people start
> changing their PATH manually to include the programs their neighbour uses
> and ... before you know it there is no consistency in the user setup and
> you cannot answer questions without knowing the PATH, LIBPATH, INCLUDEPATH
> used for compilations, etc. etc.

I know all of this.
I administer lots of HP-UX here (go figure!) and I am perfectly aware of
the problem.
This is why I proposed a (complex) system of dinamic installation of
symlinks and wrappers in the postinst phase. 

In my opinion a good PATH is
/usr/local/bin:/bin:/usr/bin:/usr/X11/bin:/opt/bin
(note that local stuff overrides vendor's, while third party comes
last); nothing else.

And I agree with you that X-Window should not be /usr/X11 ; it should be
integrated in the operating system, or put in /opt/X11 !

fab
--


Reply to: