[Libreoffice] [PUSHED] [PATCH] fdo#32263 - Config file location

Petr Mladek pmladek at suse.cz
Thu Jun 9 05:46:20 PDT 2011


Noel Power píše v St 08. 06. 2011 v 17:36 +0100:
> On 08/06/11 14:19, Noel Power wrote:
> > On 08/06/11 13:55, Takeshi Abe wrote:
> >>
> >> OK, so do you mean libs-core/desktop/source/migration?, which 
> >> functionality
> >> I have not yet recognized clearly.
> >> It would be great if anyone familiar with the code suggests a starting
> >> point to dig into.
> > I *think* this ( see attached patch ) will fix it, not had a chance to 
> > test it yet
> Well that patch isn't quite enough :-( it seems the migration process 
> doesn't cater for the config directory changing so when looking for 
> candidates to migrate when creating a new user dir it looks relative to 
> the new config directory ( e.g. ~/.config ) and of course finds nothing.
> 
> I guess we can easily hack around this by tweaking the config directory 
> returned ( see attached ) and this seems ok for a  3.4 release where 
> there can only be user configurations in $HOME. However subsequent 
> releases >=  4.0  will probably have to start making things more 
> complicated by searching the old ( for openoffice configurations ) and 
> new & old directories for libreoffice (3) configurations, thoughts

Hmm, I am not sure if we want to hardcode "/.config". If I understand it
correctly, there might be any path defined by XDG_CONFIG_HOME
environment variable. It could be even /tmp/test/.blabla

BTW: Is the XDG_CONFIG_HOME support a new feature? I thought that the
user configuration directory is defined
in /opt/libreoffice/program/bootstraprc. It is currently defined as:

     UserInstallation=$SYSUSERCONFIG/.libreoffice/3

I wonder if we could use $SYSUSERCONFIG to determine the default root
path where to serch for older configuration folders.

If the XDG_CONFIG_HOME is an older feature. We should use
getenv('XDG_CONFIG_HOME') to find another root where to search for
older configurations.

Best Regards,
Petr


PS: BTW: Why have you used
aUserInst = aUserInst.copy( 0, aUserInst.getLength() - sizeof(
XDG_CONFIG_PART ) + 2 );

I would expect +1 instead of +2. But I am newer 100% sure about this
without testing ;-)





More information about the LibreOffice mailing list