Hey Ludovic, Ludovic Courtès <l...@gnu.org> writes:
> Hi Maxim, > > Maxim Cournoyer <maxim.courno...@gmail.com> skribis: > >> From a79645c565e56ac201e66936d9f9883ad9387b06 Mon Sep 17 00:00:00 2001 >> From: Maxim Cournoyer <maxim.courno...@gmail.com> >> Date: Thu, 5 Nov 2020 00:24:29 -0500 >> Subject: [PATCH] gdesktopappinfo: Fix monitoring of a Guix profile >> XDG_DATA_DIR. >> MIME-Version: 1.0 >> Content-Type: text/plain; charset=UTF-8 >> Content-Transfer-Encoding: 8bit >> >> Fixes <https://issues.guix.gnu.org/35594>. >> >> Treat the $HOME/.guix-profile/share and /run/current-system/share >> XDG_DATA_DIRS file names specially so that the inotify-based monitors >> placed by GLib monitor their parent link rather than an immutable >> directory. >> >> Co-authored by Ludovic Courtès <ļu...@gnu.org>. > ^ > This is LATIN SMALL LETTER L WITH CEDILLA. :-) > >> --- >> gio/gdesktopappinfo.c | 17 +++++++++++++++-- >> 1 file changed, 15 insertions(+), 2 deletions(-) > > I like that it’s short and sweet, nice! I thought too, but it doesn't work, because these entries never make it to XDG_DATA_DIRS in the first place, at least for the system profile. I also gave a try to 1) a modified version of your patch that added support for /run/current-system and 2) your patch unmodified with inconclusive results so far. I did see things being scanned in response to /run/current-system changing, but I believe this was because I goofed up the dir path to "/run/current-system/share" (it should have been ""/run/current-system/profile/share"), and there's some code gdesktopappinfo.c (desktop_file_dir_get_alternative_dir) that sets the monitored directory to a parent when the directory doesn't exist. In either version, strace failed to show any activity upon recreating the ~/.guix-profile (that is /root/.guix-profile since I was testing as root in the VM) link, different to what you had found. So, to be continued... Maxim