On Saturday 19 October 2013 21:24:16 Mike Alexander wrote: > On Oct 19, 2013, at 3:59 PM, John Ralls <jra...@ceridwen.us> wrote: > > If you mean you did > > > > - echo > > "XDG_DATA_DIRS=$(prefix)/share:{XDG_DATA_DIRS}:/usr/local/share/:/u > > sr/share/" >> $@.tmp; \ + echo > > "XDG_DATA_DIRS=$(prefix)/share:${XDG_DATA_DIRS}:/usr/local/share/:/ > > usr/share/" >> $@.tmp; \ > > > > 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/" >> $@.tmp; \
> > 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 Mike, It seems odd to me that you would need to insert the compile time value of XDG_DATA_DIRS. Is it only set at compile time for you or does your runtime environment have a different value for XDG_DATA_DIRS than your compile time environment ? I also wonder if the change of ";" to ":" alone would not have fixed this issue. This was clearly a bug, which I would expect to only have influence if XDG_DATA_DIRS is actually set in the runtime environment. (I haven't tested any of this, I'm not at my development machine) Geert _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel