On Oct 19, 2013, at 3:59 PM, John Ralls <[email protected]> wrote:

> If you mean you did
> 
> -     echo 
> "XDG_DATA_DIRS=$(prefix)/share:{XDG_DATA_DIRS}:/usr/local/share/:/usr/share/" 
> >> [email protected]; \
> +     echo 
> "XDG_DATA_DIRS=$(prefix)/share:${XDG_DATA_DIRS}:/usr/local/share/:/usr/share/"
>  >> [email protected]; \ 
> 
> then I think that's right and what Geert meant to do in the first place.

Not quite.  I changed it so it takes either the run time or compile time value, 
preferring the run time value:

+       echo 
"XDG_DATA_DIRS=$(prefix)/share:{XDG_DATA_DIRS}:$(XDG_DATA_DIRS):/usr/local/share/:/usr/share/"
 >> [email protected]; \

> Environment.in is munged, then parsed in gnucash-bin.c. I don't think that 
> the separators are passed as-is to the OS.

Right.  Actually it uses the GLib key-value file parser to parse the file and 
this requires semicolon delimiters between values.  I changed the value for 
XDG_DATA_DIRS to use ";" instead of ":".  I also changed environment_override 
in gnucash-bin.c to skip null values in path lists so a missing XDG_DATA_DIRS 
won't clutter up the list.

I'll check these changes in later when I'm sure they work.

              Mike
 
_______________________________________________
gnucash-devel mailing list
[email protected]
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to