Playing around with ostree for apps



So, i updated gnome-sdk (https://github.com/alexlarsson/gnome-sdk/) to
use ostree to store and fetch apps.

For instance, if you build latest gnome-sdk you can:

gnome-sdk-repo add-remote alexl https://people.gnome.org/~alexl/repo/
gnome-sdk-repo install-runtime alexl org.gnome.Platform 3.14
gnome-sdk-repo install alexl org.gnome.GEdit
gnome-sdk-run org.gnome.GEdit gedit

and at a later point:
gnome-sdk-repo update-repo org.gnome.Platform 3.14
gnome-sdk-repo update org.gnome.GEdit

What happens is that we download to an ostree repo in
~/.local/share/gnome-sdk/repo, and we then check
out into ~/.local/share/gnome-sdk/deploy.

Checking out means hardlinking to the repo, so any files
shared between modules is shared (via the hard links) both on disk and
in page cache.

There are some issues:

* We don't clean up old versions on update yet

* Ownership of files is problematic. The files in the repo has to have
  the same ownership as the final constructed checkout, or hardlinks
  would not work. However, since we're creating the homedir in the users
  directory the files can't be owned by root. So, atm the files in myy
  repo are owned by uid 1000, and you better be uid 1000 too.
  There is a "user checkout" mode in ostree which allows the checkout to
  have a different owner than the repo, but that mode means not using
  hardlinks during checkout, which is fail. Also, even with that we
  have the problem that the user can only create files owned by himself
  in the repo.
  I think we need a separate repo mode, which is like the normal one,
  sans the ownership, and which copies on checkout unless your doing
  a user checkout.

* Checkout from people.gnome.org is pretty damn slow. Not sure if this
  is ostree in general or just the gnome machine.








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