Changes needed to support SailJail #44
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The recently released SFOS 4.4 features sandboxing enabled for all apps.
These is a collection of things needed to support running Nextcloud Talk under SailJail:
See the documentation at https://github.com/sailfishos/sailjail-permissions/blob/master/README.md
Permissions=Secrets;Internet, maybe Downloads, maybe some documents and media dirs for uploads)dataDirlocation and files if necessary (here is a good exampleProblems I found when testing:
ApplicationName. This may or my not be a bug in 4.2, but it means Sandboxing can NOT be enabled in older 4.x releases with that ApplicationNameTherefore I propose shipping three different .desktop files:
@blizz, in PR #43 I chose:
more or less randomly, please decide on proper names for these.
Note that the Orga name AFAIK needs to match any Dbus services the app registers, which why I chose that one.
[EDIT:] This is now
because of #44 (comment)
That makes sense ✔️ The orga name is also what the android client does fwiw.
4.2 or 4.3? If really 4.2 I am perfectly fine with dropping support for it. Older releases will probably not event care, and that should be ok for the first Jolla device.
AFAICS the "Secrets" permission only made it into
sailjail-permissions-1.0.90, which ships in 4.4 only (4.3 has1.0.81).Personally I like to support older versions (especially because I like to lag behind in versions on my daily driver).
And in this case it should be a simple case of installing the right .desktop file. (The db file file migration would still happen though.)
Now, this is very easily done on OBS/chum, as this builds a separate package for each version, and you can just detect the runtime version in the .spec and package the correct .desktop file there.
If you do not build on OBS this then requires building at least two separate packages (one for 4.4+, one for older), and installing the .desktop in %post.
But it's your call.
Another thing that came up in testing here:
According to the Sailjail docs, we are allowed to own a bus called
<OrganizationName>.<ApplicationName>. So eitherDBusHandler(and the C++ services that talk to it) must be set up to register such a service, or OrganizationName and ApplicationName must beorg.nextcloudandtalk, respectively.ok, fixed by b3e15062b572241bea007116669c01fdcf7b67a1.
One last(?) thing:
Again, this is due to my old 4.2/4.3 test systems.
bce97c6e29moved the socket file into rundir/sailfishsecretsd/, where the Secrets permission permits access.So far I am building on SDK. I tried OBS but got weird errors, building was not even started. I did not look into Chum yet. Offering a version for >= via deps should work with OpenRepos as well. The unjailed one could be offered additionally.
This should help also with the unavailable Secrets permission in 4.3/4.2.
Thank you for the contributions on this topic 💙
The way it's implemented meanwhile does not have the problem of needing multiple packages (because we deal with it in
%post).But if you want ot look into OBS/chum again, it's as "simple" as https://build.sailfishos.org/package/view_file/home:nephros:devel/nextcloud-talk/_service?expand=1
Yes, of course.
Not too soon, alas, limited time.
fixed with #43
In fact I was trying a longer time ago to have webhook-triggered builds, but never got them running. I now looked are your file… having the repo urls without the '.git' extension seems to be the missing magic =)
No webhook does not work, i triggered for changing the service file 🤷♂️