basedir-spec issue

Laszlo Peter Laszlo.Peter at Sun.COM
Mon May 10 15:21:38 EEST 2004

On Sat, 2004-05-08 at 00:49, Thomas Leonard wrote:
> On Fri, May 07, 2004 at 11:39:16PM +1200, Laszlo Peter wrote:
> > On Fri, 2004-05-07 at 21:45, Thomas Leonard wrote:
> [...]
> > > No, that's the intended behaviour. If you install shared files to a
> > > non-standard location then you MUST set XDG_DATA_DIRS so that other
> > > programs can find them.
> > 
> > I see the point in standardising the shared data dirs, but if I
> > build an entire desktop stack in a non-standard prefix, I expect
> > it to Just Work [tm].
> Well, it should, by automatically setting XDG_DATA_DIRS when you log in.
> This is what ROX does. On login, we set XDG_DATA_DIRS to:
> /usr/local/share/:/usr/share/:/uri/0install/
> Then, any program running (GNOME, ROX, whatever) sees the same MIME
> database, and all get consistent types.

Yes, you can do that, but, it means you need to make sure all
supported display managers are configured this way (and users know
they have to set this if they happen to use .Xinitrc).

> > I realise I will need to set XDG_DATA_DIRS if I want to share the data
> > with other desktops/3rd party programs.
> Iteroperability means we have to set things up so ALL programs work by
> default, not "GNOME programs work by default, others with a bit of
> fiddling".

Doesn't having to set XDG_DATA_DIRS to get _anything_ working
count as "fiddling"? :O

> > > You don't want your filemanager finding the MIME database, and your email
> > > client not being able to find it (or finding a different version), do you?
> > > Think of all the confusion that would cause.
> > 
> > Actually, that's exactly what I'm trying to avoid. Let's say I
> > have 2 different versions of GNOME installed in /opt:
> > /opt/gnome-2.x and /opt/gnome-2.y. There's no correct setting
> > of XDG_DATA_DIRS that would make each build find it's own version
> > of the data files.
> Can you give an example of when you want this?

I can't give you a concrete example, but think about this:
ideally, all the versions of all the programs you install
should follow standards and should be bugfree. But that's
not the case. You only test a certain set of apps working
together. You don't test what happens if your gnome-2.x
build uses data files from your gnome-2.y build. There
could have been bugs in the build, or the spec could have
changed since. New tags added to some config files in the
newer version that the old code can't handle and just crash.
Still, if the user wants to use an old app he should be
able to create a launcher or click on it in the file manager
and not open a terminal, change XDG_DATA_DIRS and start the


More information about the xdg mailing list