Subject: bug#50789: syncthing-gtk creates autostart file with wrong bin

From: John Kehayias <[email-masked]>
Date: Fri, 24 Sep 2021 21:33:56 +0000

Hello,

syncthing-gtk has an option to enable autostart, which it does by creating the .desktop file in ~/.config/autostart However, this has the wrong exec line, getting the -real script instead of syncthing-gtk. This won't work as it needs to be run as syncthing-gtk. Namely, it produces:

Exec=/gnu/store/vf5h9jqhq40x8r46afaa0jgw7awg1361-syncthing-gtk-0.9.4.4-1.c46fbd8/bin/.syncthing-gtk-real

Instead of

Exec=/gnu/store/vf5h9jqhq40x8r46afaa0jgw7awg1361-syncthing-gtk-0.9.4.4-1.c46fbd8/bin/syncthing-gtk

This is due to syncthing-gtk getting its executable name to write to the .desktop file in get_executable(): https://salsa.debian.org/debian/syncthing-gtk/-/blob/master/syncthing_gtk/tools.py#L409 where due to wrapping it will find something that won't work when run directly.

How should this be solved in Guix? Should we patch this part of the code to explicitly rewrite the path to have "syncthing-gtk" instead of ".syncthing-gtk-real"? Related would be the discussion at https://lists.gnu.org/r/guix-devel/2021-09/msg00088.html which I will message separately.

Thanks,
John