Small problem with XDG_DATA_DIRS and XDG_CONFIG_DIRS
behdad at cs.toronto.edu
Thu Jan 26 01:52:31 EET 2006
Some people here may be interested in the GNOME feature request I
filed about this issue:
It's got more details than the original report.
On Fri, 18 Mar 2005, Behdad Esfahbod wrote:
> The current spec by falling back on some const values when the
> XDG_*_DIRS are not set or are empty, prevents one from prepending
> (or appending) directories to them easily. In other words, for
> example, when I want to compile some applications under /opt, I
> would put something like this in my .bashrc:
> export PATH="$PREFIX/bin:$PATH"
> export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH"
> export CPPFLAGS="-I$PREFIX/include $CPPFLAGS"
> export CFLAGS="-I$PREFIX/include $CFLAGS"
> export CXXFLAGS="-I$PREFIX/include $CXXFLAGS"
> export LDFLAGS="-L$PREFIX/lib $LDFLAGS"
> export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
> export MANPATH="$PREFIX/man:$MANPATH"
> export PYTHONPATH="$PREFIX/lib/python:$PREFIX/lib/python2.3/site-packages:$PYTHONPATH"
> export PERL5LIB="$PREFIX/lib/perl5/site_perl:$PERL5LIB"
> export CLASSPATH=".:$PREFIX/lib/java:$CLASSPATH"
> export ACLOCAL_FLAGS="-I $PREFIX/share/aclocal $ACLOCAL_FLAGS"
> export ACLOCAL_AMFLAGS="-I $PREFIX/share/aclocal $ACLOCAL_AMFLAGS"
> But this can't be done with XDG_*_DIRS, since as soon as you set
> it, you are losing the default values. So for a couple months
> I've been doing:
> export XDG_DATA_DIRS="$PREFIX/share:$XDG_DATA_DIRS"
> And wondering why my menus are lost!
> I can think of one solution, but it has its own problem: Treat
> any empty component of the list as the default values. Then
> for example "/opt/share:" means "/opt/share" followed by the
> default list.
> Perhaps not the biggest problem and not the best solution, but
> worth discussion IMHO.
"Commandment Three says Do Not Kill, Amendment Two says Blood Will Spill"
-- Dan Bern, "New American Language"
More information about the xdg