diff --git a/configure.ac b/configure.ac index 9628de26e..854efe51e 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/contrib/PackageKit.spec.in b/contrib/PackageKit.spec.in index 9d7001895..774a2dc07 100644 --- a/contrib/PackageKit.spec.in +++ b/contrib/PackageKit.spec.in @@ -341,6 +341,7 @@ update-mime-database %{_datadir}/mime &> /dev/null || : %{_libdir}/girepository-1.0/PackageKitPlugin-1.0.typelib %{_datadir}/dbus-1/interfaces/*.xml /usr/lib/systemd/system/packagekit-offline-update.service +/usr/lib/systemd/system/packagekit.service %{_libexecdir}/pk-*offline-update %files docs 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