[iscsi-initiator-utils] switch to using system unit files instead of initrd script new nm dispatcher script that uses system
Chris Leech
cleech at fedoraproject.org
Tue Jan 22 23:20:43 UTC 2013
commit 6c1aaf998151306bc3ffc83f254c10de0538820b
Author: Chris Leech <cleech at redhat.com>
Date: Tue Jan 22 15:05:50 2013 -0800
switch to using system unit files instead of initrd script
new nm dispatcher script that uses systemctl
use systemctl in iscsi.conf to start iscsid on demand
0060-use-systemctl-to-start-iscsid.patch | 25 ++++
04-iscsi | 18 +---
iscsi-initiator-utils.spec | 60 ++++++----
iscsid.init | 183 ------------------------------
iscsidevs.init | 169 ---------------------------
5 files changed, 67 insertions(+), 388 deletions(-)
---
diff --git a/0060-use-systemctl-to-start-iscsid.patch b/0060-use-systemctl-to-start-iscsid.patch
new file mode 100644
index 0000000..dc62c32
--- /dev/null
+++ b/0060-use-systemctl-to-start-iscsid.patch
@@ -0,0 +1,25 @@
+From c3d2b8f3de5b6161845304cf46982d2c5a9918b6 Mon Sep 17 00:00:00 2001
+From: Chris Leech <cleech at redhat.com>
+Date: Tue, 22 Jan 2013 15:04:14 -0800
+Subject: use systemctl to start iscsid
+
+---
+ etc/iscsid.conf | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/etc/iscsid.conf b/etc/iscsid.conf
+index ac1d231..5851fa5 100644
+--- a/etc/iscsid.conf
++++ b/etc/iscsid.conf
+@@ -17,7 +17,7 @@
+ # maintainers.
+ #
+ # Default for Fedora and RHEL. (uncomment to activate).
+-iscsid.startup = /etc/rc.d/init.d/iscsid force-start
++iscsid.startup = /bin/systemctl start iscsid.service
+ #
+ # Default for upstream open-iscsi scripts (uncomment to activate).
+ # iscsid.startup = /sbin/iscsid
+--
+1.7.11.7
+
diff --git a/04-iscsi b/04-iscsi
index 58aa798..e4a1c30 100755
--- a/04-iscsi
+++ b/04-iscsi
@@ -1,17 +1,7 @@
#!/bin/sh
-export LC_ALL=C
+case "$2" in
+ up|down|vpn-up|vpn-down)
+ /bin/systemctl try-restart iscsi.service || :
+ ;;
-if [ "$2" = "down" ]; then
- if ! /sbin/ip route ls | grep -q ^default &&
- [ -f /var/lock/subsys/iscsi ]; then
- /etc/rc.d/init.d/iscsi stop
- fi
-fi
-
-if [ "$2" = "up" ]; then
- if /sbin/ip -o route show dev "$1" | grep -q '^default' &&
- /sbin/chkconfig iscsi; then
- /etc/rc.d/init.d/iscsi start
- fi
-fi
diff --git a/iscsi-initiator-utils.spec b/iscsi-initiator-utils.spec
index 2c11880..cd8a866 100644
--- a/iscsi-initiator-utils.spec
+++ b/iscsi-initiator-utils.spec
@@ -10,8 +10,6 @@ Version: 6.%{open_iscsi_version}.%{open_iscsi_build}
Release: 1%{?dist}
Source0: http://www.open-iscsi.org/bits/open-iscsi-%{open_iscsi_version}-%{open_iscsi_build}.tar.gz
Source1: iscsiuio-%{iscsiuio_version}.tar.gz
-Source2: iscsid.init
-Source3: iscsidevs.init
Source4: 04-iscsi
# upstream patches, post last tagged version
@@ -40,6 +38,7 @@ Patch56: 0056-remove-the-offload-boot-supported-ifdef.patch
Patch57: 0057-iscsid-iscsiuio-ipc-interface.patch
Patch58: 0058-iscsiuio-IPC-newroot-command.patch
Patch59: 0059-iscsiuio-systemd-unit-files.patch
+Patch60: 0060-use-systemctl-to-start-iscsid.patch
# iscsiuio patches
Patch71: 0071-iscsiuio-0.7.4.3.patch
Patch72: 0072-iscsiuio-0.7.6.1.patch
@@ -58,9 +57,9 @@ URL: http://www.open-iscsi.org
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: openssl-devel flex bison python-devel doxygen glibc-static
# For dir ownership
-Requires: initscripts
-Requires(post): chkconfig
-Requires(preun): chkconfig /sbin/service
+Requires(post): systemd
+Requires(preun): systemd
+Requires(postun): systemd
%description
The iscsi package provides the server daemon for the iSCSI protocol,
@@ -106,6 +105,7 @@ mv iscsiuio-%{iscsiuio_version} iscsiuio
%patch57 -p1
%patch58 -p1
%patch59 -p1
+%patch60 -p1
# iscsiuio patches
cd iscsiuio
%patch71 -p1
@@ -147,7 +147,6 @@ popd
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/sbin
mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man8
-mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
mkdir -p $RPM_BUILD_ROOT/etc/iscsi
mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
mkdir -p $RPM_BUILD_ROOT/etc/NetworkManager/dispatcher.d
@@ -175,8 +174,11 @@ install -p -m 644 iscsiuio/docs/iscsiuio.8 $RPM_BUILD_ROOT/%{_mandir}/man8
install -p -m 644 iscsiuio/iscsiuiolog $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
install -p -m 755 iscsiuio/src/unix/iscsiuio $RPM_BUILD_ROOT/sbin
-install -p -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_initrddir}/iscsid
-install -p -m 755 %{SOURCE3} $RPM_BUILD_ROOT%{_initrddir}/iscsi
+install -p -D -m 644 etc/systemd/iscsi.service $RPM_BUILD_ROOT%{_unitdir}/iscsi.service
+install -p -D -m 644 etc/systemd/iscsid.service $RPM_BUILD_ROOT%{_unitdir}/iscsid.service
+install -p -D -m 644 etc/systemd/iscsid.socket $RPM_BUILD_ROOT%{_unitdir}/iscsid.socket
+install -p -D -m 644 etc/systemd/iscsiuio.service $RPM_BUILD_ROOT%{_unitdir}/iscsiuio.service
+install -p -D -m 644 etc/systemd/iscsiuio.socket $RPM_BUILD_ROOT%{_unitdir}/iscsiuio.socket
install -p -m 755 %{SOURCE4} $RPM_BUILD_ROOT/etc/NetworkManager/dispatcher.d
install -p -m 755 libiscsi/libiscsi.so.0 $RPM_BUILD_ROOT%{_libdir}
@@ -199,9 +201,10 @@ if [ "$1" -eq "1" ]; then
if [ ! -f %{_sysconfdir}/iscsi/initiatorname.iscsi ]; then
echo "InitiatorName=`/sbin/iscsi-iname`" > %{_sysconfdir}/iscsi/initiatorname.iscsi
fi
- /sbin/chkconfig --add iscsid
- /sbin/chkconfig --add iscsi
fi
+
+%systemd_post iscsi.service iscsid.service iscsiuio.service
+
# To make sure iscsid autostart works when upgrading from a version which
# did not have this in its config file
if ! grep -q 'iscsid\.startup' %{_sysconfdir}/iscsi/iscsid.conf; then
@@ -211,18 +214,24 @@ if ! grep -q 'iscsid\.startup' %{_sysconfdir}/iscsi/iscsid.conf; then
fi
%postun -p /sbin/ldconfig
+%systemd_postun
%preun
-if [ "$1" = "0" ]; then
- # stop iscsi
- /sbin/service iscsi stop > /dev/null 2>&1
- # delete service
- /sbin/chkconfig --del iscsi
- # stop iscsid
- /sbin/service iscsid stop > /dev/null 2>&1
- # delete service
- /sbin/chkconfig --del iscsid
-fi
+%systemd_preun iscsi.service iscsid.service iscsiuio.service
+
+%triggerun -- iscsi-initiator-utils < 6.2.0.873-1
+# Save the current service runlevel info
+# User must manually run systemd-sysv-convert --apply iscsid
+# and systemd-sysv-convert --apply iscsi
+# to migrate them to systemd targets
+/usr/bin/systemd-sysv-convert --save iscsi >/dev/null 2>&1 ||:
+/usr/bin/systemd-sysv-convert --save iscsid >/dev/null 2>&1 ||:
+
+# Run these because the SysV package being removed won't do them
+/sbin/chkconfig --del iscsid >/dev/null 2>&1 || :
+/sbin/chkconfig --del iscsi >/dev/null 2>&1 || :
+/bin/systemctl try-restart iscsid.service >/dev/null 2>&1 || :
+/bin/systemctl try-restart iscsi.service >/dev/null 1>&1 || :
%files
%defattr(-,root,root)
@@ -236,8 +245,11 @@ fi
%dir %{_var}/lib/iscsi/send_targets
%ghost %{_var}/lock/iscsi
%ghost %{_var}/lock/iscsi/lock
-%{_initrddir}/iscsi
-%{_initrddir}/iscsid
+%{_unitdir}/iscsi.service
+%{_unitdir}/iscsid.service
+%{_unitdir}/iscsid.socket
+%{_unitdir}/iscsiuio.service
+%{_unitdir}/iscsiuio.socket
%{_sysconfdir}/NetworkManager/dispatcher.d/04-iscsi
%dir %{_sysconfdir}/iscsi
%attr(0600,root,root) %config(noreplace) %{_sysconfdir}/iscsi/iscsid.conf
@@ -254,6 +266,10 @@ fi
%{_includedir}/libiscsi.h
%changelog
+* Tue Jan 22 2013 Chris Leech <cleech at redhat.com> - 6.2.0.873-1
+- rebase to new upstream code
+- systemd conversion
+
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 6.2.0.872-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
More information about the scm-commits
mailing list