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 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}