Menu-spec update (Was: [Patch] Update 'How to' to clarify computation of datadir)

Waldo Bastian bastian at
Tue Mar 21 21:58:32 EET 2006

On Tuesday 21 March 2006 11:07, Jeremy White wrote:
> Waldo Bastian wrote:
> > On Friday 10 March 2006 21:45, Jeremy White wrote:
> >>The attached patch specifies that a system wide
> >>installation should compute datadir by using the
> >>first writable element of $XDG_DATA_DIRS
> >>(or sysconfdir from the first writeable element
> >>of $XDG_CONFIG_DIRS), as previously discussed.
> >>
> >>The spec is clearly lacking, so I request that this
> >>either be applied, or a clear alternate be suggested.
> >
> > I have updated the menu-spec based on your suggestions but without taking
> > either $XDG_DATA_DIRS or $XDG_CONFIG_DIRS into account.
> >
> > See
> >
> > Please let me know if it is acceptable as is to everyone.
> Okay, I confess that I don't get it.
> My reading of the menu-spec is that if I were a system builder,
> I would have the right to place the XDG_DATA_DIRS anywhere
> I wanted, so long as I set the environment variables properly.

Yes, so the systembuilder can install additional groups of applications in 
different locations.

> Now you seem to be saying instead, essentially, that
> XDG_DATA_DIRS doesn't matter, and all that does matter
> is /usr/share and /usr/local/share. 

XDG_DATA_DIRS controls which parts of the system are being taken into account 
at runtime. It can depend from user to user. It was never intended to be used 
at installation time. If it was, a separate env. var. like XDG_DATA_HOME 
would have been used. 

> I'm fairly certain that 
> there are existing distributions (SuSE?) that have their xdg menus over
> in /opt, and use XDG_DATA_DIRS to provide a redirect.

I'm not aware of any distribution not including /usr/share as well.

> But by this change of the spec, you have essentially said
> to me as a system distributor:
>   XDG_DATA_DIRS *must* contain /usr/share or /usr/local/share, as that is
> where all ISVs will write their menus.


> Is that really what you intended or is there something I don't understand?

Yes, that is the intention and has been the intention all along. For example, 
the desktop base directory specification has been saying from the start that 
the default value for datadir during installation is /usr/share.

Linux Client Architect - Channel Platform Solutions Group - Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : 

More information about the xdg mailing list