Sometime recently, I think after snapcraft 2.28, the desktop-launch
script had the following code added:
# GTK theme and behavior modifier
# Those can impact the theme engine used by Qt as well
gtk_configs=(.config/gtk-3.0/settings.ini .config/gtk-3.0/bookmarks .config/gtk-2.0/gtkfilechooser.ini)
for f in ${gtk_configs[@]}; do
dest="$SNAP_USER_DATA/$f"
mkdir -p `dirname $dest`
ln -s /home/$USER/$f $dest
done
The code blindly attempts to create the symbolic links, which means that
after the first time the application is run error messages similar to:
ln: failed to create symbolic link ā/home/alistair/snap/pharo/x1/.config/gtk-3.0/settings.iniā: File exists
ln: failed to create symbolic link ā/home/alistair/snap/pharo/x1/.config/gtk-3.0/bookmarksā: File exists
ln: failed to create symbolic link ā/home/alistair/snap/pharo/x1/.config/gtk-2.0/gtkfilechooser.iniā: File exists
appear each time the application is started.
Iām a bit surprised that no one else has reported this, so was wondering
if Iām doing something unusual.
Can someone either confirm the issue, or suggest what I might be doing
wrong?
The problem occurs with both snapcraft 2.29 and 2.30 (on Ubuntu 16.04).
I just pushed a fix for this. I didnāt caught it despite my trials, but anyway, protecting them should work, keep me posted!
Btw: you should only have that part executed on snap upgrade (first time you launch after installing a new version). The whole logic is skipped once you launched it once and donāt upgrade again. (or it means, the script is failing, which we can debug).
Thanks @akgrant! At least, I know now that we have at least one consumer of glib-only (I was wondering about this).
AHHHHHHHHHHHHH, I get it now!
The issue is that the unity7 interface with my changes are not available to you yet (to get access to that file) So, yeah, -L should make sense!