Index: /trunk/Makefile.in
===================================================================
--- /trunk/Makefile.in	(revision 547)
+++ /trunk/Makefile.in	(revision 548)
@@ -375,5 +375,5 @@
 
 DISTCLEANFILES = Makefile samhain.spec sh_gpg_checksum.h sh_gpg_fp.h \
-	init/samhain.startLinux init/samhain.startGentoo \
+	init/samhain.startLinux init/samhain.startGentoo init/samhain.startSystemd \
 	init/samhain.startLSB init/samhain.startFreeBSD \
 	init/samhain.startSolaris init/samhain.startHPUX \
@@ -803,4 +803,5 @@
 	echo $(sysconfdir)  | sed s,^/,, >> debian/dirs; \
 	echo etc/init.d                  >> debian/dirs; \
+	echo lib/systemd/system          >> debian/dirs; \
 	echo $(mydatadir)   | sed s,^/,, >> debian/dirs; \
 	echo $(mylogdir)    | sed s,^/,, >> debian/dirs; \
@@ -819,4 +820,5 @@
 	echo $(sysconfdir)  | sed s,^/,, >> debian/dirs; \
 	echo etc/init.d                  >> debian/dirs; \
+	echo lib/systemd/system          >> debian/dirs; \
 	echo $(mydatadir)   | sed s,^/,, >> debian/dirs; \
 	echo $(mylogdir)    | sed s,^/,, >> debian/dirs; \
Index: /trunk/configure.ac
===================================================================
--- /trunk/configure.ac	(revision 547)
+++ /trunk/configure.ac	(revision 548)
@@ -2694,4 +2694,5 @@
 init/samhain.startLSB
 init/samhain.startLinux
+init/samhain.startSystemd
 init/samhain.startGentoo
 init/samhain.startFreeBSD
Index: /trunk/init/samhain.startSystemd.in
===================================================================
--- /trunk/init/samhain.startSystemd.in	(revision 548)
+++ /trunk/init/samhain.startSystemd.in	(revision 548)
@@ -0,0 +1,16 @@
+
+[Unit]
+Description=The @install_name@ Service
+After=network.target syslog.target remote-fs.target nss-user-lookup.target
+
+[Service]
+Type=forking
+PIDFile=@mylockfile@
+ExecStart=@sbindir@/@install_name@ start
+ExecStop=@sbindir@/@install_name@ stop
+ExecReload=@sbindir@/@install_name@ reload
+Restart=on-abort
+TimeoutStartSec=infinity
+
+[Install]
+WantedBy=multi-user.target
Index: /trunk/samhain-install.sh.in
===================================================================
--- /trunk/samhain-install.sh.in	(revision 547)
+++ /trunk/samhain-install.sh.in	(revision 548)
@@ -893,5 +893,5 @@
 		rc_dirz=
 		rc_inst="/usr/lib/lsb/install_initd /etc/init.d/@install_name@"
-		rc_uinst="/usr/lib/lsb/remove_initd /etc/init.d/@install_name@"
+		rc_uinst="test -f /etc/init.d/@install_name@ && /usr/lib/lsb/remove_initd /etc/init.d/@install_name@"
 	    else
 		rc_inst=
@@ -1032,4 +1032,13 @@
     fi
 
+    rc_systemd=
+    if command -v pkg-config >/dev/null 2>&1
+    then
+	if pkg-config --exists systemd >/dev/null 2>&1
+	then
+	   rc_systemd=`pkg-config --variable=systemdsystemunitdir systemd`
+	fi
+    fi
+	   
     if test x"${act}" = xboot 
     then
@@ -1106,4 +1115,30 @@
 	   fi
  	fi
+
+	if test x"${rc_systemd}" != x
+	then
+	    if test x"$DESTDIR" = x
+	    then
+		:
+	    else
+		${mkinstalldirs} ${DESTDIR}/${rc_systemd}
+	    fi
+            if test -f init/samhain.startSystemd
+	    then
+		servicescript=init/samhain.startSystemd
+	    elif test -f samhain.startSystemd
+	    then
+		servicescript=samhain.startSystemd
+	    else
+		echo "${0}: cannot find samhain.startSystemd in ./ or ./init"
+            fi
+	    if test -f ${DESTDIR}/${rc_systemd}/${samhain}.service && test x"$force" != xyes
+	    then
+		echo "  ${DESTDIR}/${rc_systemd}/${samhain}.service exists ... not overwritten (or use --force)"
+	    else
+		${INSTALL_DATA} ${servicescript} "${DESTDIR}/${rc_systemd}/${samhain}.service"
+	    fi
+	fi
+
 	echo "installing init scripts completed"
     fi
@@ -1123,12 +1158,18 @@
 	    do
 	      test -z "$verbose" || echo "  rm -f  ${rc_dirz}${ff}.d/S99${samhain}"
-	      rm -f  ${rc_dirz}${ff}.d/S99${samhain}
+	      rm -f  "${rc_dirz}${ff}.d/S99${samhain}"
 	      test -z "$verbose" || echo "  rm -f  ${rc_dirz}${ff}.d/S99${samhain}"
-	      rm -f  ${rc_dirz}${ff}.d/K10${samhain}
+	      rm -f  "${rc_dirz}${ff}.d/K10${samhain}"
 	    done
         fi
 
 	test -z "$verbose" || echo "  rm -f ${rc_main}/${samhain}"
-	rm -f ${rc_main}/${samhain}
+	rm -f "${rc_main}/${samhain}"
+
+	if test x"${rc_systemd}" != x
+	then
+	    test -z "$verbose" || echo "  rm -f  ${rc_systemd}/${samhain}.service"
+	    rm -f "${rc_systemd}/${samhain}.service"
+	fi
 
 	echo "  uninstalling init scripts completed"
Index: /trunk/samhain.spec.in
===================================================================
--- /trunk/samhain.spec.in	(revision 547)
+++ /trunk/samhain.spec.in	(revision 548)
@@ -92,5 +92,5 @@
 # after the package is installed
 #
-install -m 700 samhain-install.sh init/samhain.startLinux init/samhain.startLSB ${RPM_BUILD_ROOT}@mydataroot@
+install -m 700 samhain-install.sh init/samhain.startLinux init/samhain.startLSB init/samhain.startSystemd ${RPM_BUILD_ROOT}@mydataroot@
 #
 # file list (helpful advice from Lars Kellogg-Stedman)
@@ -121,4 +121,5 @@
 	rm -f ./samhain.startLSB
 	rm -f ./samhain.startLinux
+	rm -f ./samhain.startSystemd
 	if [ -f @sbindir@/@install_name@_stealth ]; then
 		rm -f samhain-install.sh
