The context is more or less as follows:
I run Distro Foo as my main driver. Inside that I have also set up a few chroots or schroots with Distro Bar, Distro Baz, and an older (or newer) version of Distro Foo, all same arch, oriented for some specific tasks such as devel work. (These other chroots could also be LXC containers, or Virtualbox VMs, or different machines on the network, the point is the same)
On the "real" system I have an extra applications.d
installation with some runtimes and applications:
[Installation "extra"]
Path=/usr/local/flatpak/
DisplayName=Extra Installation
StorageType=harddisk
I find would be nice to have available from the other "machines" as well. But I would not like to spend the extra space for each, in particular the runtimes that can get to about half a Gig each, without their own locales and sub-dependencies - and thus, I would not want to spare that extra room and I/O if the guest machines were actually chroots or virtual machines that already have access to the host filesystem in the first place.
My first approach was with a schroot, was to simply install flatpak
inside. I would add the same remote (flathub in this case) and then add the host location of the flatpaks as the mount point to the guest:
(schroot.d/profile/fstab)
/usr/local/flatpak /usr/local/flatpak none ro,bind 0 0
And then add the same installations.d
to the guest.
This works when listing flatpaks from the guest:
user@zuperhost:~$ schroot -c devel -u root
W: Failed to change to directory ‘/home/user’
W: Falling back to directory ‘/root’
(devel)root@zuperhost:~#
(devel)root@zuperhost:~# flatpak list
Description Application Version Branch Arch Origin Installation
default ?.Platform.GL.default 19.08 x86_64 flathub system
Intel ?Platform.VAAPI.Intel 19.08 x86_64 flathub system
openh264 - OpenH264 Video Codec provided by Cisco Syste? ?op.Platform.openh264 2.1.0 2.0 x86_64 flathub system
Geany - A fast and lightweight IDE org.geany.Geany 1.36 stable x86_64 flathub system
GNOME Software Development Kit version 3.36 - Tools and? org.gnome.Sdk 3.36 x86_64 flathub system
But I can't actually run the flatpaks inside:
(devel)user@zuperhost:~$ flatpak run org.geany.Geany
-- dmesg output --
flatpak[2313]: segfault at 18 ip 0000555e4bbab952 sp 00007fff920d1c38 error 4 in flatpak[555e4bb61000+9e000]
[ +0,000013] Code: 7c 24 10 4c 89 fe 48 8b 50 08 49 89 c6 e8 a6 a1 ff ff 4c 89 f7 e8 ce 97 fb ff e9 df fe ff ff e8 b4 65 fb ff 0f 1f 40 00 89 f0 <48> 8b 77 18 48 8b 7f 20 49 89 c8 48 89 d1 89 c2 e9 a9 fc ff ff 66
[jul30 08:27] flatpak[3313]: segfault at 18 ip 0000564cbff364a2 sp 00007ffd4c39c268 error 4 in flatpak[564cbfecd000+ee000]
[ +0,000014] Code: 8a ff ff 4c 89 f7 e8 0d a4 fb ff e9 ed fe ff ff 4c 8d 64 24 38 e9 d3 fe ff ff e8 59 8b fb ff 4c 89 e3 e9 89 fd ff ff 90 89 f0 <48> 8b 77 18 48 8b 7f 20 49 89 c8 48 89 d1 89 c2 e9 b9 fc ff ff 66
This happens for any flatpak that I install on the "real" machine even though I can perfectly see them listed as installed.
Furthermore this happens even from a chroot that "contains" the same OS version I have installed on the host (in my specific case, Debian Stable).
I presume I am doing something wrong and the result would be the same if I tried to eg.: remote mount the installations.d from another machine via sshfs
? Is this usage scenario (sharing installation space across "machines") supported by flatpak
and/or do I need to do something else?