https://bugs.winehq.org/show_bug.cgi?id=41668
Bug ID: 41668 Summary: wineboot mishandles user dir symlinks during update Product: Wine Version: 1.9.22 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: programs Assignee: wine-bugs@winehq.org Reporter: galtgendo@o2.pl Distribution: ---
In a standard wine prefix 'Desktop', 'My Documents', etc. are symlinks to ${HOME}. As are their localized versions.
I consider the first a wrong choice and and make those normal dirs in the prefix; as for the second, I turn those into symlinks to their English counterparts.
Yet...
Upon 'wineboot' at each wine update, while the English dirs stay untouched, the localized symlinks get reset into ${HOME} symlinks.
If it's WAD, it's a misfeature; otherwise, it's a bug.
https://bugs.winehq.org/show_bug.cgi?id=41668
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick@piezo-forte.be
--- Comment #1 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- Wine follows the XDG standard.
The actual issue is that there is no explanation in the Wiki on how to setup a custom XDG config file for Wine.
https://bugs.winehq.org/show_bug.cgi?id=41668
--- Comment #2 from Rafał Mużyło galtgendo@o2.pl --- (In reply to Olivier F. R. Dierick from comment #1)
Wine follows the XDG standard.
The actual issue is that there is no explanation in the Wiki on how to setup a custom XDG config file for Wine.
...which part of XDG standard exactly talks about dirs like ${HOME}/.wine/drive_c/users/<user name>/'My Documents' ? :roll:
Anyway, the problem this bugs refers to isn't the needless adding wine file associations on every update, it's overwriting the localized symlinks, as the English ones aren't being overwritten.
https://bugs.winehq.org/show_bug.cgi?id=41668
--- Comment #3 from Henri Verbeet hverbeet@gmail.com --- (In reply to Rafał Mużyło from comment #2)
(In reply to Olivier F. R. Dierick from comment #1)
Wine follows the XDG standard.
The actual issue is that there is no explanation in the Wiki on how to setup a custom XDG config file for Wine.
...which part of XDG standard exactly talks about dirs like ${HOME}/.wine/drive_c/users/<user name>/'My Documents' ? :roll:
It's related in the sense that when XDG user dirs are properly setup, the "My Documents" folder for example is initially a symlink to the equivalent of "xdg-user-dir DOCUMENTS", which is a much more reasonable location than $HOME. But yes, that's not what this bug is about.
https://bugs.winehq.org/show_bug.cgi?id=41668
--- Comment #4 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- I understand that the symlinks are always reset on prefix update. I confirm this.
What I meant is that there is some way to control where Wine makes the symlinks point to.
I think it is up to the user to setup his environment for his needs.
If the user lets Wine decide where the userdirs are, then prefix update reset them to wherever they are now. This means that if the user did change his $HOME directory, the symlinks are updated all-in-once.
If the user wants to use custom userdirs, then he should use the available environment to tell Wine where the userdirs are. If the user changes his custom userdir structure he can reflect that in the environment and the next prefix update will set all the symlinks accordingly.
If Wine did not reset the symlinks, they could end up being obsolete and require manual update.
In my opinion, the current behavior is correct.
What I would do to fix the issue: - Change SHCreateSymbolicLinks to first use XDG_CONFIG_HOME to get XDG variables, then fallback to "$HOME/My Documents/*" or "$HOME/*" if necessary, - Add a section in the documentation/wiki about how to setup custom userdirs with XDG to override the default symlinks (globally and per-prefix).
https://bugs.winehq.org/show_bug.cgi?id=41668
--- Comment #5 from Rafał Mużyło galtgendo@o2.pl --- @comment 4:
I disagree with some major points of that.
Just like in the case of those forced file associations, I see no reason why Windows user dirs should be forcefully aligned with its xdg not-really equivalents. I want them *separated*.
Also, if user has changed those symlinks, wineboot shouldn't in its default working path touch them at all. Also, treating English dirs and the localized symlinks differently doesn't seem right.
https://bugs.winehq.org/show_bug.cgi?id=41668
--- Comment #6 from Olivier F. R. Dierick o.dierick@piezo-forte.be --- (In reply to Rafał Mużyło from comment #5)
@comment 4:
I disagree with some major points of that.
Just like in the case of those forced file associations, I see no reason why Windows user dirs should be forcefully aligned with its xdg not-really equivalents. I want them *separated*.
You may set XDG_CONFIG_HOME to any file. One for each wineprefix if you so desires. Also there is a 100% mapping between the XDG_XXX_DIR variables and the symlinks used by Wine.
Also, if user has changed those symlinks, wineboot shouldn't in its default working path touch them at all. Also, treating English dirs and the localized symlinks differently doesn't seem right.
Current Wine does not create English symlinks on localized systems. These must be user made or left-overs from ancient times. That would explain why they are untouched.
It's impractical to have Wine figure when or not to update symlinks. The symlinks could be simply wrong, the user might switch from a "$HOME/My Documents/My Pictures" scheme to a "$HOME/My Pictures" scheme. Not touching the symlinks would break in those cases. The current wine update scheme will detect those changes and update the symlinks.
In your case, with a proper XDG override support, you'd have to change the custom XDG config file for the prefix rather than the symlinks themselves. wineboot would handle that for you. The symlinks would not change if there is no change in the XDG config.
https://bugs.winehq.org/show_bug.cgi?id=41668
--- Comment #7 from Rafał Mużyło galtgendo@o2.pl --- @comment 6:
Someone's either missing the point or is by-choice off topic.
1. While I don't really use xdg user dirs, even if I did, I'd want them and any wine produced data dirs *separated*. Just as in the case of file associations, I consider any merging of those a misfeature.
2. OK, minor correction, it seems that those English dirs aren't actually English, just for yet another locale - I use the same prefix for apps run in different locales and see no reason why that should work.
On the plus side, at least it's not a data loss bug: as long as the dir isn't empty, wineboot doesn't overwrite it.
It's impractical to have Wine figure when or not to update symlinks.
Completely disagree with that. wine is going Windows route here: trying to be smarter than the user in a dumb way without any sane method for an override (...). Building a separate env var set just for wine isn't one. I consider Gnome designs flawed and see strong resemblance here.
https://bugs.winehq.org/show_bug.cgi?id=41668
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mushimk@yahoo.co.jp
--- Comment #8 from Michael Müller michael@fds-team.de --- *** Bug 42842 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=41668
--- Comment #9 from didli mushimk@yahoo.co.jp --- (In reply to Rafał Mużyło from comment #7) I'm not sure I fully understand what was said in comments here, but I think I agree with Rafał Mużyło. I want to be able to setup the dirs I want in the desktop integration tab, and I don't want them to be tied to the system (I use wine almost exclusively for games, imagine the mess if my system doc folder get filled by every saved/config folders from the games I own...). Now if there is a way to avoid the annoying but still minor issue of the path reset after a wine update using XDG, I would gladly welcome any wiki to explain how to do so.
https://bugs.winehq.org/show_bug.cgi?id=41668
Robert Walker bob.mt.wya@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bob.mt.wya@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41668
nichelb 8veeb1+fk64fi3815yg0@pokemail.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |8veeb1+fk64fi3815yg0@pokema | |il.net
--- Comment #10 from nichelb 8veeb1+fk64fi3815yg0@pokemail.net --- I'm on debian testing and wine (development or staging) always creates the 'Music', 'Pictures' and 'Video' folders inside $HOME/Documents at each version upgrade, even though I did never enabled links to my user-dirs in winecfg. Is it related to this bug? It is really annoying!
https://bugs.winehq.org/show_bug.cgi?id=41668
Olivier F. R. Dierick o.dierick@piezo-forte.be changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=22974
https://bugs.winehq.org/show_bug.cgi?id=41668
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41668
soredake gi85qht0z@relay.firefox.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gi85qht0z@relay.firefox.com
https://bugs.winehq.org/show_bug.cgi?id=41668
soredake broaden_acid002@simplelogin.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|broaden_acid002@simplelogin | |.com |