From d82555d0f32fc341d8f3e58a08f63894a3eb7ce0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Tue, 6 Mar 2012 11:23:01 +0100 Subject: [PATCH] add support for systemd New configure parameter is introduced (--with-systemdsystemunitdir) and when set it means that systemd service file will be installed instead of the classis initscript. --- configure.ac | 12 ++++++++++++ openhpid/Makefile.am | 7 +++++++ openhpid/openhpid.service.in | 11 +++++++++++ 3 files changed, 30 insertions(+) create mode 100644 openhpid/openhpid.service.in diff --git a/configure.ac b/configure.ac index e538fb4..80157af 100644 --- a/configure.ac +++ b/configure.ac @@ -709,6 +709,17 @@ AC_ARG_ENABLE([man], AC_SUBST(MAN,"") fi]) +dnl systemd system unit files location +AC_ARG_WITH([systemdsystemunitdir], + AS_HELP_STRING([--with-systemdsystemunitdir@<:@=DIR@:>@],[systemd system unit files location]), + [enable_systemd=yes], + [enable_systemd=no]) + +dnl enable systemd and set unit dir +AM_CONDITIONAL([ENABLE_SYSTEMD], [test "x$enable_systemd" = "xyes"]) +unitdir=$with_systemdsystemunitdir +AC_SUBST(unitdir) + AC_CONFIG_FILES([openhpi.spec openhpi.pc rt-env.sh @@ -751,6 +762,7 @@ AC_CONFIG_FILES([openhpi.spec docs/man/Makefile openhpid/Makefile openhpid/openhpid.sh + openhpid/openhpid.service openhpid/t/Makefile openhpid/t/ohpi/Makefile hpi_shell/Makefile diff --git a/openhpid/Makefile.am b/openhpid/Makefile.am index bccbce5..bfc6e73 100644 --- a/openhpid/Makefile.am +++ b/openhpid/Makefile.am @@ -28,6 +28,7 @@ DIST_SUBDIRS = t EXTRA_DIST = \ openhpid.sh.in \ + openhpid.service.in \ Makefile.mingw32 \ openhpid-win32.cpp \ version.rc @@ -83,11 +84,17 @@ endif install-data-local: +if ENABLE_SYSTEMD + $(mkinstalldirs) $(DESTDIR)$(unitdir) + $(INSTALL) -m 0644 openhpid.service $(DESTDIR)$(unitdir) +else $(mkinstalldirs) $(DESTDIR)$(sysconfdir)/init.d $(INSTALL) -m 0755 openhpid.sh $(DESTDIR)$(sysconfdir)/init.d/openhpid +endif uninstall-local: rm -f $(DESTDIR)$(sysconfdir)/init.d/openhpid + rm -f $(DESTDIR)$(unitdir)/openhpid.service clean-local: rm -f *~ core core.* diff --git a/openhpid/openhpid.service.in b/openhpid/openhpid.service.in new file mode 100644 index 0000000..69b1348 --- /dev/null +++ b/openhpid/openhpid.service.in @@ -0,0 +1,11 @@ +[Unit] +Description=Daemon providing access to the SAF Hardware Platform Interface +After=syslog.target + +[Service] +Type=forking +PIDFile=/var/run/openhpid.pid +ExecStart=@sbindir@/openhpid -c @sysconfdir@/openhpi/openhpi.conf + +[Install] +WantedBy=multi-user.target -- 1.9.3