summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2013-11-04 04:48:44 -0500
committerRichard Hughes <richard@hughsie.com>2013-11-04 15:12:07 +0000
commitf40b70e7e79f0f9a0fdbcc658f8b40c8a3e66f93 (patch)
tree28fe9862dc9a89fba842a0f4f159be8342ce279a /data
parentc0fa2592d0d4f7ef26b579e5d0e76544dfb16ab7 (diff)
Add a systemd packagekit.service file
We're still bus-activated by default, but now the system bus will ask systemd to start us. There are numerous advantages to this model, among them the ability to use the far more powerful systemd unit config file for controlling service parameters. Personally I like just having "systemctl status packagekit" work. Signed-off-by: Richard Hughes <richard@hughsie.com>
Diffstat (limited to 'data')
-rw-r--r--data/Makefile.am11
-rw-r--r--data/org.freedesktop.PackageKit.service.in1
-rw-r--r--data/packagekit.service.in8
3 files changed, 20 insertions, 0 deletions
diff --git a/data/Makefile.am b/data/Makefile.am
index 742ed5e2f..f1e8420c6 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -30,6 +30,16 @@ servicemain_DATA = $(servicemain_in_files:.service.in=.service)
$(servicemain_DATA): $(servicemain_in_files) Makefile
@sed -e "s|\@servicedir\@|$(libexecdir)|" -e "s|\@PACKAGEKIT_USER\@|$(PACKAGEKIT_USER)|" $< > $@
+systemdservice_in_files = packagekit.service.in
+
+if PK_BUILD_SYSTEMD
+systemdservicedir = $(systemdsystemunitdir)
+systemdservice_DATA = $(systemdservice_in_files:.service.in=.service)
+$(systemdservice_DATA): $(systemdservice_in_files) Makefile
+ @sed -e "s|\@servicedir\@|$(libexecdir)|" -e "s|\@PACKAGEKIT_USER\@|$(PACKAGEKIT_USER)|" $< > $@.tmp && mv $@.tmp $@
+endif
+
+
databasedir = $(PK_DB_DIR)
database_DATA = \
transactions.db \
@@ -46,6 +56,7 @@ EXTRA_DIST = \
$(servicemain_in_files) \
$(servicetest_in_files) \
$(serviceapt_in_files) \
+ $(systemdservice_in_files) \
$(mime_in_files) \
$(localcache_DATA) \
$(database_DATA) \
diff --git a/data/org.freedesktop.PackageKit.service.in b/data/org.freedesktop.PackageKit.service.in
index e0f378fe8..dea3423ae 100644
--- a/data/org.freedesktop.PackageKit.service.in
+++ b/data/org.freedesktop.PackageKit.service.in
@@ -2,4 +2,5 @@
Name=org.freedesktop.PackageKit
Exec=@servicedir@/packagekitd
User=@PACKAGEKIT_USER@
+SystemdService=packagekit.service
diff --git a/data/packagekit.service.in b/data/packagekit.service.in
new file mode 100644
index 000000000..ee9e85617
--- /dev/null
+++ b/data/packagekit.service.in
@@ -0,0 +1,8 @@
+[Unit]
+Description=PackageKit Daemon
+
+[Service]
+Type=dbus
+BusName=org.freedesktop.PackageKit
+User=@PACKAGEKIT_USER@
+ExecStart=@servicedir@/packagekitd