Commit Graph

103 Commits (78c3391b78f8ff8fb295fe328d36d0b29983801b)

Author SHA1 Message Date
Cosimo Cecchi 78c3391b78 system-helper: make sure to run with XDG_DATA_DIRS set
Otherwise we can see in the log that update-mime-database will complain
about it not being set when installing an application using the system
helper.
2017-01-16 11:36:48 +01:00
Simon McVittie f966605563 build: run install-test-data-hook even if using system bwrap
The !WITH_SYSTEM_BWRAP conditional was too broad here.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-08-01 11:28:45 +01:00
Ray Strode f5ddf78c79 install dbus systemd service file snippet
flatpak currently installs a gdm env.d and a bash profile.d file to
ensure XDG_DATA_DIRS is set to the right value.  Neither is sufficient
when the dbus daemon is activated as a system --user service.

This commit adds a dbus service file snippet to frob its environment
variable for that case.
2016-07-26 13:33:31 -04:00
Cosimo Cecchi 90a3522148 document-portal: add support to activate paths inside /app
When the document portal is called from within the sandbox with an
app-private file path, translate the path to a document portal URI in
order to make it available to other applications.
2016-07-11 15:58:29 -07:00
Simon McVittie ee99e8afff Add BWRAP and --with-system-bubblewrap configure arguments
This lets distributors share a system copy of bubblewrap (>= 0.1.0)
between Flatpak and any other projects that benefit from it, if they are
careful to keep new versions in sync. The default is still to use the
bundled submodule, ensuring compatibility and simplifying dependencies.

Enable $PATH search everywhere that runs bwrap, so that $BWRAP doesn't
necessarily need to be a fully-qualified path.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-06-26 11:09:03 +01:00
Simon McVittie c59fba9be3 tests: don't treat helper scripts as though they were tests
We shouldn't install .test metadata for these, and run them as TAP
test scripts. In glib-tap.mk jargon that makes them "extra scripts".

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-06-25 00:45:09 +01:00
Simon McVittie 3fc47aa0d3 Link libselinux into bwrap (if enabled) with LDADD, not LDFLAGS
As explained in bubblewrap commit f6ca3690, libraries should
always go in LDADD and not LDFLAGS, because the order of arguments
to the linker matters. Many distributions' linkers are tolerant
enough that it doesn't matter in practice, but it matters for
static linking, and it might also matter on Ubuntu.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-06-12 17:08:47 -04:00
Simon McVittie ee77be10b5 tests: clean up what is distributed
Listing variables whose values are conditional in EXTRA_DIST is
problematic: if Flatpak was configured without installed-tests,
we would not distribute those files. This is a problem during
distcheck, where installed-tests are disabled.

For files not placed in a special subdirectory, glib-tap.mk handles
this for us. For the keyring and the databases, we have to do it
ourselves, by arranging for them to be in a dist_ variable that is
special to Automake - when determining what to distribute, Automake
includes anything that is selected for distribution under any
combination of conditionals.

While I'm here, include test keyring's README in tarballs: its advice
is equally applicable in a tarball release.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-06-12 10:35:13 +01:00
David King b230abe4fe Include README.md in tarball 2016-05-31 10:38:29 +02:00
David King 965b56fcc5 build: Use AM_DISTCHECK_CONFIGURE_FLAGS
DISTCHECK_CONFIGURE_FLAGS is for users and packagers to override
distcheck options, while AM_DISTCHECK_CONFIGURE_FLAGS is for the
maintainer of the software.

https://www.gnu.org/software/automake/manual/automake.html#DISTCHECK_005fCONFIGURE_005fFLAGS
2016-05-31 10:35:14 +02:00
David King fc6282e865 bwrap: Move to under libexecdir
According to the FHS, applications which place internal libraries in
/usr/libexec should not also use /usr/lib for this purpose:

http://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s07.html

As several flatpak helpers are already installed in libexecdir, move
the bwrap helper to /usr/libexec/flatpak-bwrap.
2016-05-30 18:40:12 +02:00
Alexander Larsson 70c2da02ed Update PRIV_MODE_SETCAPS with the new required caps
We now need setuid/setgid caps too.
2016-05-24 09:44:48 +02:00
Alexander Larsson c635633e6b Add --with-system-install-dir option 2016-05-18 11:11:03 +02:00
Alexander Larsson aa11387031 tests: Add test-run-system.sh 2016-05-17 17:49:55 +02:00
Alexander Larsson 28b549156a Split out permission store from session helper
This is now available as org.freedesktop.impl.portal.PermissionStore
2016-05-09 14:07:22 +02:00
Alexander Larsson 5e9b247d26 Migrate ~/.local/share/xdg-app to ~/.local/share/flatpak 2016-05-09 12:21:28 +02:00
Alexander Larsson 8abbc0186e Rename everything but the on-disk location to flatpak 2016-05-09 11:11:55 +02:00
Alexander Larsson ba37b22d78 Rename library to libflatpak 2016-05-09 09:46:26 +02:00
Alexander Larsson 6a613d1fab Rename all non-autogenerated symbols to flatpak 2016-05-09 09:00:20 +02:00
Alexander Larsson 1df3e4845b Fix various distcheck issues 2016-05-03 09:36:33 +02:00
Alexander Larsson bffaa12301 Remove old gtester references 2016-05-03 09:25:05 +02:00
Alexander Larsson 4c3bf179e2 Use bubblewrap instead of xdg-app-helper
Bubblewrap is a new tool from project atomic. Its similar to the old
xdg-app-helper, but even more minimal, and a bit more generic. Its designed
to be easy to git submodule install, but at some point we will probably
support using the system installed version too.

Using bubblewraps lets us share the load of security mainainance and
allows other people to use bubblewrap to do their own unprivileged
sandboxes.
2016-04-29 15:52:44 +02:00
Alexander Larsson ee7be7f82d Build bwrap 2016-04-29 15:38:23 +02:00
Alexander Larsson 3d3ebf814d Support installed tests 2016-04-27 16:37:15 +02:00
Alexander Larsson 8ac40150a6 Initial (empty) version of system helper 2016-04-25 18:59:17 +02:00
Alexander Larsson 351c2d5bd2 Read system remotes from /etc/xdg-app/remotes.d/*.conf 2016-04-21 18:47:11 +02:00
Alexander Larsson 40feb18556 Set xdg-app as the log domain 2016-02-22 08:46:49 +01:00
Alexander Larsson 1fa367199a Allow overriding XDG_APP_BINDIR using make vars 2016-02-11 13:36:34 +01:00
Simon McVittie 0a813296d8 Remove unset variable from EXTRA_DIST
Signed-off-by: Simon McVittie <smcv@debian.org>
2016-01-29 09:50:44 +01:00
Simon McVittie a0fc3c1df3 Distribute .service.in files in tarballs
Signed-off-by: Simon McVittie <smcv@debian.org>
2016-01-29 09:50:30 +01:00
Alexander Larsson a754db12a2 Merge pull request #106 from smcv/symbol-hiding
Hide non-public symbols from libglnx and libxdgapp-common
2016-01-29 09:01:37 +01:00
Alexander Larsson 7f20b44679 Merge pull request #107 from smcv/sd-units
Add systemd user units
2016-01-29 09:00:36 +01:00
Alexander Larsson f0e87af929 Merge pull request #109 from smcv/fhs
Move XDG_APP_SYSTEMDIR to /var/lib/xdg-app or similar
2016-01-29 08:54:25 +01:00
Simon McVittie 8cfad98738 Move XDG_APP_SYSTEMDIR to /var/lib/xdg-app or similar
The FHS specifies a limited number of subdirectories for /var,
which do not include xdg-app. Packaging systems like RPM and dpkg
use a subdirectory of /var/lib, so it seems appropriate for system-wide
xdg-app runtimes and apps too.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-01-29 00:23:35 +01:00
Simon McVittie 9efe31e8d4 Add systemd user units corresponding to the D-Bus session services
Signed-off-by: Simon McVittie <smcv@debian.org>
2016-01-28 23:45:47 +01:00
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