New gnome-sdk images with gnome-builder app bundle



I've put up a new version of the sdk images, which are now bumped to
gnome 3.15 snapshots, and include a few new things. This includes
webkit, which makes it possible to make a bundle for gnome-builder,
which is very nice for people wanting to try it out.

I also put the repo on another machine which has keepalive support,
which makes the ostree clone much faster. To try this, build the latest
version of ostree (you need master, because there was a fix just after
the 2015.2 release) and xdg-app from: 
  https://github.com/alexlarsson/xdg-app

Then you can run (tested on fedora 21, x86-64):

$ xdg-app --user add-repo --no-gpg-verify testrepo http://209.132.179.91/repo/
$ xdg-app --user install-runtime testrepo org.gnome.Platform 3.16
$ xdg-app --user install-app testrepo org.gnome.Builder
$ xdg-app run org.gnome.Builder

(https://people.gnome.org/~alexl/gnome-sdk/repo/ also works, but is slower)

This should get you a running instance of gnome-builder.

The repo also contains some other apps that you can try:
 org.freedesktop.glxgears
 org.freedesktop.paplay 
 org.gnome.GEdit

It also has the SDK runtime, called org.gnome.Sdk (version 3.16).

If you want to look into how an app works you can try running an app
with a custom command like this:

$ xdg-app run --command=bash org.gnome.Builder

This will give you a shell inside an "app sandbox".

During installations apps get deployed inside /usr/share/xdg-app or
~/.local/share (if using --user). For instance, builder can be found in:
~/.local/share/xdg-app/app/org.gnome.Builder/x86_64/master/active, which
is a symlink to a ostree checkout from the repository at
~/.local/share/xdg-app/repo/.

The app filesystem layout is very simple. The subdirectory "files"
contains a filesystem that appears in /self in the sandbox. A file
"metadata" contains some settings controlling the app (including what
runtimes it uses). A directory called "export" gets all files exploded
via symlinks to ~/.local/share/xdg-app/exports/ during installations
(for things like desktop files and icons).

Runtimes are very similar, except they don't have any exports and they
get mounted at /usr in the app sandbox.

In addition to /self and /usr, each app gets a per-app /var mounted
which persists over app upgrades. It is stored in (e.g.)
~/.local/share/xdg-app/app/org.gnome.Builder/data/

If you want to debug an app you can run something like:
$ xdg-app run -d --command=bash org.gnome.Builder
This will start a bash with org.gnome.Sdk as /usr, which has things like
valgrind and gdb.

Once installed you can also update things with the update-app/runtime
commands. This should be a lot faster than the initial install,
especially for the runtime as we expect incremental changes to be small.

If you want to experiment with building an app bundle you can use the
build-init and build subcommands. build-init initializes a directory
with the right format (plus a "var" dir for /var), like so:

$ xdg-app build-init /a/directory org.gnome.Sdk org.gnome.Platform 3.16

You can then build things inside it e.g. like this:

$ xdg-app build /a/directory ./configure --prefix=/self
$ xdg-app build /a/directory make; make install

You can also use rpm to build your app, like e.g.:

$ xdg-app build /a/directory rpmbuild  --rebuild foo.src.rpm

The sdk includes rpmbuild, which is preconfigured to build things
in /self. So many srpms build "as-is".

For this to work great you have to have a writable rpm database in /var
with the right initial content though, which is why the repo has to
additional special runtimes called "org.gnome.Platform.Var" and
"org.gnome.Sdk.Var". If you have these installed you can initialize the
directory like this:

$ xdg-app build-init /a/directory -v org.gnome.Sdk.Var org.gnome.Sdk
org.gnome.Platform 3.16

Have fun playing with this.

-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Alexander Larsson                                            Red Hat, Inc 
       alexl redhat com            alexander larsson gmail com 
He's an immortal amnesiac vampire hunter fleeing from a secret government 
programme. She's a green-fingered nymphomaniac advertising executive with 
a song in her heart and a spring in her step. They fight crime! 



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