Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Create snap for feedreader #268
Comments
|
Why are you still using "-DUSE_WEBKIT_4=ON -DWITH_LIBUNITY=OFF" ? This hasen't been necessary for a long time. I have no idea how snap works. But FeedReader needs access to the gsettings. Don't know how that works in a container. Or are snaps even properly sandboxed? |
lightonflux
commented
Nov 21, 2016
•
|
Just compied from my build function i setup a long time ago. I knew it worked so i tested with it just to be sure.
That why the plug gsettings is included. Plugs are like flatpaks portals. So the confined environment can access resources on the host.
Yes, but only when enabled (required for publishing), when developing you can disable it with |
|
Sorry, no idea what is wrong with the snap-package. |
|
Googling brings up this:
I guess this somehow makes the technologies of a functional gtk3-desktop a dependency (like the flatpak gnome-runtime)
|
lightonflux
commented
Nov 21, 2016
Does the make script autodetect or how does it work if you want to compile on a system without the libunity dependency? |
|
Yes, cmake detects libunity and the webkit-version now. |
lightonflux
commented
Nov 22, 2016
|
I fixed a few smaller issues with the yml file for the snap. But i still have a hard time to understand how to install the gsettings schemas (in general). Basically we need to do the same as in cmake install. I looked for examples but so far only found plank with a custome launcher that makes sure to install the schemas deliver within the snap are installed in the users …/glib-2.0/schemas folder ($SNAP = the root of the feedreader-snap hierarchy). |
lightonflux
commented
Nov 22, 2016
|
The about dialogue and cli options work. It lacks some other things, like images and a desktop starter. The current snapcraft file: snapcraft.txt (it is a yml file but gh does not support yml). |
|
The about-dialogue and the cli options do not access the gsettings. |
lightonflux
commented
Nov 22, 2016
|
I know. Just wanted to mention that the snap works so far. Only 3 things to fix. |
lightonflux
commented
Dec 7, 2016
•
|
Found out why it did not work. The schemas land in the wrong folder. $SNAP/share/glib-2.0/schema instead of $SNAP/usr/share. So i added the install prefix again. Works now. Still some things are lacking.
|
|
Nice work! |
lightonflux
commented
Dec 7, 2016
|
Thanks. At the moment the snapped feedreader starts the the daemon from /usr/local/bin which can't be in the snap because local does not exist there. The reason being that snap is the last item in my path. So without looking into the feereader code i guess the daemon is called by command name not path. I will get there and the daemon will be started from within the snap. I opened a small repo here. (The newest version is not yet online. But it works just as good as my local copy). |
|
The daemon was started via command in older versions. But calling a dbus-function starts up the server automatically, so I rely on that now. |
lightonflux
commented
Dec 7, 2016
|
There is a file called "feedreader.service" that tells the system about the "org.gnome.feedreader"-dbus-server and what binary supplies the service. So once the UI calls a dbus-function of org.gnome.feedreader the system checks if the server is already running and if not it starts up the feedreader-daemon binary. |
lightonflux
commented
Dec 8, 2016
|
I see. On my system i have two files: /usr/share/dbus-1/services/feedreader.service One with local in the path one without. So feedreader-snap calls dbus, and dbus starts the daemon from local. I have no idea how to fix that. Would be nice if you can use feedreader from a snap and local copy at the same time. |
bil-elmoussaoui
added
bug
enhancement
and removed
bug
labels
Dec 12, 2016
mhall119
commented
Dec 15, 2016
|
There's work on new dbus-related interfaces (plugs) for snap packages that will allow this, but it probably won't be ready until after the first of the year. For now you can use "confinement: devmode" or install with the --devmode flag and it should let it run, you can even publish it to the edge and beta channels of the Snap store that way, you'll just need to wait for the new interfaces before you can publish to the stable channel. |
jangernert
assigned
lightonflux
Dec 27, 2016
|
So I just built the snap inside a 16.10 VM. Building went fine. But installing reported following error:
even though the yaml states "confinement: devmode". |
lightonflux
commented
Dec 29, 2016
|
I know about the dbus problem I am waiting for the new dbus fixes that should be released in January.
When installing you need to supply these options:
snap install f.snap --dangerous --devmode
That should work, at least with the previous snaps release.
Am 29. Dezember 2016 17:56:35 MEZ schrieb Jan Lukas Gernert <notifications@github.com>:
…
|
I just don't understand why the second parameter has to be added since the yaml-file already specifies 'devmode'. edit: |
mhall119
commented
Jan 11, 2017
|
snap defaults to only installing things with "confinement: strict". Using "confinement: devmode" is just a signal that this app will not ever work under strict confinement, but it won't transparently override snap's default behavior. Snapd 2.20 is out now for Ubuntu 16.04 and newer, so the dbus interface should be available now. If you need help you can find a lot of us in the #snapcraft channel on rocket.ubuntu.com |
|
@lightonflux did you manage to test the snap on an updated ubuntu with the new snapd yet? |
lightonflux
commented
Jan 19, 2017
|
Just tried. Newest issue is:
That's new. In my local install there is no new binary after compiling from newest git. So i assume i have to add some variables to the wrapper?! Or is it a binary by gstreamer? @jangernert Thanks for any pointers. |
lightonflux
commented
Jan 19, 2017
|
This is "gst-plugin-scanner" right? Not sure if we want to include this in the snap. It is already 3 times as big as local installs. |
|
Does all the basic functionality (other than playing podcasts) work at this point? |
|
mhall119
commented
Feb 14, 2017
|
You will need to include whatever gstreamer plugins you need in your snap, that way you know it always has them available. To tell gstreamer where to find them in your snap, you'll need to set some environment variables like those in https://github.com/ubuntu/snapcraft-desktop-helpers/blob/master/common/desktop-exports#L43 At this point you might want to just use the desktop-gtk3 remote part, which pulls in the gtk stage-packages and provides a desktop-launch script that sets all the needed environment variables, gsettings schemas, etc for you. |
|
Sad to see less progress on this. @lightonflux is this something you are still working on? Last commit was 2 months https://github.com/lightonflux/feedreader-snap |
lightonflux
commented
Feb 26, 2017
•
|
@jscurtu It is still on my list. But i hadn't any chance to work on it in the last weeks. And i don't have build/test machines at the moment. I only run Debian which makes snap development with snapcraft a bit cumbersome (as it's only released for Ubuntu so far). I am super open to pull requests. And at the moment there is no offline progress your PRs could conflict with. Edit: And i haven't looked into 2.0.1 compiling on Ubuntu so far. |
lightonflux
commented
Apr 14, 2017
|
After the recent news around Ubuntu adapting the vanilla Gnome stack and some unrelated personal things i decided to cross off the snap from my todo list. My initial intention when starting to snap feedreader was that installing a snap would be a better user experience for Ubuntu users. Flatpak being only focused on desktop apps and it being part of the Gnome UX for third party application, i think it is not worth to have feedreader in two new package formats. I also stopped working on snaps that involve smaller GUI programs. |

lightonflux commentedNov 20, 2016
•
Edited 1 time
-
lightonflux
Nov 20, 2016
Here my first try getting a more complex application snapped. At the moment it compiles without complains but exits with an error.
Here the current snapcraft file which compiles well under Ubuntu 16.10.
The error when running:
Will investigate further later. But if you have an idea what the problem is please tell. Do we need to package the gsetting schemas? If so how do i generate the schemas?