Bug#635161: open-iscsi: add a udeb
Package: open-iscsi
Version: 2.0.871.3-6
Severity: wishlist
Tags: patch d-i
User: ubuntu-devel@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@ubuntu.com]
Reply to: