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

Re: GNOME universe



Jonathan Walther <krooger@debian.org> writes:
> 
> Yes, /opt/gnome is the obvious solution.  

gawd no. Putting aside the issue of /opt being for third parties and not the
vendor, I want to stop anyone from even thinking along these lines. /usr/gnome
or /usr/packages/gnome or whatever else you think of is equally bad. It looks
more aesthetically please, I know, I once liked the idea myself, but it's only
superficial and it's only to compensate for weaknesses in a package manager
(and filesystem). 

The only files that should go under a subdirectory are files that are only
used internally, anything intended to be used by the user should be in
standard locations like /usr/lib /usr/bin etc.

Have you ever actually tried to use an OS with lots of packages in /opt?
off the top of my head:

PATH=/opt/foo/bin:/opt/bar/bin:/opt/baz/bin/.........
CLASSPATH=/opt/foo/classes:/opt/bar/classes:/opt/baz/classes......
LD_LIBRARY_PATH=/opt/foo/lib:/opt/bar/lib:/opt/baz/lib......
MANPATH=/opt/foo/man:/opt/bar:/man:/opt/baz/man/....
gcc -L /opt/foo/lib -I /opt/foo/include -L /opt/bar/lib -I /opt/bar/include -L /opt/baz/lib -I /opt/baz include ...

Even though the packages are installed they aren't really usable unless every
user goes around editting a dozen environment variables. That's worthless. 

And why on earth should /opt be in the root directory anyways? Why should we
pollute the minimal base bootable system with something that clearly doesn't
belong there. If you really need to distinguish third party packages from
local installations (and I fail to see the distinction unless they use debian
packages) then it really ought to be /usr/opt and /var/opt.

The right thing would have been:

/usr/opt/bin/<binaries>
/usr/opt/lib/<libraries>
/usr/opt/lib/<packagename>/architecture dependent data files
/usr/opt/share/<packagename>/shareable data files

Then users would have only yet _one_ more diretcory to add to each of their
variables. 

Having separate hierarchieries for each package is helpful in exactly one
area: deinstalling a package. But if you have a decent package manager this is
irrelevant. (Debian's has some failings in this area actually.) And it makes
life a pain in so many ways for users who actually have to use the system
while it's installed.

greg


Reply to: