gnome-sdk-images update and xdg-app



I'm about to go on xmas vacation for a while, so i thought I would
report on the current status on the app work I'm doing.

I've updated gnome-sdk-images[1] and the corresponding yocto branch[2]
to add support for things like mesa and pulseaudio. I put up a build in
an ostree repo here:
https://people.gnome.org/~alexl/gnome-sdk/repo/

It contains the Sdk and Platform runtimes, and a few apps (gedit,
glxgears, paplay).

I also started a new base for the actual runtime tooling itself as
opposed to the old hacky scripts. The new version is available at:

 https://github.com/alexlarsson/xdg-app

It depends only on glib and (the latest master of) ostree and is not
really tied to gnome (thus the "xdg" moniker).

If you build it you can then install (in your homedir due to --user)
some stuff like this:

$ xdg-app --user add-repo --no-gpg-verify test-repo https://people.gnome.org/~alexl/gnome-sdk/repo/
$ xdg-app --user install-runtime test-repo org.gnome.Platform 3.14
$ xdg-app --user install-app test-repo org.gnome.GEdit
$ xdg-app --user install-app test-repo org.freedesktop.glxgears
$ xdg-app --user install-app test-repo org.freedesktop.paplay

Then you can test with:
$ xdg-app run org.gnome.GEdit
$ xdg-app run org.freedesktop.glxgears
$ xdg-app run org.freedesktop.paplay /self/share/audiotest.au

Note that downloading the platform is kind of slow (20 min for me), due
to the way ostree dumb repos work. Its doing a http request per file,
and people.gnome.org doesn't support keep-alive/pipelining. Updates
after the initial pull are a lot faster though. We hope to fix this by
making some additions the the ostree repo format. But in the meantime,
if this is too slow for you you can download the entire repo at:
https://people.gnome.org/~alexl/gnome-sdk/gnome-sdk-repo-2014-12-19.tar

You can also pull "org.gnome.Sdk" if you want the full Sdk with the
whole build environment (although I have not yet converted the
gnome-sdk-build tooling to xdg-apps). You can then run something like

$ xdg-app run --devel --command=bash org.gnome.GEdit

Which should get you a shell inside a gedit "container" with the full
development environment.

At a later time you can also update things like:

$ xdg-app --user update-app org.gnome.GEdit

If you want to look at how the installed apps look, have a look in
$HOME/.local/share/xdg-app. Basically every installed app is checked out
into the ostree repo at $HOME/.local/share/xdg-app/repo, and are then
checked out (via hardlinks) into other subtrees.

So, for example, the current gedit master is at:
~/.local/share/xdg-app/app/org.gnome.GEdit/x86_64/master/active
which will be mounted at /self in the container, and /var being mounted
from:
~/.local/share/xdg-app/app/org.gnome.GEdit/data/
And /usr from:
~/.local/share/xdg-app/runtime/org.gnome.Platform/x86_64/3.14/active

I've only tested this on Fedora 21 atm, so it may totally break on other
distros right now. 

Have fun playing with it.

[1] https://github.com/alexlarsson/gnome-sdk-images
[2] https://github.com/alexlarsson/gnome-continuous-yocto/tree/gnomeostree-3.14-dizzy-platform



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]