[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