That's an issue for most desktop (and probably non desktop ones as well)
and not easy to workaround.
Typically autotools define a "datadir" based on the build prefix, if you
prefix=/usr then datas go to /usr/share/<name>/<somefile> and then you
get code doing things like
" if (!gtk_builder_add_from_file (builder,
DATADIR "/gnome-dictionary-menus.ui",
&error))"
There seems to be no easy way to deal with that at the moment and it's blocking
snappy trivial desktop softwares, some guidance on what to do would be useful.
Some possible options we can see
* have some patch over the upstream code that is applied before the build
Trevinho has an example with a custom snapcraft plugin to do that, it
works but
- it means applications have to be "fixed" to be snap-ed which might be
non-trivial/lead to bugs
- it requires maintaining a patch over the upstream code (until the change are
upstreamed/merged which is likely to be rejected by upstream if the changes are
snap specific
Note that encoding a runtime path at buildtime
(/snap/<name>/current/datadir/filename) means the snap might stop
working if the snap runtime changes in the futur, the alternative is to
check for the env at runtime and have a dynamic path, but that's more
code change
* find a way to define the right paths at buildtime
We didn't find a working solution so far since changing the prefix
impacts on where the make install is putting files, also that means
relying on a runtime behaviour that has no stability garanty (futur snap
version might mount the fs in another location than /snap/name/current)
* divert syscalls with some sort of wrapper to append the snap prefix
that seems like non trivial work, hackish and not reliable
* get some part of the snap accessible under the snap "/" rather than "/snap..."
that would probably be the simplest/more efficient way but I guess there
is probably some rational behind the design choice of having the
squashfs showing under another subdir?
* other idea/solution?
Since that's blocking packaging on several applications having some
recommendation of workaround/solution would be really nice
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1583250
Title:
No way for dealing without distro patching configure DATADIR (and
alike) path
To manage notifications about this bug go to:
https://bugs.launchpad.net/snapcraft/+bug/1583250/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs