Commit Graph

118 Commits (master)

Author SHA1 Message Date
Simon McVittie 73b0adfe0a Hide non-public symbols from libglnx and libxdgapp-common
This avoids exporting glnx_*, calc_sizes(), etc. However, we do want to
export xdg_app_error_quark(), so do that.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-01-28 23:43:30 +01:00
Simon McVittie bc451c567e Build top-level directory before building documentation
Otherwise, we try to scan a library that we haven't yet built.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-01-28 23:40:15 +01:00
Alexander Larsson 570ba8b55f Add --enable-libxdgapp configure flag and disable lib by default 2015-12-16 15:27:42 +01:00
Emmanuele Bassi 52ba736518 Add introspection support to libxdg-app
We may want to use it from non-C languages.
2015-12-04 09:55:40 +00:00
Alexander Larsson 132d1186d9 Initial version of libxdg-app
This is a highlevel library for working with xdg-app without using
the commandline interface. The primary usecase for this is for
creating a graphical frontend for app installation/update.
2015-12-03 22:41:16 +01:00
Alexander Larsson 106a5b06ec Rename lib/ to common/ in preparation for public xdg-app library 2015-11-26 22:05:38 +01:00
Alexander Larsson b2790349d6 Add xdg-app-builder
This is a tool that makes it easy to build applications and their
dependecies by automating the configure && make && make install steps.
2015-11-25 15:26:32 +01:00
Alexander Larsson 452c5d38c1 Add xdg-app.pc file with variable for interfaces_dir 2015-11-11 11:26:03 +01:00
Alexander Larsson 3a47f0b282 Install dbus introspection files 2015-10-21 09:52:55 +02:00
Alexander Larsson 6e1c211a5c Correct capitalization on dbus interface filename 2015-10-21 09:48:53 +02:00
Alexander Larsson 645c433960 Fix distcheck issues 2015-09-17 20:24:04 +02:00
Alexander Larsson d79935bd4a Add minimal document portal tests 2015-09-07 17:17:44 +02:00
Alexander Larsson de004081ef Initial tests of the db 2015-08-25 13:16:34 +02:00
Alexander Larsson 929071ad10 Import xdg-document-portal from github repo
This pulls in the daemon code from:
     https://github.com/alexlarsson/xdg-document-portal/

We need this in xdg-app because we need to set up the mounts correctly.
2015-07-10 16:56:39 +02:00
Alexander Larsson 302f88e69d Restructure directories and build
This moves a all source code into separate subdirs per binary. The
helper and the generic stuff goes into lib/ which is then used by all
the others. For now this is a completely internal library, but at
some point we will probably clean it up and expose some subset.

Also, we move the dbus proxy to libexecdir.
2015-07-10 12:15:45 +02:00
Alexander Larsson 0774aa39e2 Add xdg-app.env file for gdm 2015-06-23 11:40:11 +02:00
Alexander Larsson b1aa93a9d4 Use seccomp to limit allowed syscalls
We disallow any network family but inet, inet6, unix and netlink
as the rest are generally weird old unused things.

We also have a blacklist of syscalls, some are just old unnecessary
things, some are things that are "risky", like NUMA/VM control, and
setting up custom sub-namespaces.
2015-06-02 11:14:27 +02:00
Alexander Larsson 50b3de3728 helper: Optionally add back setuid support
If you don't have userns support in your kernel you can use this.
The future lies with userns though, so it is the default.
2015-05-29 10:46:10 +02:00
Alexander Larsson 2c0c21744f helper: Drop setuid and use user namespaces 2015-05-28 22:02:31 +02:00
Colin Walters 290253b4e2 build: Fix srcdir != builddir from git
We could just `mkdir -p profile`, but it's saner to just drop it in
the builddir.
2015-05-19 12:36:34 -04:00
David King 27fdae4153 Add a simple profile.d snippet for XDG_DATA_DIRS
https://github.com/alexlarsson/xdg-app/issues/74
2015-05-15 17:00:38 +01:00
Alexander Larsson 01bd1a3dfd Make xdg-dbus-proxy talk command line args and install it 2015-05-06 15:01:55 +02:00
Alexander Larsson 7183917583 Break out dbus proxy implementation to separate file 2015-05-06 12:38:52 +02:00
Alexander Larsson 6048b38158 dbus proxy in progress 2015-05-05 17:23:57 +02:00
Alexander Larsson 0eada3ef66 Fix dist 2015-03-23 11:16:41 +01:00
Alexander Larsson 22ac447fc6 Import libglnx 2015-03-20 15:57:22 +01:00
Alexander Larsson e0e23ee181 Add make-app-current 2015-03-11 10:25:15 +01:00
Alexander Larsson 957bf050bd Mount system fonts in /run/host/fonts 2015-03-06 11:26:07 +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 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 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
Stephan Bergmann d9fabbde86 Fix path 2015-02-17 16:54:56 +01:00
Alexander Larsson 884040dfcc Move run helpers from builtin-run to xdg-app-run.c file 2015-02-13 10:29:41 +01:00
Alexander Larsson 4ff10fee86 Add support for --with-priv-mode=caps
This allows you to set the privs for the helper via file
capabilities instead of setuid.
You can also set the mode to none, but then you have to
manually set either setuid or filecaps (for instance via
a packaging script).
2015-02-08 23:37:47 +01:00
Alexander Larsson 287a93742f Put system installed apps/runtimes in localstatedir (/var) 2015-02-06 11:59:38 +01:00
Alexander Larsson 3a56d3f465 Call out to the session helper and get the monitor dir 2015-01-28 20:03:13 +01:00
Alexander Larsson fca4a16209 Add xdg-app-session-helper
This is a small app that makes copies of various system files to a directory
in /run so that the app sandbox can receive updates to these. This solves
the issue that we can't generally bind-mount say /etc/resolv.conf, because
it will be replaced with rename-over.
2015-01-28 20:03:13 +01:00
Matthias Clasen dfde6c46b8 Separate out repo-updating command
Take the summary update out of build-export, and add it to
a new repo-update command instead.
2015-01-24 21:54:42 -05:00
Alexander Larsson d22f1d01e3 Fix another typo 2015-01-23 11:51:00 +01:00
Alexander Larsson 8336db2b14 Fix typo from last commit 2015-01-23 11:48:32 +01:00
Matthias Clasen b0d9a08bb1 Add bash completion 2015-01-23 00:52:20 -05:00
Matthias Clasen f62277e5af Use libsoup to load summary via http
We disable gvfs in xdg-app, so we need to use libsoup explicitly.
This is hopefully only temporary, until ostree grows api for dealing
with summaries.
2015-01-21 15:23:14 -05:00
Matthias Clasen cdc13dd25c Change terminology from 'repo' to 'remote'
The add/delete/list-repo commands are renamed to add/delete/list-remote,
to align our terminology with ostree and git.
2015-01-19 20:16:00 -05:00
Alexander Larsson bf7fa43431 Merge pull request #21 from matthiasclasen/uninstall
Uninstall commands
2015-01-19 11:50:33 +01:00
Alexander Larsson 4d2cc777f3 Also rewrite Exec= in service files 2015-01-19 11:14:20 +01:00
Alexander Larsson e46dc64954 Merge pull request #18 from matthiasclasen/build-finish
Two commands that give us some build->bundle support
2015-01-16 21:27:09 +01:00
Matthias Clasen d137ca16c6 Rename make-repo to build-export
This is more in line with the other build commands.
2015-01-16 13:59:34 -05:00
Matthias Clasen fbba6f4f6d Add uninstall-runtime and uninstall-app commands 2015-01-16 00:48:57 -05:00
Matthias Clasen 4cec1e3934 Add a repo-contents command
This can show available runtimes and applications.
2015-01-15 23:25:03 -05:00
Matthias Clasen 23baa46371 Add a make-repo command
This can take a finalized build directory and create an
ostree repo from it.
2015-01-15 20:06:11 -05:00
Matthias Clasen 85670c632f Add a build-finish command
This command collects likely files to export, adds the command
key and [Environment] to the metadata, and removes the var/
directory.
2015-01-15 17:31:29 -05:00
Alexander Larsson daf41bab9c Add triggers for exports
This runs the triggers in a read-only environment to update things
like desktop file databases, icon caches and mimeinfo databases.
2015-01-15 21:45:55 +01:00
Alexander Larsson fb6238347a Merge pull request #14 from matthiasclasen/list-runtimes
Commands to list applications and runtimes
2015-01-15 20:09:20 +01:00
Matthias Clasen 3759de6e7f Add a list-repos command
This is very similar to the ostree remote list command.
2015-01-15 06:12:08 -05:00
Matthias Clasen 459e15a820 Add a list-runtimes command
This allows to list the installed runtimes, optionally showing
arches and branches in addition to names.
2015-01-14 20:56:25 -05:00
Alexander Larsson 92f23cbde2 Merge pull request #4 from matthiasclasen/delete-repo
Delete repo
2015-01-14 10:28:59 +01:00
Matthias Clasen 2232a6d066 Add man pages 2015-01-14 01:38:49 -05:00
Matthias Clasen 20a0917306 Add a delete-repo command
A natural counterpart to add-repo.
2015-01-13 21:06:07 -05:00
Vadim Rutkovsky 4720d889f8 Use sudo only if --enable-sudo is passed 2015-01-13 14:56:14 +01:00
Vadim Rutkovsky ad1914a912 Use sudo and DESTDIR in install-exec-hook
This will allow installing the app via jhbuild
2015-01-13 13:40:21 +01:00
Alexander Larsson 5747018d6e Add build builtin 2015-01-12 08:50:09 +01:00
Alexander Larsson 5f36dda947 Add build-init builtin 2015-01-12 08:50:09 +01:00
Alexander Larsson 13261318e0 Add initial version of run command 2014-12-18 17:51:37 +01:00
Alexander Larsson 3775ae51e2 Add update-runtime 2014-12-18 11:37:30 +01:00
Alexander Larsson 06e57a081d Add install-runtime builtin 2014-12-18 11:06:37 +01:00
Alexander Larsson 63859dc0ee Add XdgAppDir and use 2014-12-18 10:14:46 +01:00
Alexander Larsson a640cd365b Initial version 2014-12-17 15:28:07 +01:00