iscsi-initiator-utils: fix postinstall and systemd service file

Fix postinstall and systemd service file so that the postinstall script does
not fail at rootfs time.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Joe MacDonald <joe_macdonald@mentor.com>
This commit is contained in:
Qi.Chen@windriver.com
2016-10-31 10:05:11 +08:00
committed by Joe MacDonald
parent 06d15756bd
commit 816c723aa5
3 changed files with 24 additions and 16 deletions
@@ -5,6 +5,7 @@ After=syslog.target
[Service]
EnvironmentFile=/etc/default/iscsi-initiator
ExecStartPre=/sbin/modprobe iscsi_tcp
ExecStartPre=/usr/lib/iscsi/set_initiatorname
ExecStart=/usr/sbin/iscsid -f $OPTS_ISCSID
[Install]
@@ -0,0 +1,12 @@
#!/bin/sh
if [ ! -f /etc/iscsi/initiatorname.iscsi ]; then
INITIATORNAME=$(iscsi-iname)
cat >/etc/iscsi/initiatorname.iscsi <<EOF
## DO NOT EDIT OR REMOVE THIS FILE!
## If you remove this file, the iSCSI daemon will not start.
## If you change the InitiatorName, existing access control lists
## may reject this initiator. The InitiatorName must be unique
## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames.
InitiatorName=$INITIATORNAME
EOF
fi
@@ -21,6 +21,7 @@ SRC_URI = "http://www.open-iscsi.org/bits/open-iscsi-${PV}.tar.gz \
file://iscsi-initiator \
file://iscsi-initiator.service \
file://iscsi-initiator-targets.service \
file://set_initiatorname \
"
SRC_URI[md5sum] = "8b8316d7c9469149a6cc6234478347f7"
SRC_URI[sha256sum] = "7dd9f2f97da417560349a8da44ea4fcfe98bfd5ef284240a2cc4ff8e88ac7cd9"
@@ -82,6 +83,8 @@ do_install () {
install -m 0644 ${WORKDIR}/iscsi-initiator.service \
${WORKDIR}/iscsi-initiator-targets.service \
${D}${systemd_unitdir}/system/
install -d ${D}${nonarch_libdir}/iscsi
install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi
else
install -d ${D}/etc/default/volatiles
install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles
@@ -89,25 +92,17 @@ do_install () {
}
pkg_postinst_${PN}() {
#default there is no initiatorname.iscsi installed
#but it is needed or iscsid will fail
#will run only when postinst on target
if [ "x$D" != "x" ]; then
exit 1
fi
if [ ! -f ${sysconfdir}/iscsi/initiatorname.iscsi ]; then
echo "InitiatorName=$(${sbindir}/iscsi-iname)" > \
${sysconfdir}/iscsi/initiatorname.iscsi
fi
if [ -e /etc/init.d/populate-volatile.sh ]; then
/etc/init.d/populate-volatile.sh update
elif command -v systemd-tmpfiles >/dev/null; then
systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
if [ "x$D" = "x" ]; then
if [ -e /etc/init.d/populate-volatile.sh ]; then
/etc/init.d/populate-volatile.sh update
elif command -v systemd-tmpfiles >/dev/null; then
systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf
fi
fi
}
SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service "
INITSCRIPT_NAME = "iscsid"
INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ."
FILES_${PN} += "${nonarch_libdir}/iscsi"