Commit Graph

293 Commits (d667f4e81c5b673b7f673047359f183f426dc996)
 

Author SHA1 Message Date
David King d667f4e81c Add COPYING to reflect license headers 2015-03-31 15:36:29 +01:00
Alexander Larsson 07cd13e757 Add copyright headers 2015-03-23 12:17:58 +01:00
Alexander Larsson 6b9f8407fe Merge pull request #62 from amigadave/attr-header
Check for libattr header
2015-03-23 12:10:52 +01:00
Alexander Larsson b886cdb5c9 Fix build on older glib 2015-03-23 11:36:48 +01:00
Alexander Larsson ee2edada58 Bump version to 0.1 2015-03-23 11:16:41 +01:00
Alexander Larsson a4f60de77f helper: Manually apply bind flags recursively
When we do a recursive bind mount we need to also apply the
flags recursively. We do this manually by parsing /proc/self/mountinfo.
2015-03-23 11:16:41 +01:00
Alexander Larsson b4c77b8c02 Require ostree 2015.3
This is latest version that is in fedora 21 atm. Its got some fixes
that are nice to have, but unfortunately deltas are not yet stable
in it.
2015-03-23 11:16:41 +01:00
Alexander Larsson 0eada3ef66 Fix dist 2015-03-23 11:16:41 +01:00
Alexander Larsson a88795c4b1 fixup g_steal_pointer use 2015-03-23 11:16:41 +01:00
David King b025874806 Check for libattr header 2015-03-21 19:04:43 +01:00
Alexander Larsson 8f427c4fb6 Use g_steal_pointer 2015-03-20 16:55:05 +01:00
Alexander Larsson ad8164a47f Use glnx_set_error_from_errno 2015-03-20 16:45:09 +01:00
Alexander Larsson b99e01b25b Switch to GLnxDirFd 2015-03-20 16:41:06 +01:00
Alexander Larsson 88c5c65e2d Use cleanup macros from libglnx 2015-03-20 16:36:17 +01:00
Alexander Larsson c856556b8a Convert to g_autoptr 2015-03-20 16:33:18 +01:00
Alexander Larsson 22ac447fc6 Import libglnx 2015-03-20 15:57:22 +01:00
Alexander Larsson db191015d4 xdg-app-dir: Move exports to update_exports
During installation of an app we rewrite and clean up the
deployed export directory, but don't actually export it.

Instead we export only the "current" version of the application
when we run update_exports (passing in which app changed). This way
we ensure that any newly exported files in the current app are exported
before we remove all dangling symlinks.

To make the symlinks properly dangle we also make the export symlinks
point use the "current" and "active" symlinks so non-current deployed
dirs don't keep an old symlink from being removed.
2015-03-11 10:25:18 +01:00
Alexander Larsson c71c8d0b5b Make sure we initialize variables that auto-cleanup 2015-03-11 10:25:18 +01:00
Alexander Larsson e0e23ee181 Add make-app-current 2015-03-11 10:25:15 +01:00
Alexander Larsson e2fdfc531c Track which branch of an app is current
When installed a branch is made current, and we list this in list-apps.
This means nothing atm, but will be used to limit exports to the current
branch of an app.
2015-03-10 16:26:51 +01:00
Alexander Larsson e055d84285 uninstal: Fix the cleanup of empty dirs 2015-03-10 16:25:21 +01:00
Alexander Larsson f32a228887 builtins-list: Use the new helper to list refs 2015-03-10 15:31:38 +01:00
Alexander Larsson 737a516ce1 Add xdg_app_dir_list_refs[_for_name] helpers
These lists all the deployed refs in a given directory.
2015-03-10 15:30:53 +01:00
Alexander Larsson b9e09e6df3 Remove old code handling per-app data
We no longer store the per-app data in the xdg-app dir.
2015-03-10 10:38:09 +01:00
Alexander Larsson 961c3afb1d Move update_exports out of deploy/undeploy
We call this in the builtins rather than the lowlevel deploys,
which lets us call it less times if we're doing multiple deploys
in an operation.
2015-03-10 10:14:12 +01:00
Alexander Larsson c90f9473e1 deploy: Split the file rewriting and prefix checkout out from the exporting
We need this so that we can export an app multiple times, if you're e.g.
switching between deployed versions.
2015-03-09 17:13:04 +01:00
Alexander Larsson 957bf050bd Mount system fonts in /run/host/fonts 2015-03-06 11:26:07 +01:00
Alexander Larsson 5bfee405b1 Add metadata option to limit DRI access 2015-03-05 15:55:36 +01:00
Alexander Larsson da62eccc46 Mount /run/media if mount-host-fs
This is where things like usb sticks etc, show up, so its important to
include.
2015-03-05 11:22:16 +01:00
Alexander Larsson e2edb99f7c xdg-app-helper: Sort the command line parsing
This makes it easier to add new ones and avoid duplication
2015-03-05 10:35:18 +01:00
Alexander Larsson a6a43333f4 xdg-app-helper: Flesh out usage output 2015-03-05 10:34:52 +01:00
Alexander Larsson 86cb39d30e Run each app in a custom systemd user scope (if available) 2015-03-04 14:40:17 +01:00
Alexander Larsson c40eba6e97 Check for sys/capability.h via AC_CHECK_HEADER instead 2015-03-02 12:36:56 +01:00
Alexander Larsson c7c201faa9 Revert "Look for libcap pkg-config file for cflags to ensure we have the headers"
This breaks gnome-continuous which doesn't have a pc file for libcap.

This reverts commit 26d9596730.
2015-03-02 12:27:09 +01:00
Alexander Larsson 26d9596730 Look for libcap pkg-config file for cflags to ensure we have the headers
We don't actually link to the library though.
2015-03-02 11:55:31 +01:00
Alexander Larsson e3d5c2d801 Fix warning in add-remote if no summary.
We were always ref:ing the hashtable, so always allocate it.
2015-03-02 11:38:37 +01:00
Alexander Larsson 471cdba23e Move writable area from /var to ~/.var/app/$appid
Having /var writable is pretty weird for a desktop app, this
is typically a system location. Instead of doing this
we assume the user writes writable data into  ~/.var/app/$appid.
This means an app following this can run both as standalone or
as an xdg-app without changes.

If the app has access to the home directory, then this just works.  If
it does not, then we ensure we have this directory in the volatile
home directory and then bind mount in the real directory there.

We also pre-create config/data/cache subdirectories in this
directory and set XDG_DATA/CONFIG/CACHE_HOME to point to them, which
means apps that use these "just work".
2015-02-19 22:52:01 +01:00
Alexander Larsson 82895f5e36 xdg-app run: Make the helper command line a bit shorter
Now that we use getopt we can combine flags in the
commandline.
2015-02-19 20:57:53 +01:00
Alexander Larsson bac241d2e0 xdg-app-helper: Add bool type and use 2015-02-19 20:49:06 +01:00
Alexander Larsson 08227a2002 xdg-app-helper: Use getopt to parse args
This removes some code.
2015-02-19 20:42:42 +01:00
Alexander Larsson c8dc4d1755 xdg-app build - clean the environment
For builds, reproducability and not accidentally getting
the host environment details into the build is pretty important,
so we rebuild the entire environment, controlling exactly
what gets into it.
2015-02-19 19:52:17 +01:00
Alexander Larsson 81c3c0c586 xdg-app-helper: Minor cleanup
This splits the file contents writing to another function.
This will be needed in another place later.
2015-02-19 17:44:34 +01:00
Alexander Larsson cf2a39fe84 Use bind mounts instead of mknod
Instead of creating real device nodes we just bind mount the system
ones. This means that we require no mknod capabilities, which is good
in itself, but it also allows us to eventually run completely
unprivileged with user namespaces.
2015-02-19 17:44:34 +01:00
Alexander Larsson 6584ba71e3 Merge pull request #53 from stbergmann/master
Fix path
2015-02-17 16:58:39 +01:00
Stephan Bergmann d9fabbde86 Fix path 2015-02-17 16:54:56 +01:00
Alexander Larsson d7f186c118 build-finalize: Ensure we always create the export dir
Otherwise build-export fails to see we ran finalize
2015-02-17 16:20:33 +01:00
Alexander Larsson d8ac76d467 Revert "Add share/pixmaps to build-finish exports"
It should be easy to just move the icons to the icons supdirectory.
Lets get rid of share/pixmap...

This reverts commit 2cacc3a67a.
2015-02-13 21:30:47 +01:00
Alexander Larsson bcf2b13279 Don't double-quote command when rewriting desktop files 2015-02-13 11:45:13 +01:00
Alexander Larsson 2cacc3a67a Add share/pixmaps to build-finish exports 2015-02-13 11:45:00 +01:00
Alexander Larsson 7017710201 Apply metadata and --allow --forbid switches in xdg-app build 2015-02-13 10:57:56 +01:00