Default paths in Base Directory Specification

Julio M. Merino Vidal jmmv84 at
Tue Sep 14 12:08:23 EEST 2004

On Tue, 14 Sep 2004 08:17:57 +0100, Mark McLoughlin <markmc at> wrote:
> On Mon, 2004-09-13 at 15:05, Julio M. Merino Vidal wrote:
> > Should better say:
> >
> >     "If $XDG_DATA_DIRS is either not set or empty, a value equal to
> >      @PREFIX@/share:/usr/local/share/:/usr/share/ should be used.
>         Wholeheartedly agree:
>         I fear this will end up as a FAQ ...

Oh, I see.  I'd have thought this was already discussed.  Thanks for the link.
And yes, it may well be a FAQ.

Anyway, from what I've read in the previous discussion (which happened in
May this year), there are several points of view:

- Let it as it is now, because if you are installing in a non-standard
prefix you
  _must_ set the variables in order to get a working desktop.  If you
don't, you'll
  get some apps working and other breaking.

  First question that raises here.  What are "standard" prefixes? 
/usr and /usr/local?
  Why?  These _benefit_ Linux, and few other systems.  If we follow the rule to
  having to set up those variables, just default to an empty path and
force _every_
  user to set them; no exceptions.  If not, it will result in more bug
reports sent to
  _us_ (NetBSD) for stuff breaking if there is no way to solve the
problem "out of
  the box".  (And bugreports to the wrong place was one of the reasons discussed
  in the previous thread).

- Change gnome-session (or whatever) to set these variables at bootup correctly.
  Humm... well, this solves the problem for people using
gnome-session.  But what
  if they just use some gnome apps, with another window manager?  They will see
  the apps broken, so they'll have to change the environment (a PITA).

- Change what the "standard" says to include $(datadir) at the beginning of the
  _default_ paths (the user can change them at any point).  IMHO, this
is the sanest
  solution, as apps will Just Work (TM).  And if you are doing strange
things in your
  system (i.e., installing some stuff in a prefix and some other in a
different prefix),
  then, and only then, you have to change your environment.

  This is just like pkgconfig.  If everything is in the same prefix,
it will automatically
  find the .pc files.  Instead, if you are using two prefixes, you have to set
  PKG_CONFIG_PATH to point to the two directories.  But the few people that use
  different prefixes will know it.  Others won't have to care at all.

Sorry, but I fail to see the advantages of the current defaults.  I
think I'll just patch
gnome-session to define the required variables at bootup and keep that patch in
pkgsrc, just to remove trouble from, at least, all our GNOME users. 
(This is the
simplest local solution... patching every program is just a
maintenance nighmare).


Julio M. Merino Vidal <jmmv84 at>
The NetBSD Project -

More information about the xdg mailing list