inconsistency in basedir spec install in $datadir, search elsewhere

Patrice Dumas pertusus at free.fr
Wed Aug 28 14:41:58 UTC 2024


On Wed, Aug 28, 2024 at 01:53:06PM +0000, Bollinger, John wrote:
> Hi Pat,
> 
> > I fully agree with that, but my point is that there is an need for
> > an explaination in the specification that ensuring the consistency is
> > outside of the scope of the specification, and maybe hint to some
> > possible way to do it that are in the spirit of the specification
> > in a open way.
> 
> If that is the direction you are proposing, then I think the problem is more that the spec says too much than that it says too little.  Where a program's data files are installed is indeed outside the scope of the spec.  Thus, the provisions you are looking at should not be expressed in terms of where files will be installed, but rather in terms of where the application will look for them.  Basically, the first two bullet points of the three in that section should simply be removed, leaving just:
> 
>       Other specifications may reference this specification by specifying the location of a data file as $XDG_DATA_DIRS/subdir/filename. This implies that lookups of the data file [will] search for ./subdir/filename relative to all base directories specified by $XDG_DATA_HOME and $XDG_DATA_DIRS . If [one of those] environment variable[s] is either not set or empty, its default value as defined by this specification [will] be used instead.

Actually, this is a solution that would perfectly answer my concerns.
If the specification does not say anything about the installation of
files, it would remove the 'observable' inconsistency and be clearer that
this is about lookup and only about lookup.

The potential inconsistencies between installation and lookup would
still exist, of course, but these are not immediatly an issue for the
specification, to me they are an issue for the clarity of the
specification, and can be solved differently in different contexts.

-- 
Pat


More information about the xdg mailing list