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