From 7733675befc033dd935e77605ca256b85c08478d Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 4 Nov 2013 04:48:44 -0500 Subject: [PATCH] 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. --- configure.ac | 2 ++ data/Makefile.am | 10 ++++++++++ data/org.freedesktop.PackageKit.service.in | 1 + data/packagekit.service.in | 8 ++++++++ 4 files changed, 21 insertions(+), 0 deletions(-) create mode 100644 data/packagekit.service.in diff --git a/configure.ac b/configure.ac index 9628de2..854efe5 100644 --- a/configure.ac +++ b/configure.ac @@ -278,6 +278,8 @@ AM_CONDITIONAL(PK_BUILD_SYSTEMD, test x$enable_systemd = xyes) if test x$enable_systemd = xyes; then PKG_CHECK_MODULES(SYSTEMD, libsystemd-login) AC_DEFINE(PK_BUILD_SYSTEMD,1,[Build systemd code]) + with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd) + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) fi dnl --------------------------------------------------------------------------- diff --git a/data/Makefile.am b/data/Makefile.am index 742ed5e..b118ecf 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 \ diff --git a/data/org.freedesktop.PackageKit.service.in b/data/org.freedesktop.PackageKit.service.in index e0f378f..dea3423 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 0000000..ee9e856 --- /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 -- 1.7.1