Re: New gnome-sdk images with gnome-builder app bundle
- From: Vadim Rutkovsky <roignac gmail com>
- To: Alexander Larsson <alexl redhat com>
- Cc: gnome-os-list gnome org
- Subject: Re: New gnome-sdk images with gnome-builder app bundle
- Date: Tue, 13 Jan 2015 12:34:21 +0100
Hey,
I was running this in jhbuild shell on RHEL7 and I get:
$ xdg-app run org.gnome.Builder
*** Error in `xdg-app': munmap_chunk(): invalid pointer: 0x000000000040801e ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7bc67)[0x7f5261ab3c67]
/home/vrutkovs/jhbuild/install/lib/libglib-2.0.so.0(g_ptr_array_foreach+0x3b)[0x7f5262033aab]
/home/vrutkovs/jhbuild/install/lib/libglib-2.0.so.0(+0x1eb50)[0x7f5262033b50]
xdg-app[0x404aae]
xdg-app[0x4038f0]
xdg-app[0x4033d0]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x7f5261a59af5]
xdg-app[0x403495]
======= Memory map: ========
[,,]
It seems some libs are either not included in Platform or being discouraged.
On Mon, Jan 12, 2015 at 9:46 PM, Alexander Larsson <alexl redhat com> wrote:
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!
_______________________________________________
gnome-os-list mailing list
gnome-os-list gnome org
https://mail.gnome.org/mailman/listinfo/gnome-os-list
--
Vadim Rutkovsky
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]