allow systemd path to be defined by configure option.

The configure probes the host for systemd path information.

Upstream Status: Inappropriate [Embedded]

Signed-off-By: Armin Kuster <akuster@mvista.com>

Index: ipmiutil-2.9.6/configure
===================================================================
--- ipmiutil-2.9.6.orig/configure
+++ ipmiutil-2.9.6/configure
@@ -792,7 +792,6 @@ LTLIBOBJS
 LIBOBJS
 pkgconfigdir
 SHR_LINK
-SYSTEMD_DIR
 CROSS_LFLAGS
 CROSS_CFLAGS
 SUBDIR_S
@@ -999,7 +998,7 @@ psdir='${docdir}'
 libdir='${exec_prefix}/lib'
 localedir='${datarootdir}/locale'
 mandir='${datarootdir}/man'
-
+systemddir='${datarootdir}/ipmiutil'
 ac_prev=
 ac_dashdash=
 for ac_option
@@ -1594,7 +1593,10 @@ Optional Features:
   --enable-standalone    build standalone, with no GPL or LanPlus libs.
   --enable-libsensors	 build libipmiutil with sensor modules [default=no]
   --enable-gpl           build with some GPL code [default=no]
-  --enable-systemd       enable systemd service type=notify support and %_unitdir [default=disabled]
+  --enable-systemd[=systemddir]      install systemd unit file.  If 'yes'
+                probe the system for unit directory.
+                If a path is specified, assume that
+                is a valid install path.  [default=disabled]
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -12980,7 +12982,6 @@ CROSS_LFLAGS=""
 CROSS_CFLAGS=""
 LIBSENSORS=""
 SAM2OBJ="isensor2.o ievents2.o"
-SYSTEMD_DIR=/usr/share/ipmiutil
 
 # Check whether --enable-useflags was given.
 if test "${enable_useflags+set}" = set; then
@@ -13032,31 +13033,43 @@ if test "${enable_gpl+set}" = set; then
     fi
 
 fi
-
+#
+# Check for systemd unit files direectory exists if unit file installation
+# is requested
+#
 
 # Check whether --enable-systemd was given.
-if test "${enable_systemd+set}" = set; then
-  enableval=$enable_systemd;
-fi
-
-if test "x$enable_systemd" = "xyes"; then
-   GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
-   # if systemd enabled, install service scripts in unitdir
-   SYSTEMD_DIR=`rpm --eval "%{_unitdir}"`
-else
-   # otherwise install the systemd service scripts in the data dir
-  if test  "x$sysname" = "xDarwin" ; then
-    # MacOS 'which' command returns 0 always
-    SYSTEMD_DIR=/usr/share/ipmiutil
-  else
+if test "${enable_systemd+set}" = set; then :
+  withval=$enable_systemd; if test "$withval" = yes; then
+  GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
+  if test -z "$systemddir"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of the systemd unit files directory" >&5
+$as_echo_n "checking location of the systemd unit files directory... " >&6; }
+    _rpmdir = ""
     which rpm >/dev/null 2>&1
     if test  $? -eq 0 ; then
-       datad=`rpm --eval "%{_datadir}"`
-       SYSTEMD_DIR=${datad}/ipmiutil
-    else
-       SYSTEMD_DIR=/usr/share/ipmiutil
+      _rpmdir = `rpm --eval "%{_unitdir}"`
     fi
+    for systemd_d in ${datadir}/usr/share/ipmiutil ${_rpmdir} /usr/share/ipmiutil; do
+      if test -z "$systemddir"; then
+        if test -d "$systemd_d"; then
+          systemddir="$systemd_d"
+        fi
+      fi
+    done
   fi
+  if test -n "$systemddir"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $systemddir" >&5
+$as_echo "$systemddir" >&6; }
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+ fi
+else
+ if test "$withval" != no; then
+  systemddir=$withval
+ fi
+fi
 fi
 
 case "$archm" in
Index: ipmiutil-2.9.6/configure.ac
===================================================================
--- ipmiutil-2.9.6.orig/configure.ac
+++ ipmiutil-2.9.6/configure.ac
@@ -140,7 +140,6 @@ CROSS_LFLAGS=""
 CROSS_CFLAGS=""
 LIBSENSORS=""
 SAM2OBJ="isensor2.o ievents2.o"
-SYSTEMD_DIR=/usr/share/ipmiutil
 
 AC_ARG_ENABLE([useflags],
     [  --enable-useflags    include environment CFLAGS and LDFLAGS.],
@@ -191,25 +190,42 @@ AC_ARG_ENABLE([gpl],
 
 dnl Does this Linux have systemd enabled?  Otherwise use sysv init.
 AC_ARG_ENABLE([systemd],
-    [  --enable-systemd       enable systemd service type=notify support and %_unitdir [[default=disabled]]],)
-if test "x$enable_systemd" = "xyes"; then
-   GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
-   # if systemd enabled, install service scripts in unitdir
-   SYSTEMD_DIR=`rpm --eval "%{_unitdir}"`
+    [  --enable-systemd[=systemddir]      install systemd unit file.  If 'yes'
+        probe the system for unit directory.
+        If a path is specified, assume that
+        is a valid install path. [[default=disabled]]],)
+# Check whether --enable-systemd was given.
+if test "${enable_systemd+set}" = set; then :
+	withval=$enable_systemd; if test "$withval" = yes; then
+	GPL_CFLAGS="$GPL_CFLAGS -DENABLE_SYSTEMD"
+	if test -z "$systemddir"; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking location of the systemd unit files directory" >&5
+		$as_echo_n "checking location of the systemd unit files directory... " >&6; }
+		_rpmdir = ""
+		which rpm >/dev/null 2>&1
+		if test  $? -eq 0 ; then
+			_rpmdir = `rpm --eval "%{_unitdir}"`
+		fi
+		for systemd_d in ${datadir}/usr/share/ipmiutil ${_rpmdir} /usr/share/ipmiutil; do
+			if test -z "$systemddir"; then
+				if test -d "$systemd_d"; then
+					systemddir="$systemd_d"
+				fi
+			fi
+		done
+	fi
+	if test -n "$systemddir"; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $systemddir" >&5
+		$as_echo "$systemddir" >&6; }
+	else
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+		$as_echo "not found" >&6; }
+	fi
 else
-   # otherwise install the systemd service scripts in the data dir
-  if test  "x$sysname" = "xDarwin" ; then
-    # MacOS 'which' command returns 0 always
-    SYSTEMD_DIR=/usr/share/ipmiutil
-  else
-    which rpm >/dev/null 2>&1
-    if test  $? -eq 0 ; then
-       datad=`rpm --eval "%{_datadir}"`
-       SYSTEMD_DIR=${datad}/ipmiutil
-    else
-       SYSTEMD_DIR=/usr/share/ipmiutil
-    fi
-  fi
+	if test "$withval" != no; then
+		systemddir=$withval
+	fi
+fi
 fi
 
 dnl start main logic
@@ -481,7 +497,7 @@ AC_SUBST(INS_LIB)
 AC_SUBST(SUBDIR_S)
 AC_SUBST(CROSS_CFLAGS)
 AC_SUBST(CROSS_LFLAGS)
-AC_SUBST(SYSTEMD_DIR)
+AC_SUBST(systemddir)
 AC_SUBST(SHR_LINK)
 AC_SUBST(pkgconfigdir)
 
Index: ipmiutil-2.9.6/Makefile.in
===================================================================
--- ipmiutil-2.9.6.orig/Makefile.in
+++ ipmiutil-2.9.6/Makefile.in
@@ -182,7 +182,7 @@ SHELL = @SHELL@
 SHR_LINK = @SHR_LINK@
 STRIP = @STRIP@
 SUBDIR_S = @SUBDIR_S@
-SYSTEMD_DIR = @SYSTEMD_DIR@
+SYSTEMD_DIR = @systemddir@
 VERSION = @VERSION@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -233,6 +233,7 @@ sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
 sysconfdir = @sysconfdir@
+systemddir = @systemddir@
 target_alias = @target_alias@
 top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
Index: ipmiutil-2.9.6/scripts/Makefile.in
===================================================================
--- ipmiutil-2.9.6.orig/scripts/Makefile.in
+++ ipmiutil-2.9.6/scripts/Makefile.in
@@ -126,7 +126,7 @@ SHELL = @SHELL@
 SHR_LINK = @SHR_LINK@
 STRIP = @STRIP@
 SUBDIR_S = @SUBDIR_S@
-SYSTEMD_DIR = @SYSTEMD_DIR@
+SYSTEMD_DIR = @systemddir@
 VERSION = @VERSION@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
@@ -195,7 +195,8 @@ cronto = ${DESTDIR}${etcdir}/cron.daily
 sbinto = ${DESTDIR}${sbindir}
 varto = ${DESTDIR}/var/lib/ipmiutil
 initto = ${DESTDIR}@INIT_DIR@
-sysdto = ${DESTDIR}@SYSTEMD_DIR@
+sysdto = ${DESTDIR}@systemddir@
+systemddir = @systemddir@
 sysvinit = ${datato}
 sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm
 all: all-am
@@ -398,11 +399,14 @@ install:
 	${INSTALL_SCRIPT_SH} evt.sh       ${datato}
 	if [ -f /etc/debian_version ]; then \
 	   sysvinit=${initto}; fi
-	${INSTALL_SCRIPT_SH} ipmiutil_wdt ${sysvinit}/ipmiutil_wdt
-	${INSTALL_SCRIPT_SH} ipmiutil_asy ${sysvinit}/ipmiutil_asy
-	${INSTALL_SCRIPT_SH} ipmiutil_evt ${sysvinit}/ipmiutil_evt
-	${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port
-	${INSTALL_SCRIPT_SH} ipmi_info    ${sysvinit}/ipmi_info
+	if [ ! -z "${systemddir}" ]; then \
+		$(MKDIR) ${sysdto}; \
+		${INSTALL_SCRIPT_SH} ipmiutil_wdt ${sysvinit}/ipmiutil_wdt; \
+		${INSTALL_SCRIPT_SH} ipmiutil_asy ${sysvinit}/ipmiutil_asy; \
+		${INSTALL_SCRIPT_SH} ipmiutil_evt ${sysvinit}/ipmiutil_evt; \
+		${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port; \
+		${INSTALL_SCRIPT_SH} ipmi_info    ${sysvinit}/ipmi_info; \
+	fi
 	${INSTALL_SCRIPT_SH} checksel     ${datato}
 	${INSTALL_DATA_SH} ipmiutil_wdt.service ${sysdto}
 	${INSTALL_DATA_SH} ipmiutil_asy.service ${sysdto}
Index: ipmiutil-2.9.6/scripts/Makefile.am
===================================================================
--- ipmiutil-2.9.6.orig/scripts/Makefile.am
+++ ipmiutil-2.9.6/scripts/Makefile.am
@@ -17,7 +17,8 @@ cronto = ${DESTDIR}${etcdir}/cron.daily
 sbinto = ${DESTDIR}${sbindir}
 varto  = ${DESTDIR}/var/lib/ipmiutil
 initto = ${DESTDIR}@INIT_DIR@
-sysdto = ${DESTDIR}@SYSTEMD_DIR@
+sysdto = ${DESTDIR}@systemddir@
+systemddir = @systemddir@
 sysvinit = ${datato}
 sbinfls = ialarms ihealth ifru igetevent ireset icmd isol ilan isensor isel iserial iwdt iconfig ipicmg ifirewall ifwum ihpm
 
@@ -47,10 +48,14 @@ install:
 	${INSTALL_SCRIPT_SH} ipmi_port.sh ${sysvinit}/ipmi_port
 	${INSTALL_SCRIPT_SH} ipmi_info    ${sysvinit}/ipmi_info
 	${INSTALL_SCRIPT_SH} checksel     ${datato}
-	${INSTALL_DATA_SH} ipmiutil_wdt.service ${sysdto}
-	${INSTALL_DATA_SH} ipmiutil_asy.service ${sysdto}
-	${INSTALL_DATA_SH} ipmiutil_evt.service ${sysdto}
-	${INSTALL_DATA_SH} ipmi_port.service    ${sysdto}
+	
+	if [ ! -z "${systemddir}" ]; then \
+		$(MKDIR) ${sysdto}; \
+		${INSTALL_DATA_SH} ipmiutil_wdt.service ${sysdto}; \
+		${INSTALL_DATA_SH} ipmiutil_asy.service ${sysdto}; \
+		${INSTALL_DATA_SH} ipmiutil_evt.service ${sysdto}; \
+		${INSTALL_DATA_SH} ipmi_port.service    ${sysdto}; \
+	fi
 	${INSTALL_SCRIPT_SH} ipmiutil.env     ${datato}
 	${INSTALL_SCRIPT_SH} ipmiutil.pre     ${datato}
 	${INSTALL_SCRIPT_SH} ipmiutil.setup   ${datato}
Index: ipmiutil-2.9.6/lib/Makefile.in
===================================================================
--- ipmiutil-2.9.6.orig/lib/Makefile.in
+++ ipmiutil-2.9.6/lib/Makefile.in
@@ -128,7 +128,7 @@ SHELL = @SHELL@
 SHR_LINK = @SHR_LINK@
 STRIP = @STRIP@
 SUBDIR_S = @SUBDIR_S@
-SYSTEMD_DIR = @SYSTEMD_DIR@
+SYSTEMD_DIR = @systemddir@
 VERSION = @VERSION@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
Index: ipmiutil-2.9.6/lib/lanplus/Makefile.in
===================================================================
--- ipmiutil-2.9.6.orig/lib/lanplus/Makefile.in
+++ ipmiutil-2.9.6/lib/lanplus/Makefile.in
@@ -177,7 +177,8 @@ SHELL = @SHELL@
 SHR_LINK = @SHR_LINK@
 STRIP = @STRIP@
 SUBDIR_S = @SUBDIR_S@
-SYSTEMD_DIR = @SYSTEMD_DIR@
+SYSTEMD_DIR = @systemddir@
+systemddir = @systemddir@
 VERSION = @VERSION@
 abs_builddir = @abs_builddir@
 abs_srcdir = @abs_srcdir@
