From 691fe4cd950536bff77a250020d2853c98a4cc2b Mon Sep 17 00:00:00 2001 From: "Kelvin M. Klann" Date: Wed, 28 Apr 2021 01:18:46 -0300 Subject: steam.profile: fix rogue legacy paths and syntax Due to using globbing on mkdir, the current version causes this: @davidebeatrici commented on 2021-04-23[1]: > ``` > Error: "${HOME}/.local/share/RogueLegacy*" is an invalid filename: rejected character: "*" > ``` Added on commit a603d4d39 ("steam: some more games added") / PR #4170. The wildcard was used because Rogue Legacy apparently looks up multiple different paths for the config and also for the data[1][2][3]: 1. ~/.config/RogueLegacy 2. ~/.config/RogueLegacyStorageContainer 3. ~/.local/share/RogueLegacy 4. ~/.local/share/RogueLegacyStorageContainer The ones containing "RogueLegacyStorageContainer" appear to be legacy paths (i.e.: paths which are only created by older versions of Rogue Legacy)[2]. So replace all globs with the full paths because: * The paths are known a priori (unlike, say, `/var/lib/libpcre*`) * There aren't too many of them And use only the non-legacy paths on mkdir. Besides mirroring what the current version of Rogue Legacy does (and avoiding the creation of unnecessary dirs), this is also done because _if_ the following applies (i.e.: this was not tested): * legacy paths take precedence over non-legacy paths * the first path clobbers the other ones (i.e.: rather than "merge") * save data exists in a non-legacy path (i.e.: path 3 in this case) * firejail creates all 4 paths Then it would make the newly-created and empty path 4 clobber the non-legacy path 3 and thus make it seem like no save files exist. This would persist even if steam is run without firejail afterwards, as the empty directory would still be there. Losing (or appearing to lose) game saves can be very unfortunate, so create just the non-legacy paths to avoid confusion. [1] https://github.com/netblue30/firejail/pull/4170#issuecomment-825405930 [2] https://steamcommunity.com/app/241600/discussions/1/846957366713233279/ [3] https://www.pcgamingwiki.com/wiki/Rogue_Legacy#Game_data --- etc/inc/disable-programs.inc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'etc/inc/disable-programs.inc') diff --git a/etc/inc/disable-programs.inc b/etc/inc/disable-programs.inc index cf9ef44bf..1e1734a9e 100644 --- a/etc/inc/disable-programs.inc +++ b/etc/inc/disable-programs.inc @@ -138,6 +138,7 @@ blacklist ${HOME}/.config/Rambox blacklist ${HOME}/.config/Riot blacklist ${HOME}/.config/Rocket.Chat blacklist ${HOME}/.config/RogueLegacy +blacklist ${HOME}/.config/RogueLegacyStorageContainer blacklist ${HOME}/.config/Signal blacklist ${HOME}/.config/Sinew Software Systems blacklist ${HOME}/.config/Slack @@ -612,7 +613,8 @@ blacklist ${HOME}/.local/share/QGIS blacklist ${HOME}/.local/share/QMediathekView blacklist ${HOME}/.local/share/QuiteRss blacklist ${HOME}/.local/share/Ricochet -blacklist ${HOME}/.local/share/RogueLegacy* +blacklist ${HOME}/.local/share/RogueLegacy +blacklist ${HOME}/.local/share/RogueLegacyStorageContainer blacklist ${HOME}/.local/share/Shortwave blacklist ${HOME}/.local/share/Steam blacklist ${HOME}/.local/share/SteamWorldDig -- cgit v1.2.3-54-g00ecf