Apache OpenOffice (AOO) Bugzilla – Issue 121949
SYSUSERCONFIG should default to $HOME/.config and not to $HOME
Last modified: 2014-01-19 17:02:17 UTC
As reported by Ariel in https://issues.apache.org/ooo/show_bug.cgi?id=121914#c4 we have an incorrect (as per Freedesktop specifications) default setting for SYSUSERCONFIG when XDG_CONFIG_HOME is not set. Full explanation follows, for convenience. We would expect $SYSUSERCONFIG to mean $HOME/.config . http://svn.apache.org/viewvc/incubator/ooo/trunk/main/sal/osl/unx/security.c?revision=1303378&view=markup#l795 795 static sal_Bool SAL_CALL osl_psz_getConfigDir(oslSecurity Security, sal_Char* pszDirectory, sal_uInt32 nMax) 796 { 797 sal_Char *pStr = getenv("XDG_CONFIG_HOME"); 798 799 if ((pStr == NULL) || (strlen(pStr) == 0) || 800 (access(pStr, 0) != 0)) 801 return (osl_psz_getHomeDir(Security, pszDirectory, nMax)); 802 803 strncpy(pszDirectory, pStr, nMax); 804 return sal_True; 805 } the code is getting the value from XDG_CONFIG_HOME; if it is unset or empty, then it resolves to $HOME. But the freedesktop specification says: http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html "$XDG_CONFIG_HOME defines the base directory relative to which user specific configuration files should be stored. If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used." It should resolve to $HOME/.config
If someone wants to play with this, you have to: - open a terminal - see if $XDG_CONFIG_HOME is set: ]$ echo $XDG_CONFIG_HOME if nothing is echoed, then it is unset. - if unset, export it so that it points to $HOME/.config: ]$ export XDG_CONFIG_HOME=$HOME/.config - then launch AOO from this terminal: ]$ /opt/openoffice.org3/program/soffice Go to the menu Tools - Options... - OpenOffice.org - Paths. It should show the user paths pointing to $HOME/.config So far everything seems to work. The problem I see is the naming: $HOME/.config/.openoffice.org/3/user a) a hidden folder inside a hidden folder does not make sense b) too many folders: 1) .openoffice, 2) the major version 3, 3) user I wonder if the 3/user is needed at all. If you start AOO with the -env:UserInstallation switch pointing to a folder, it only writes into that folder; so why this "user" folder inside ".openoffice.org/3/" ? In short, if we choose this approach, we should simplify it (if possible); something like $HOME/.config/openoffice4
(In reply to comment #1) > I wonder if the 3/user is needed at all. Start OpenOffice, then ]$ ls -a ~/.openoffice.org/3/ . .. .lock user The user profile is locked with a file called .lock So far this is the only use I've found for having this directory structure.
*** Issue 87678 has been marked as a duplicate of this issue. ***