summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2015-07-09 18:16:44 +0200
committerAlexander Larsson <alexl@redhat.com>2015-07-10 12:15:45 +0200
commit302f88e69da195ee44d5809a7355320f0072b47e (patch)
tree30c666f3ec5e1738e3f30fa34d75622b5a8207a8
parentef223b6a46b2426e0cafa4f58e6346f63856e873 (diff)
downloadxdg-app-302f88e69da195ee44d5809a7355320f0072b47e.tar.gz
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.
-rw-r--r--.gitignore3
-rw-r--r--Makefile.am142
-rw-r--r--app/Makefile.am.inc27
-rw-r--r--app/xdg-app-builtins-add-remote.c (renamed from xdg-app-builtins-add-remote.c)0
-rw-r--r--app/xdg-app-builtins-build-export.c (renamed from xdg-app-builtins-build-export.c)0
-rw-r--r--app/xdg-app-builtins-build-finish.c (renamed from xdg-app-builtins-build-finish.c)0
-rw-r--r--app/xdg-app-builtins-build-init.c (renamed from xdg-app-builtins-build-init.c)0
-rw-r--r--app/xdg-app-builtins-build.c (renamed from xdg-app-builtins-build.c)0
-rw-r--r--app/xdg-app-builtins-delete-remote.c (renamed from xdg-app-builtins-delete-remote.c)0
-rw-r--r--app/xdg-app-builtins-install.c (renamed from xdg-app-builtins-install.c)0
-rw-r--r--app/xdg-app-builtins-list-remotes.c (renamed from xdg-app-builtins-list-remotes.c)0
-rw-r--r--app/xdg-app-builtins-list.c (renamed from xdg-app-builtins-list.c)0
-rw-r--r--app/xdg-app-builtins-make-current.c (renamed from xdg-app-builtins-make-current.c)0
-rw-r--r--app/xdg-app-builtins-repo-contents.c (renamed from xdg-app-builtins-repo-contents.c)0
-rw-r--r--app/xdg-app-builtins-repo-update.c (renamed from xdg-app-builtins-repo-update.c)0
-rw-r--r--app/xdg-app-builtins-run.c (renamed from xdg-app-builtins-run.c)2
-rw-r--r--app/xdg-app-builtins-uninstall.c (renamed from xdg-app-builtins-uninstall.c)0
-rw-r--r--app/xdg-app-builtins-update.c (renamed from xdg-app-builtins-update.c)0
-rw-r--r--app/xdg-app-builtins.h (renamed from xdg-app-builtins.h)0
-rw-r--r--app/xdg-app-main.c (renamed from xdg-app-main.c)0
-rw-r--r--configure.ac2
-rw-r--r--data/org.freedesktop.systemd1.xml (renamed from org.freedesktop.systemd1.xml)0
-rw-r--r--data/xdg-app-dbus-interfaces.xml (renamed from xdg-app-dbus-interfaces.xml)0
-rw-r--r--dbus-proxy/Makefile.am.inc12
-rw-r--r--dbus-proxy/dbus-proxy.c (renamed from dbus-proxy.c)0
-rw-r--r--dbus-proxy/xdg-app-proxy.c (renamed from xdg-app-proxy.c)0
-rw-r--r--dbus-proxy/xdg-app-proxy.h (renamed from xdg-app-proxy.h)0
-rw-r--r--lib/Makefile.am.inc55
-rw-r--r--lib/xdg-app-dir.c (renamed from xdg-app-dir.c)0
-rw-r--r--lib/xdg-app-dir.h (renamed from xdg-app-dir.h)0
-rw-r--r--lib/xdg-app-helper.c (renamed from xdg-app-helper.c)0
-rw-r--r--lib/xdg-app-run.c (renamed from xdg-app-run.c)0
-rw-r--r--lib/xdg-app-run.h (renamed from xdg-app-run.h)0
-rw-r--r--lib/xdg-app-utils.c (renamed from xdg-app-utils.c)0
-rw-r--r--lib/xdg-app-utils.h (renamed from xdg-app-utils.h)0
-rw-r--r--session-helper/Makefile.am.inc33
-rw-r--r--session-helper/xdg-app-session-helper.c (renamed from xdg-app-session-helper.c)0
-rw-r--r--session-helper/xdg-app-session.service.in (renamed from xdg-app-session.service.in)0
-rw-r--r--session-helper/xdg-app.gresource.xml (renamed from xdg-app.gresource.xml)2
39 files changed, 153 insertions, 125 deletions
diff --git a/.gitignore b/.gitignore
index d79b250..65f36d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,6 @@ xdg-app-systemd-dbus.[ch]
xdg-app-resources.[ch]
xdg-dbus-proxy
*.service
+xdg-app.env
+xdg-app.sh
+
diff --git a/Makefile.am b/Makefile.am
index 97ae116..0c235a7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,9 @@
NULL =
+bin_PROGRAMS = $(NULL)
+libexec_PROGRAMS = $(NULL)
+DISTCLEANFILES= $(NULL)
+
if BUILD_DOCUMENTATION
SUBDIRS = doc
endif
@@ -11,6 +15,10 @@ AM_CPPFLAGS = \
-DXDG_APP_TRIGGERDIR=\"$(pkgdatadir)/triggers\" \
-DSYSTEM_FONTS_DIR=\"$(SYSTEM_FONTS_DIR)\" \
-DHELPER=\"$(bindir)/xdg-app-helper\" \
+ -DDBUSPROXY=\"$(libexecdir)/xdg-dbus-proxy\" \
+ -I$(srcdir)/libglnx \
+ -I$(srcdir)/lib \
+ -I$(builddir)/lib \
$(NULL)
triggersdir = $(pkgdatadir)/triggers
@@ -20,130 +28,18 @@ dist_triggers_SCRIPTS = \
triggers/desktop-database.trigger \
$(NULL)
-bin_PROGRAMS = \
- xdg-app-helper \
- xdg-dbus-proxy \
- xdg-app \
- $(NULL)
-
-libexec_PROGRAMS = \
- xdg-app-session-helper \
- $(NULL)
-
-EXTRA_DIST = xdg-app.gresource.xml xdg-app-dbus-interfaces.xml org.freedesktop.systemd1.xml
+EXTRA_DIST = data/xdg-app-dbus-interfaces.xml data/org.freedesktop.systemd1.xml
+noinst_LTLIBRARIES = libglnx.la
libglnx_srcpath := $(srcdir)/libglnx
libglnx_cflags := $(BASE_CFLAGS) "-I$(libglnx_srcpath)"
libglnx_libs := $(BASE_LIBS)
include libglnx/Makefile-libglnx.am.inc
-noinst_LTLIBRARIES = libglnx.la
-
-xdg_app_helper_SOURCES = xdg-app-helper.c
-xdg_app_helper_LDADD = $(LIBSECCOMP_LIBS)
-xdg_app_helper_CFLAGS = $(LIBSECCOMP_CFLAGS)
-
-dbus_built_sources = xdg-app-dbus.c xdg-app-dbus.h
-systemd_dbus_built_sources = xdg-app-systemd-dbus.c xdg-app-systemd-dbus.h
-BUILT_SOURCES = $(dbus_built_sources) $(systemd_dbus_built_sources)
-
-$(dbus_built_sources) : Makefile.am xdg-app-dbus-interfaces.xml
- $(AM_V_GEN) $(GDBUS_CODEGEN) \
- --interface-prefix org.freedesktop.XdgApp. \
- --c-namespace XdgApp \
- --generate-c-code xdg-app-dbus \
- $(srcdir)/xdg-app-dbus-interfaces.xml \
- $(NULL)
-
-$(systemd_dbus_built_sources) : Makefile.am org.freedesktop.systemd1.xml
- $(AM_V_GEN) $(GDBUS_CODEGEN) \
- --interface-prefix org.freedesktop.systemd1. \
- --c-namespace Systemd \
- --generate-c-code xdg-app-systemd-dbus \
- $(srcdir)/org.freedesktop.systemd1.xml \
- $(NULL)
-
-resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/xdg-app.gresource.xml)
-
-xdg-app-resources.h: xdg-app.gresource.xml
- $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
- --target=$@ --sourcedir=$(srcdir) --c-name _gtk --generate-header
-
-xdg-app-resources.c: xdg-app.gresource.xml $(resource_files)
- $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
- --target=$@ --sourcedir=$(srcdir) --c-name _gtk --generate-source
-
-# D-BUS service file
-%.service: %.service.in config.log
- $(AM_V_GEN) $(SED) -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
-
-servicedir = $(DBUS_SERVICE_DIR)
-service_in_files = xdg-app-session.service.in
-service_DATA = xdg-app-session.service
-
-EXTRA_DIST += $(service_in_files)
-
-xdg_app_session_helper_SOURCES = \
- xdg-app-session-helper.c \
- $(dbus_built_sources) \
- xdg-app-resources.h \
- xdg-app-resources.c \
- $(NULL)
-
-xdg_app_session_helper_LDADD = $(BASE_LIBS)
-xdg_app_session_helper_CFLAGS = $(BASE_CFLAGS)
-
-xdg_app_SOURCES = \
- xdg-app-main.c \
- xdg-app-builtins.h \
- xdg-app-builtins-add-remote.c \
- xdg-app-builtins-delete-remote.c \
- xdg-app-builtins-list-remotes.c \
- xdg-app-builtins-repo-contents.c \
- xdg-app-builtins-install.c \
- xdg-app-builtins-make-current.c \
- xdg-app-builtins-update.c \
- xdg-app-builtins-uninstall.c \
- xdg-app-builtins-list.c \
- xdg-app-builtins-run.c \
- xdg-app-builtins-build-init.c \
- xdg-app-builtins-build.c \
- xdg-app-builtins-build-finish.c \
- xdg-app-builtins-build-export.c \
- xdg-app-builtins-repo-update.c \
- xdg-app-dir.c \
- xdg-app-dir.h \
- xdg-app-run.c \
- xdg-app-run.h \
- xdg-app-utils.h \
- xdg-app-utils.c \
- $(systemd_dbus_built_sources) \
- $(dbus_built_sources) \
- $(NULL)
-
-xdg_app_LDADD = $(BASE_LIBS) $(OSTREE_LIBS) $(SOUP_LIBS) libglnx.la
-xdg_app_CFLAGS = $(BASE_CFLAGS) $(OSTREE_CFLAGS) $(SOUP_CFLAGS) -I$(srcdir)/libglnx
-
-xdg_dbus_proxy_SOURCES = \
- xdg-app-proxy.c \
- xdg-app-proxy.h \
- dbus-proxy.c \
- $(NULL)
-
-xdg_dbus_proxy_LDADD = $(BASE_LIBS) libglnx.la
-xdg_dbus_proxy_CFLAGS = $(BASE_CFLAGS) -I$(srcdir)/libglnx
-
-install-exec-hook:
-if DISABLE_USERNS
-if PRIV_MODE_SETUID
- $(SUDO_BIN) chown root $(DESTDIR)$(bindir)/xdg-app-helper
- $(SUDO_BIN) chmod u+s $(DESTDIR)$(bindir)/xdg-app-helper
-else
-if PRIV_MODE_FILECAPS
- $(SUDO_BIN) setcap cap_sys_admin+ep $(DESTDIR)$(bindir)/xdg-app-helper
-endif
-endif
-endif
+include lib/Makefile.am.inc
+include app/Makefile.am.inc
+include session-helper/Makefile.am.inc
+include dbus-proxy/Makefile.am.inc
completiondir = $(datadir)/bash-completion/completions
completion_DATA = completion/xdg-app
@@ -152,15 +48,17 @@ EXTRA_DIST += $(completion_DATA)
profiledir = $(sysconfdir)/profile.d
profile_DATA = xdg-app.sh
EXTRA_DIST += profile/xdg-app.sh.in
-
-envdir = $(datadir)/gdm/env.d
-env_DATA = xdg-app.env
-EXTRA_DIST += env.d/xdg-app.env.in
+DISTCLEANFILES += xdg-app.sh
xdg-app.sh: profile/xdg-app.sh.in
$(AM_V_GEN) $(SED) -e "s|\@localstatedir\@|$(localstatedir)|" \
-e "s|\@sysconfdir\@|$(sysconfdir)|" $< > $@
+envdir = $(datadir)/gdm/env.d
+env_DATA = xdg-app.env
+EXTRA_DIST += env.d/xdg-app.env.in
+DISTCLEANFILES += xdg-app.env
+
xdg-app.env: env.d/xdg-app.env.in
$(AM_V_GEN) $(SED) -e "s|\@localstatedir\@|$(localstatedir)|" \
-e "s|\@sysconfdir\@|$(sysconfdir)|" $< > $@
diff --git a/app/Makefile.am.inc b/app/Makefile.am.inc
new file mode 100644
index 0000000..bba4724
--- /dev/null
+++ b/app/Makefile.am.inc
@@ -0,0 +1,27 @@
+bin_PROGRAMS += \
+ xdg-app \
+ $(NULL)
+
+xdg_app_SOURCES = \
+ app/xdg-app-main.c \
+ app/xdg-app-builtins.h \
+ app/xdg-app-builtins-add-remote.c \
+ app/xdg-app-builtins-delete-remote.c \
+ app/xdg-app-builtins-list-remotes.c \
+ app/xdg-app-builtins-repo-contents.c \
+ app/xdg-app-builtins-install.c \
+ app/xdg-app-builtins-make-current.c \
+ app/xdg-app-builtins-update.c \
+ app/xdg-app-builtins-uninstall.c \
+ app/xdg-app-builtins-list.c \
+ app/xdg-app-builtins-run.c \
+ app/xdg-app-builtins-build-init.c \
+ app/xdg-app-builtins-build.c \
+ app/xdg-app-builtins-build-finish.c \
+ app/xdg-app-builtins-build-export.c \
+ app/xdg-app-builtins-repo-update.c \
+ $(NULL)
+
+xdg_app_LDADD = $(BASE_LIBS) $(OSTREE_LIBS) $(SOUP_LIBS) libglnx.la libxdgapp.la
+xdg_app_CFLAGS = $(BASE_CFLAGS) $(OSTREE_CFLAGS) $(SOUP_CFLAGS)
+
diff --git a/xdg-app-builtins-add-remote.c b/app/xdg-app-builtins-add-remote.c
index e8d619a..e8d619a 100644
--- a/xdg-app-builtins-add-remote.c
+++ b/app/xdg-app-builtins-add-remote.c
diff --git a/xdg-app-builtins-build-export.c b/app/xdg-app-builtins-build-export.c
index 1d1453c..1d1453c 100644
--- a/xdg-app-builtins-build-export.c
+++ b/app/xdg-app-builtins-build-export.c
diff --git a/xdg-app-builtins-build-finish.c b/app/xdg-app-builtins-build-finish.c
index bff0f30..bff0f30 100644
--- a/xdg-app-builtins-build-finish.c
+++ b/app/xdg-app-builtins-build-finish.c
diff --git a/xdg-app-builtins-build-init.c b/app/xdg-app-builtins-build-init.c
index 921f9fd..921f9fd 100644
--- a/xdg-app-builtins-build-init.c
+++ b/app/xdg-app-builtins-build-init.c
diff --git a/xdg-app-builtins-build.c b/app/xdg-app-builtins-build.c
index 8fccfa5..8fccfa5 100644
--- a/xdg-app-builtins-build.c
+++ b/app/xdg-app-builtins-build.c
diff --git a/xdg-app-builtins-delete-remote.c b/app/xdg-app-builtins-delete-remote.c
index 53ef6e2..53ef6e2 100644
--- a/xdg-app-builtins-delete-remote.c
+++ b/app/xdg-app-builtins-delete-remote.c
diff --git a/xdg-app-builtins-install.c b/app/xdg-app-builtins-install.c
index 3395fb3..3395fb3 100644
--- a/xdg-app-builtins-install.c
+++ b/app/xdg-app-builtins-install.c
diff --git a/xdg-app-builtins-list-remotes.c b/app/xdg-app-builtins-list-remotes.c
index 344481e..344481e 100644
--- a/xdg-app-builtins-list-remotes.c
+++ b/app/xdg-app-builtins-list-remotes.c
diff --git a/xdg-app-builtins-list.c b/app/xdg-app-builtins-list.c
index b89a470..b89a470 100644
--- a/xdg-app-builtins-list.c
+++ b/app/xdg-app-builtins-list.c
diff --git a/xdg-app-builtins-make-current.c b/app/xdg-app-builtins-make-current.c
index eac1c64..eac1c64 100644
--- a/xdg-app-builtins-make-current.c
+++ b/app/xdg-app-builtins-make-current.c
diff --git a/xdg-app-builtins-repo-contents.c b/app/xdg-app-builtins-repo-contents.c
index ca8874b..ca8874b 100644
--- a/xdg-app-builtins-repo-contents.c
+++ b/app/xdg-app-builtins-repo-contents.c
diff --git a/xdg-app-builtins-repo-update.c b/app/xdg-app-builtins-repo-update.c
index e817f55..e817f55 100644
--- a/xdg-app-builtins-repo-update.c
+++ b/app/xdg-app-builtins-repo-update.c
diff --git a/xdg-app-builtins-run.c b/app/xdg-app-builtins-run.c
index de9d0f0..9ece439 100644
--- a/xdg-app-builtins-run.c
+++ b/app/xdg-app-builtins-run.c
@@ -337,7 +337,7 @@ xdg_app_builtin_run (int argc, char **argv, GCancellable *cancellable, GError **
goto out;
}
- g_ptr_array_insert (dbus_proxy_argv, 0, g_strdup ("xdg-dbus-proxy"));
+ g_ptr_array_insert (dbus_proxy_argv, 0, g_strdup (DBUSPROXY));
g_ptr_array_insert (dbus_proxy_argv, 1, g_strdup_printf ("--fd=%d", sync_proxy_pipes[1]));
g_ptr_array_add (dbus_proxy_argv, NULL); /* NULL terminate */
diff --git a/xdg-app-builtins-uninstall.c b/app/xdg-app-builtins-uninstall.c
index 470a597..470a597 100644
--- a/xdg-app-builtins-uninstall.c
+++ b/app/xdg-app-builtins-uninstall.c
diff --git a/xdg-app-builtins-update.c b/app/xdg-app-builtins-update.c
index a280f40..a280f40 100644
--- a/xdg-app-builtins-update.c
+++ b/app/xdg-app-builtins-update.c
diff --git a/xdg-app-builtins.h b/app/xdg-app-builtins.h
index 08c3a72..08c3a72 100644
--- a/xdg-app-builtins.h
+++ b/app/xdg-app-builtins.h
diff --git a/xdg-app-main.c b/app/xdg-app-main.c
index 09a207b..09a207b 100644
--- a/xdg-app-main.c
+++ b/app/xdg-app-main.c
diff --git a/configure.ac b/configure.ac
index 6b037bb..e95d921 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,7 +11,7 @@ AC_DISABLE_STATIC
LT_PREREQ([2.2.6])
LT_INIT([disable-static])
-AC_CONFIG_SRCDIR([xdg-app-helper.c])
+AC_CONFIG_SRCDIR([lib/xdg-app-helper.c])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 no-define no-dist-gzip dist-xz tar-ustar foreign subdir-objects])
diff --git a/org.freedesktop.systemd1.xml b/data/org.freedesktop.systemd1.xml
index 5bdbe77..5bdbe77 100644
--- a/org.freedesktop.systemd1.xml
+++ b/data/org.freedesktop.systemd1.xml
diff --git a/xdg-app-dbus-interfaces.xml b/data/xdg-app-dbus-interfaces.xml
index bfa558f..bfa558f 100644
--- a/xdg-app-dbus-interfaces.xml
+++ b/data/xdg-app-dbus-interfaces.xml
diff --git a/dbus-proxy/Makefile.am.inc b/dbus-proxy/Makefile.am.inc
new file mode 100644
index 0000000..42bf93d
--- /dev/null
+++ b/dbus-proxy/Makefile.am.inc
@@ -0,0 +1,12 @@
+libexec_PROGRAMS += \
+ xdg-dbus-proxy \
+ $(NULL)
+
+xdg_dbus_proxy_SOURCES = \
+ dbus-proxy/xdg-app-proxy.c \
+ dbus-proxy/xdg-app-proxy.h \
+ dbus-proxy/dbus-proxy.c \
+ $(NULL)
+
+xdg_dbus_proxy_LDADD = $(BASE_LIBS) libglnx.la
+xdg_dbus_proxy_CFLAGS = $(BASE_CFLAGS) -I$(srcdir)/dbus-proxy
diff --git a/dbus-proxy.c b/dbus-proxy/dbus-proxy.c
index 97cf5bc..97cf5bc 100644
--- a/dbus-proxy.c
+++ b/dbus-proxy/dbus-proxy.c
diff --git a/xdg-app-proxy.c b/dbus-proxy/xdg-app-proxy.c
index 875b3fd..875b3fd 100644
--- a/xdg-app-proxy.c
+++ b/dbus-proxy/xdg-app-proxy.c
diff --git a/xdg-app-proxy.h b/dbus-proxy/xdg-app-proxy.h
index 3496625..3496625 100644
--- a/xdg-app-proxy.h
+++ b/dbus-proxy/xdg-app-proxy.h
diff --git a/lib/Makefile.am.inc b/lib/Makefile.am.inc
new file mode 100644
index 0000000..319f5ed
--- /dev/null
+++ b/lib/Makefile.am.inc
@@ -0,0 +1,55 @@
+noinst_LTLIBRARIES += libxdgapp.la
+
+dbus_built_sources = lib/xdg-app-dbus.c lib/xdg-app-dbus.h
+systemd_dbus_built_sources = lib/xdg-app-systemd-dbus.c lib/xdg-app-systemd-dbus.h
+BUILT_SOURCES = $(dbus_built_sources) $(systemd_dbus_built_sources)
+
+$(dbus_built_sources) : data/xdg-app-dbus-interfaces.xml
+ $(AM_V_GEN) $(GDBUS_CODEGEN) \
+ --interface-prefix org.freedesktop.XdgApp. \
+ --c-namespace XdgApp \
+ --generate-c-code $(builddir)/lib/xdg-app-dbus \
+ $(srcdir)/data/xdg-app-dbus-interfaces.xml \
+ $(NULL)
+
+$(systemd_dbus_built_sources) : data/org.freedesktop.systemd1.xml
+ $(AM_V_GEN) $(GDBUS_CODEGEN) \
+ --interface-prefix org.freedesktop.systemd1. \
+ --c-namespace Systemd \
+ --generate-c-code $(builddir)/lib/xdg-app-systemd-dbus \
+ $(srcdir)/data/org.freedesktop.systemd1.xml \
+ $(NULL)
+
+libxdgapp_la_SOURCES = \
+ lib/xdg-app-dir.c \
+ lib/xdg-app-dir.h \
+ lib/xdg-app-run.c \
+ lib/xdg-app-run.h \
+ lib/xdg-app-utils.c \
+ lib/xdg-app-utils.h \
+ $(dbus_built_sources) \
+ $(systemd_dbus_built_sources) \
+ $(NULL)
+
+libxdgapp_la_CFLAGS = $(AM_CFLAGS) $(BASE_CFLAGS) $(OSTREE_CFLAGS) $(SOUP_CFLAGS) -I$(srcdir)/dbus-proxy
+libxdgapp_la_LIBADD = libglnx.la $(BASE_LIBS) $(OSTREE_LIBS) $(SOUP_LIBS)
+
+bin_PROGRAMS += \
+ xdg-app-helper \
+ $(NULL)
+
+xdg_app_helper_SOURCES = lib/xdg-app-helper.c
+xdg_app_helper_LDADD = $(LIBSECCOMP_LIBS)
+xdg_app_helper_CFLAGS = $(LIBSECCOMP_CFLAGS)
+
+install-exec-hook:
+if DISABLE_USERNS
+if PRIV_MODE_SETUID
+ $(SUDO_BIN) chown root $(DESTDIR)$(bindir)/xdg-app-helper
+ $(SUDO_BIN) chmod u+s $(DESTDIR)$(bindir)/xdg-app-helper
+else
+if PRIV_MODE_FILECAPS
+ $(SUDO_BIN) setcap cap_sys_admin+ep $(DESTDIR)$(bindir)/xdg-app-helper
+endif
+endif
+endif
diff --git a/xdg-app-dir.c b/lib/xdg-app-dir.c
index 7b4bfb8..7b4bfb8 100644
--- a/xdg-app-dir.c
+++ b/lib/xdg-app-dir.c
diff --git a/xdg-app-dir.h b/lib/xdg-app-dir.h
index 1d4b67f..1d4b67f 100644
--- a/xdg-app-dir.h
+++ b/lib/xdg-app-dir.h
diff --git a/xdg-app-helper.c b/lib/xdg-app-helper.c
index c6ead06..c6ead06 100644
--- a/xdg-app-helper.c
+++ b/lib/xdg-app-helper.c
diff --git a/xdg-app-run.c b/lib/xdg-app-run.c
index e6bd7f2..e6bd7f2 100644
--- a/xdg-app-run.c
+++ b/lib/xdg-app-run.c
diff --git a/xdg-app-run.h b/lib/xdg-app-run.h
index 32f5653..32f5653 100644
--- a/xdg-app-run.h
+++ b/lib/xdg-app-run.h
diff --git a/xdg-app-utils.c b/lib/xdg-app-utils.c
index a029981..a029981 100644
--- a/xdg-app-utils.c
+++ b/lib/xdg-app-utils.c
diff --git a/xdg-app-utils.h b/lib/xdg-app-utils.h
index 6a7c719..6a7c719 100644
--- a/xdg-app-utils.h
+++ b/lib/xdg-app-utils.h
diff --git a/session-helper/Makefile.am.inc b/session-helper/Makefile.am.inc
new file mode 100644
index 0000000..e6b438b
--- /dev/null
+++ b/session-helper/Makefile.am.inc
@@ -0,0 +1,33 @@
+resource_files = $(shell $(GLIB_COMPILE_RESOURCES) --sourcedir=$(srcdir) --generate-dependencies $(srcdir)/session-helper/xdg-app.gresource.xml)
+
+libexec_PROGRAMS += \
+ xdg-app-session-helper \
+ $(NULL)
+
+session-helper/xdg-app-resources.h: session-helper/xdg-app.gresource.xml
+ $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
+ --target=$@ --sourcedir=$(srcdir) --c-name _gtk --generate-header
+
+session-helper/xdg-app-resources.c: session-helper/xdg-app.gresource.xml $(resource_files)
+ $(AM_V_GEN) $(GLIB_COMPILE_RESOURCES) $< \
+ --target=$@ --sourcedir=$(srcdir) --c-name _gtk --generate-source
+
+# D-BUS service file
+%.service: %.service.in config.log
+ $(AM_V_GEN) $(SED) -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
+
+servicedir = $(DBUS_SERVICE_DIR)
+service_in_files = session-helper/xdg-app-session.service.in
+service_DATA = session-helper/xdg-app-session.service
+DISTCLEANFILES += $(service_DATA)
+
+EXTRA_DIST += session-helper/xdg-app.gresource.xml $(service_in_files)
+
+xdg_app_session_helper_SOURCES = \
+ session-helper/xdg-app-session-helper.c \
+ session-helper/xdg-app-resources.h \
+ session-helper/xdg-app-resources.c \
+ $(NULL)
+
+xdg_app_session_helper_LDADD = $(BASE_LIBS) libxdgapp.la
+xdg_app_session_helper_CFLAGS = $(BASE_CFLAGS)
diff --git a/xdg-app-session-helper.c b/session-helper/xdg-app-session-helper.c
index 1fd6653..1fd6653 100644
--- a/xdg-app-session-helper.c
+++ b/session-helper/xdg-app-session-helper.c
diff --git a/xdg-app-session.service.in b/session-helper/xdg-app-session.service.in
index a8e7099..a8e7099 100644
--- a/xdg-app-session.service.in
+++ b/session-helper/xdg-app-session.service.in
diff --git a/xdg-app.gresource.xml b/session-helper/xdg-app.gresource.xml
index 4887a94..c3d3e49 100644
--- a/xdg-app.gresource.xml
+++ b/session-helper/xdg-app.gresource.xml
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<gresources>
<gresource prefix='/org/freedesktop/XdgApp'>
- <file>xdg-app-dbus-interfaces.xml</file>
+ <file alias="xdg-app-dbus-interfaces.xml">data/xdg-app-dbus-interfaces.xml</file>
</gresource>
</gresources>