aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-kernel/ipmiutil/ipmiutil/fix_systemd_path.patch
blob: dd9230dd4eb5191245f879774e7e9bc8b31e31ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
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}