As usual Flatpak container, Discover being packaged with Flatpak has separate from host data directory. This mean it can't interoperate with hosts installed packages, etc. The problem is XDG_DATA_HOME environment variable. By default, is has value <$HOME>/.var/app/org.kde.discover/data. To make it work, I have to manually change it's value in the container before Discover run: $ flatpak run --command=sh org.kde.discover $ export XDG_DATA_HOME=~/.local/share/ $ plasma-discover I didn't find any solution beside hardcode the variable value at build time. Any suggestions are welcome, but I think we should fix it any way.
--env doesn't override XDG_DATA_HOME: https://github.com/flatpak/flatpak/issues/2413
Git commit 352e9f49cc59c5c0ce3e03e03a193f384196e1ef by Aleix Pol. Committed on 11/12/2018 at 01:04. Pushed by apol into branch 'master'. discover: fix listing user's flatpak apps Includes a wrapper that overrides the modified XDG_DATA_HOME. A +3 -0 discover/wrapper.sh M +10 -2 org.kde.discover.json https://commits.kde.org/flatpak-kde-applications/352e9f49cc59c5c0ce3e03e03a193f384196e1ef
You will have to be a bit patient for the fix to land into the binaries, because we have some issues with flathub's builds.
Thanks Aleix for providing the wrapper. But, in the common case, I have to say it will not work - the user's host XDG_DATA_HOME doesn't have to be ~/.local/share/. So proper fix seems to be on Flatpak side, but they just closed my issue on github above. So I really don't know what to do..
I'd say try to get it to work for you and we can iterate as it evolves, fixing one issue at a time.
Ok, you are the boss :) The wrapper works for me, thank you. Just a little improvement - no need to add a separate file, this would look more convenient(sorry, don't know how to paste code): "sources": [ { "type": "git", "url": "git://anongit.kde.org/discover.git" }, { "type": "script", "dest-filename": "discoverwrapper.sh", "commands": [ "XDG_DATA_HOME=~/.local/share plasma-discover" ] } ], "post-install": [ "cp ../discoverwrapper.sh /app/bin/" ], Can we iterate now? :)
Sure, can you please provide it into a phabricator.kde.org patch?
uff, all these phabricator things are hard to me. I would need time to learn it first
Maybe we should set FLATPAK_USER_DIR here instead of XDG_DATA_HOME - perhaps, it more precisely reflects our needs: FLATPAK_USER_DIR The location of the per-user installation. If this is not set, $XDG_DATA_HOME/flatpak is used. http://docs.flatpak.org/en/latest/search.html?q=FLATPAK_USER_DIR
There is not much to learn. Log in, visit https://phabricator.kde.org/differential/diff/create/ and paste your diff there (or load from file). The only thing you need to remember is to set "Repository" to "Discover".
(In reply to Christoph Feck from comment #10) > There is not much to learn. Christoph, the was a lot to learn eventually! Phabricator turned out to be a mess when working with patchsets. Things are over-complicated and needed functionality absent. I really disappointed.