Mike Hearn mike at plan99.net
Thu Oct 20 11:22:52 CDT 2005


Hi,

One issue that Linux software developers face is where to install their
software to when the user does not have a distro-specific package
available - right now /usr is the only choice that makes sense as anywhere
else will lead to missing integration for menu entries, file associations
and so on.

I compiled a list of things that were not configured right on my system
and cross-checked it against a recent Ubuntu install, apologies if it's a
bit inaccurate or out of date:

 * /etc/ld.so.conf doesn't include /usr/local/lib
 * /etc/xdg/menus/applications.menu doesn't merge
   /usr/local/share/applications
 * $XDG_DATA_DIRS doesn't include /usr/local/share
 * $BONOBO_ACTIVATION_PATH doesn't include /usr/local/lib/bonobo/servers
 * $KDEDIRS doesn't include /usr/local
 * $PKG_CONFIG_PATH doesn't include /usr/lib/pkgconfig
 * DBUS configuration file does not <includedir> /usr/local/etc/dbus-1/system.d
 * fontconfig doesn't have a <dir> element for /usr/local/share/fonts
 * At least sometimes, $PATH doesn't seem to include /usr/local/bin
   either.

I didn't file bugs in bugzilla because it insists on having a package, and
that means a bug for every issue. That doesn't make sense - there are
probably other packages with the same problem I don't know about or
forgot, so it seems better to have /usr/local support as a policy item
that each package maintainer can spend a moment or two considering when
they package a program. If it has a $FOO_DIR environment variable, or a
config file that supports an <include/> tag, possibly it should be patched
to support /usr/local as well as the hard-coded default which is usually
just /usr.

Installing to $HOME/.local is a useful thing too, but some programs
require hard-coded prefixes and don't support tilde or variable expansion.
A magic /home/current path that always points to the $HOME of the user
reading it would be handy to have but I guess that's a kernel issue.

thanks -mike




More information about the ubuntu-devel mailing list