Alexander Larsson
26c2bb1b81
lib: Add xdg_app_bundle_ref_get_installed_size()
2016-02-25 21:34:44 +01:00
Alexander Larsson
ef14c9f8db
common: Add and use xdg_app_appstream_xml_root_to_data
2016-02-25 19:38:08 +01:00
Alexander Larsson
7ac2722800
common: Add xdg_app_read_stream helper
2016-02-25 19:34:04 +01:00
Alexander Larsson
73defceec6
common: Break out xml appstream rewriting to helper functions
2016-02-25 18:26:40 +01:00
Alexander Larsson
c84ebe0440
Support --filesystem=xdg-run/foo
2016-02-25 17:11:37 +01:00
Alexander Larsson
26cd90e100
Allow specifying subdir of xdg dir, like: --filesytem=xdg-download/subdir
2016-02-25 16:51:45 +01:00
Alexander Larsson
6c5e1a8a92
Fix some compiler warning (unused vars)
2016-02-25 16:09:49 +01:00
Alexander Larsson
382ae396b3
lib: Add xdg_app_installation_install_bundle
2016-02-25 16:05:13 +01:00
Alexander Larsson
eadb10cba7
common: Move part of bundle install to helper functions
2016-02-25 11:31:22 +01:00
Alexander Larsson
cbf3d25440
Remove unused variable
2016-02-24 14:33:00 +01:00
Alexander Larsson
4c6a05aba1
common: Break out bundle loader to helper utility
2016-02-24 14:16:52 +01:00
Alexander Larsson
c071916ac8
Make /run/build and /run/build-runtime symlinks to the right place
2016-02-23 14:13:58 +01:00
Alexander Larsson
1e83b2c021
Fix xml printing of nodes with no children
2016-02-19 14:57:53 +01:00
Alexander Larsson
593bca9fb9
When deploying, always make /etc/resolve.conf a symlink into the monitor dir
...
This way we can use the deployed etc dir instead of having to create
our own.
2016-02-19 11:31:18 +01:00
Alexander Larsson
01bfb2e996
helper: Put monitor path in /run/host instead of /run/user/$uid
...
This means we can always find it in a fixed place, and thus we can
have a static symlink pointing to this.
2016-02-19 11:24:32 +01:00
Alexander Larsson
eb2edc578a
Fix use after free
2016-02-19 09:48:18 +01:00
Alexander Larsson
d62a731cd4
Always create /etc/passwd,group,resolve.conf,machine-id when deploying
...
This means we can rely on these and bind-mount on top of them when
running.
2016-02-18 22:43:14 +01:00
Alexander Larsson
6428fcce45
common: Add XDG_APP_CP_FLAGS_MOVE support
2016-02-18 17:31:43 +01:00
Alexander Larsson
abdbb17a72
Remove all appstream checkouts and mirrored refs when deleting remote
2016-02-18 12:54:40 +01:00
Alexander Larsson
5a7e894edd
appstream: Add runtime, sdk and tags to appstream xml
2016-02-17 16:21:20 +01:00
Alexander Larsson
c01ec3fae5
deploy: Add metadata tags to exported desktop files.
2016-02-17 15:24:30 +01:00
Alexander Larsson
be4b6b8013
helper: drop caps in launcher
...
We don't need any capabilities in the launcher when waiting for the child
to die, so drop them as early as possible.
2016-02-15 10:54:49 +01:00
Alexander Larsson
e26bf79857
Make system repo bare-user too, to avoid any chance of creating setuid bits
...
There is no real reason for the system repo to be plain "bare" anyway,
bare-user works fine for us.
2016-02-12 17:17:36 +01:00
Alexander Larsson
c0a18e38c8
Work around race when doing first initial appstream checkout.
...
Whenever we finish the first update of appstream for a remote we
touch the toplevel appstream directory. This avoids an race-like issue
where you can't put a watch on the non-existant timestamp file for
a remote before it is created.
2016-02-12 13:03:24 +01:00
Alexander Larsson
767b89cd71
Revert "When rewriting Exec lines, don't use full bindir"
...
This is not right, dbus service files need an absolute path.
This reverts commit 23cd97a919 .
2016-02-11 13:31:05 +01:00
Alexander Larsson
23cd97a919
When rewriting Exec lines, don't use full bindir
...
This breaks for instance when installing an app from inside a sandbox,
or when installing it with an out-of-tree xdg-app build that would not
necessary be used later. Instead rely on the PATH to pick up the right one.
2016-02-11 11:30:41 +01:00
Alexander Larsson
fc986d7814
helper: If stdout is a tty, mount tty as /dev/console
...
This means ttyname() works in the sandbox. We already have access
to the tty via stdin, so this will not elevate privs.
2016-02-10 14:48:56 +01:00
Alexander Larsson
0c9d1538c9
Add option to disable sandbox triggers
...
This is not something you should normally do, but the gnome-software
app needs this, as recursive sandboxes don't work.
2016-02-09 15:02:56 +01:00
Alexander Larsson
5dfc59ee02
Pass location of exports to triggers as arg1
...
This changes nothing but is a preparation for later changes
2016-02-09 14:50:35 +01:00
Alexander Larsson
51fcc6e281
install: Fix assertion on runtime install
2016-02-09 11:48:33 +01:00
Alexander Larsson
8f6e6c0dab
Make sure we export files during install
...
is_data was never set to true, so we didn't run the exports
during install.
2016-02-09 10:32:36 +01:00
Alexander Larsson
22522c2ac6
Make arches canonical
...
Mostly we just pass on the uname() machine, but for arm, x86
and mips we need some special handling.
2016-02-08 12:52:46 +01:00
Alexander Larsson
dd1e967b60
Don't export app-info files
...
Also, pick up the non-exported files when updating the appdata branch
2016-02-08 10:19:30 +01:00
Timm Bäder
fbcdb07768
app-utils: typo
2016-02-03 15:43:49 +01:00
Alexander Larsson
2d85126fc4
Add app-path to the xdg-app-info in the sandbox
...
This lets you find where the host can see your files. This is useful
for instance when you want an external app (such as a help reader) to
read your files.
2016-02-03 14:12:36 +01:00
Alexander Larsson
05f79d8d66
common: Always resolve active symlink when looking up deploy dir
2016-02-03 14:12:08 +01:00
Alexander Larsson
8144a70bd7
helper: Make ~/.local/share/xdg-app writable again (if you have homedir access)
...
This makes the gnome-software app work, and if you have homedir access
you have all sort of ways to mess up apps anyway, so this is fake security.
2016-02-01 21:39:20 +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
4ac5befb7f
Support a proxy on the system bus similar to the one on the session bus
2016-01-29 08:50:11 +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
Alexander Larsson
a12bb89c9c
utils: Fix nul termination of xdg_app_spawn output
...
The terminating zero byte was written after the output stream
was closed, so it never got added to the string.
2016-01-28 16:20:59 +01:00
Alexander Larsson
96d9204f86
helper: Update the error messages to not refer to --disable-userns
2016-01-28 14:38:59 +01:00
Alexander Larsson
225c359128
Fix include order to build with older libsoup versions
2016-01-28 14:35:46 +01:00
Alexander Larsson
a741ba418f
Finish the optional xauth work
2016-01-28 14:34:22 +01:00
Alexander Larsson
927e3cab48
Make xauth use optional
...
This is not needed on some Xservers, and not if you're only building stuff.
So, lets make it optional.
2016-01-28 12:01:08 +01:00
Alexander Larsson
f8d502ad19
Require some way to set cgroup for apps (currently systemd --user)
...
When the portal looks up the peer app id it needs to know whether it
can trust that the cgroup path would be set, so that it can tell
whether the app is sandboxed or trusted. We used to check if the
cgroup was session-$uid.slice, and if so it was trusted, but this
failed in the case of per-user dbus (not per-session) where
e.g. gnome-terminal would be outside the session.
Now we just fail if we can't set up a cgroup, thus whenever the cgroup
path is not right we know that the app is trusted.
2016-01-28 11:15:58 +01:00
Alexander Larsson
6349b3ffc1
helper: Make user namespace support vs setuid a runtime, not build-time option
...
We now check at runtime if we have raised privs, and only if not so do we try
to use unprivileged user namespaces. This means you can build xdg-app however,
and then setuid/setcap the binary however you want afterwards.
2016-01-28 09:43:45 +01:00
Alexander Larsson
4671149722
update-repo: Escape text when writing xml
2016-01-25 13:13:24 +01:00
Alexander Larsson
4eb7b14996
update-appstream: Fix crash in case there are no 128x128 icons
2016-01-24 21:26:40 +01:00
Alexander Larsson
a95c99270a
Move the GZlib* autoptr backport to libglnx
2016-01-22 15:30:48 +01:00