[Pkg-iscsi-maintainers] Bug#635161: open-iscsi: add a udeb

Colin Watson cjwatson at ubuntu.com
Sat Jul 23 10:37:29 UTC 2011


Package: open-iscsi
Version: 2.0.871.3-6
Severity: wishlist
Tags: patch d-i
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu ubuntu-patch oneiric

Hi,

I'd like to merge Ubuntu's support for iSCSI during d-i back into
Debian.  Here's a patch for open-iscsi to add a udeb, which is the first
step in making this work.

Once this has landed, I'll merge the partman-iscsi work I've done into
the d-i repository.

diff --git a/debian/control b/debian/control
index 6453627..7497615 100644
--- a/debian/control
+++ b/debian/control
@@ -28,6 +28,17 @@ Description: High performance, transport independent iSCSI implementation
  The userspace component consists of a daemon, iscsid and a management
  utility, iscsiadm
 
+Package: open-iscsi-udeb
+Architecture: any
+Section: debian-installer
+XC-Package-Type: udeb
+Depends: ${shlibs:Depends}, ${misc:Depends}, scsi-modules, libnss-files-udeb
+Description: Configure iSCSI
+ Open-iSCSI is a high-performance, transport independent, multi-platform
+ implementation of RFC3720 iSCSI.
+ .
+ This is the minimal package (udeb) used by debian-installer.
+
 #Package: linux-iscsi-modules-source
 #Architecture: all
 #Depends: ${shlibs:Depends}, ${misc:Depends}, module-assistant, debhelper (>= 4.0.0), bzip2
diff --git a/debian/open-iscsi-udeb.dirs b/debian/open-iscsi-udeb.dirs
new file mode 100644
index 0000000..d128065
--- /dev/null
+++ b/debian/open-iscsi-udeb.dirs
@@ -0,0 +1,4 @@
+bin
+usr/lib/finish-install.d
+sbin
+etc/iscsi
diff --git a/debian/open-iscsi-udeb.finish-install b/debian/open-iscsi-udeb.finish-install
new file mode 100644
index 0000000..a9c1e17
--- /dev/null
+++ b/debian/open-iscsi-udeb.finish-install
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+set -e
+
+got_iscsi=
+for f in /etc/iscsi/*; do
+	[ -e "$f" ] || continue
+	got_iscsi=1
+	break
+done
+
+if [ "$got_iscsi" ]; then
+	# Copy the configuration to the target...
+	cp -a /etc/iscsi /target/etc/
+fi
diff --git a/debian/open-iscsi-udeb.start b/debian/open-iscsi-udeb.start
new file mode 100644
index 0000000..90ad38d
--- /dev/null
+++ b/debian/open-iscsi-udeb.start
@@ -0,0 +1,18 @@
+#! /bin/sh
+
+# This is basically a version of the init script without dependencies on lsb
+# and without all the sanity checks. The installer is a clean environment, so
+# we don't need all of that.
+
+# Generate a unique InitiatorName and save it
+INAME=`iscsi-iname -p iqn.1993-08.org.debian:01`
+echo "## DO NOT EDIT OR REMOVE THIS FILE!" > /etc/iscsi/initiatorname.iscsi
+echo "## If you remove this file, the iSCSI daemon will not start." >> /etc/iscsi/initiatorname.iscsi
+echo "## If you change the InitiatorName, existing access control lists" >> /etc/iscsi/initiatorname.iscsi
+echo "## may reject this initiator.  The InitiatorName must be unique">> /etc/iscsi/initiatorname.iscsi
+echo "## for each iSCSI initiator.  Do NOT duplicate iSCSI InitiatorNames." >> /etc/iscsi/initiatorname.iscsi
+printf "InitiatorName=$INAME\n"  >> /etc/iscsi/initiatorname.iscsi
+chmod 600 /etc/iscsi/initiatorname.iscsi
+
+modprobe -q iscsi_tcp 2>/dev/null >&2
+/sbin/iscsid
diff --git a/debian/rules b/debian/rules
index 21a4711..60c0fa1 100755
--- a/debian/rules
+++ b/debian/rules
@@ -85,6 +85,15 @@ install-arch:
 	install -m 600 etc/iscsid.conf $(CURDIR)/debian/open-iscsi/etc/iscsi
 	install -m 644 debian/open-iscsi.default $(CURDIR)/debian/open-iscsi/etc/default/open-iscsi
 
+	# udeb stuff
+	install -m 755 usr/iscsiadm $(CURDIR)/debian/open-iscsi-udeb/bin
+	install -m 755 utils/iscsi-iname $(CURDIR)/debian/open-iscsi-udeb/sbin
+	install -m 755 utils/iscsi_discovery $(CURDIR)/debian/open-iscsi-udeb/sbin
+	install -m 755 usr/iscsid $(CURDIR)/debian/open-iscsi-udeb/sbin
+	install -m 644 etc/iscsid.conf $(CURDIR)/debian/open-iscsi-udeb/etc/iscsi
+	install -m 644 debian/open-iscsi-udeb.start $(CURDIR)/debian/open-iscsi-udeb/sbin/iscsi-start
+	install -m 755 debian/open-iscsi-udeb.finish-install $(CURDIR)/debian/open-iscsi-udeb/usr/lib/finish-install.d/10open-iscsi
+
 	# initramfs stuff
 	install -m 755 debian/extra/initramfs.hook \
 		$(CURDIR)/debian/open-iscsi/usr/share/initramfs-tools/hooks/iscsi

-- 
Colin Watson                                       [cjwatson at ubuntu.com]





More information about the Pkg-iscsi-maintainers mailing list