blob: 33116b3c06b84a10408c1fac1593c47e3a7b5cfc [file] [log] [blame]
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-3.0.5/configure.ac
===================================================================
--- ipmiutil-3.0.5.orig/configure.ac
+++ ipmiutil-3.0.5/configure.ac
@@ -149,7 +149,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.],
@@ -200,29 +199,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
- which rpm >/dev/null 2>&1
- if test $? -eq 0 ; then
- SYSTEMD_DIR=`rpm --eval "%{_unitdir}"`
- else
- SYSTEMD_DIR=/usr/share/ipmiutil
- fi
+ [ --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
- SYSTEMD_DIR=/usr/share/ipmiutil
- if test "x$sysname" != "xDarwin" ; then
- if test "x$os" != "xhpux" ; then
- # MacOS and HP-UX: 'which' command returns 0 always
- which rpm >/dev/null 2>&1
- if test $? -eq 0 ; then
- datad=`rpm --eval "%{_datadir}"`
- SYSTEMD_DIR=${datad}/ipmiutil
- fi
- fi
- fi
+ if test "$withval" != no; then
+ systemddir=$withval
+ fi
+fi
fi
dnl start main logic
@@ -528,7 +540,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-3.0.5/scripts/Makefile.am
===================================================================
--- ipmiutil-3.0.5.orig/scripts/Makefile.am
+++ ipmiutil-3.0.5/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 iuser
@@ -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}