Kaydet (Commit) 6b522673 authored tarafından Noel Power's avatar Noel Power

default config location has changed, look in old config dir when migrating

A previous patch (boostrap:25bd2eec77ed774a37d1cddd0d72312e23d5e9fd) changed the default configuration directory location ( on unix ) When evaluating user configurations for migration we need to search the old default config dir and not the new default config directory,
üst d1e8ef8c
......@@ -88,6 +88,9 @@ static const ::rtl::OUString MENU_SEPERATOR(RTL_CONSTASCII_USTRINGPARAM(" | "));
static const ::rtl::OUString MENU_SUBMENU(RTL_CONSTASCII_USTRINGPARAM("..."));
static const ::rtl::OUString MIGRATION_STAMP_NAME(RTL_CONSTASCII_USTRINGPARAM("/MIGRATED"));
static const char XDG_CONFIG_PART[] = "/.config";
::rtl::OUString retrieveLabelFromCommand(const ::rtl::OUString& sCommand, const ::rtl::OUString& sModuleIdentifier)
{
::rtl::OUString sLabel;
......@@ -553,6 +556,22 @@ install_info MigrationImpl::findInstallation(const strings_v& rVersions)
{
::rtl::OUString aUserInst;
osl::Security().getConfigDir( aUserInst );
#if defined UNX && ! defined MACOSX
const char* pXDGCfgHome = getenv("XDG_CONFIG_HOME");
// cater for XDG_CONFIG_HOME change
// If XDG_CONFIG_HOME is set then we;
// assume the user knows what they are doing ( room for improvement here, we could
// of course search the default config dir etc. also - but this is more complex,
// we would need to weigh results from the current config dir against matches in
// the 'old' config dir etc. ) - currently we just use the returned config dir.
// If XDG_CONFIG_HOME is NOT set;
// assume then we should now using the default $HOME/,config config location for
// our user profiles, however *all* previous libreoffice and openoffice.org
// configurations will be in the 'old' config directory and that's where we need
// to search - we convert the returned config dir to the 'old' dir
if ( !pXDGCfgHome && aUserInst.endsWithAsciiL( XDG_CONFIG_PART, sizeof( XDG_CONFIG_PART ) - 1 ) )
aUserInst = aUserInst.copy( 0, aUserInst.getLength() - sizeof( XDG_CONFIG_PART ) + 2 ); // remove trailing '.config' ( but leave the terminating '/' )
#endif
if ( aUserInst.getLength() && aUserInst[ aUserInst.getLength()-1 ] != '/' )
aUserInst += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
#if defined UNX && ! defined MACOSX
......
......@@ -783,12 +783,12 @@
</node>
<node oor:name="Migration">
<node oor:name="SupportedVersions">
<node oor:name="OpenOffice.org3+OpenOffice.org2+StarOffice8+StarSuite8" oor:op="replace">
<node oor:name="OpenOffice.org3+OpenOffice.org2+StarOffice8+StarSuite8+Libreoffice3" oor:op="replace">
<prop oor:name="Priority">
<value>10</value>
</prop>
<prop oor:name="VersionIdentifiers">
<value oor:separator=",">Openofice.org 3=openoffice.org/3,OpenOffice.org 2=openoffice.org2,StarOffice 8=staroffice8,StarSuite 8=starsuite8</value>
<value oor:separator=",">Libreoffice 3=libreoffice/3,Openofice.org 3=openoffice.org/3,OpenOffice.org 2=openoffice.org2,StarOffice 8=staroffice8,StarSuite 8=starsuite8</value>
</prop>
<node oor:name="MigrationSteps">
<node oor:name="Datasources" oor:op="replace">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment