Add debug support, and improve init script to properly stop iscsid.
authorRobin H. Johnson <robbat2@gentoo.org>
Fri, 23 Sep 2005 05:55:28 +0000 (05:55 +0000)
committerRobin H. Johnson <robbat2@gentoo.org>
Fri, 23 Sep 2005 05:55:28 +0000 (05:55 +0000)
Package-Manager: portage-2.0.51.22-r2

sys-block/open-iscsi/ChangeLog
sys-block/open-iscsi/Manifest
sys-block/open-iscsi/files/digest-open-iscsi-0.4.413-r1 [new file with mode: 0644]
sys-block/open-iscsi/files/iscsid-init.d
sys-block/open-iscsi/open-iscsi-0.4.413-r1.ebuild [new file with mode: 0644]

index 94ac06cfe9c4ed16246f772d06ecb9f6b151c2c4..963039b6b316fa8313880aa7778dba5eb0e53cc7 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for sys-block/open-iscsi
 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-block/open-iscsi/ChangeLog,v 1.3 2005/09/21 04:50:47 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-block/open-iscsi/ChangeLog,v 1.4 2005/09/23 05:55:28 robbat2 Exp $
+
+*open-iscsi-0.4.413-r1 (23 Sep 2005)
+
+  23 Sep 2005; Robin H. Johnson <robbat2@gentoo.org> files/iscsid-init.d,
+  +open-iscsi-0.4.413-r1.ebuild:
+  Add debug support, and improve init script to properly stop iscsid.
 
   21 Sep 2005; Robin H. Johnson <robbat2@gentoo.org>
   files/digest-open-iscsi-0.4.413, Manifest:
index 025092802c2ded551b33822da9b85f4f319126f6..c8a79100d739caace84dbe337487881402ad2391 100644 (file)
@@ -1,6 +1,8 @@
+MD5 7fcd7e8864c82b54398d2181c5e659d5 open-iscsi-0.4.413-r1.ebuild 2394
 MD5 88e0027844d0bb73925ed95ba41cd2ca open-iscsi-0.4.413.ebuild 2321
-MD5 a0e08853157593b535d3e7b78f0a6385 ChangeLog 1050
+MD5 56bbfacc84d067cf96fa2da2bc8a8d50 ChangeLog 1266
 MD5 21cd68602737d7c996bceabf6e62c468 metadata.xml 223
 MD5 ec58849ae9c14ba36b99b28f204bd9be files/initiatorname.iscsi 422
 MD5 20bcd1f0060b30662979dd4d9d8a9a93 files/digest-open-iscsi-0.4.413 70
-MD5 ad2618aed85b081bedd4ebcf72316183 files/iscsid-init.d 2213
+MD5 c6ed0fd5937c35362e510fd1c4f17232 files/iscsid-init.d 2381
+MD5 20bcd1f0060b30662979dd4d9d8a9a93 files/digest-open-iscsi-0.4.413-r1 70
diff --git a/sys-block/open-iscsi/files/digest-open-iscsi-0.4.413-r1 b/sys-block/open-iscsi/files/digest-open-iscsi-0.4.413-r1
new file mode 100644 (file)
index 0000000..ffd459f
--- /dev/null
@@ -0,0 +1 @@
+MD5 e0b90d2db7949b711c1f49d1da330cc4 open-iscsi-0.4-413.tar.gz 155241
index f08b64542189edc4a7cac55747a950b5d8f6aa24..98cffff8a138a30c226bc0364d7263174ee600a5 100644 (file)
@@ -1,7 +1,7 @@
 #!/sbin/runscript
 # Copyright 1999-2005 Gentoo Technologies, Inc.
 # Distributed under the terms of the GNU General Public License, v2 or later
-# $Header: /var/cvsroot/gentoo-x86/sys-block/open-iscsi/files/iscsid-init.d,v 1.2 2005/09/20 08:00:38 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-block/open-iscsi/files/iscsid-init.d,v 1.3 2005/09/23 05:55:28 robbat2 Exp $
 
 PID_FILE=/var/run/iscsid.pid
 CONFIG_FILE=/etc/iscsid.conf
@@ -16,28 +16,35 @@ depend() {
 }
 
 checkconfig() {
-       [ ! -f $CONFIG_FILE ] && die "Config file $CONFIG_FILE does not exist!"
-       if [ ! -f $INITIATORNAME ]; then
+       if [ ! -f $CONFIG_FILE ]; then
+               eerror "Config file $CONFIG_FILE does not exist!"
+               return 1
+       fi
+       if [ ! -f $INITIATORNAME -o -z "$(egrep '^InitiatorName=' "${INITIATORNAME}")" ]; then
                eerror "$INITIATORNAME should contain a string with your initiatior name, eg:"
-               errror "InitiatorName=iqn.2005-09.tld.domainname.hostname:initiator-name"
-               die "Initiator name file does not exist!"
+               eerror "InitiatorName=iqn.2005-09.tld.domainname.hostname:initiator-name"
+               eerror "Initiator name file does not exist!"
+               return 1
        fi
 }
 
 start() {
-       checkconfig
+       checkconfig || return 1
+       ebegin "Loading iSCSI modules"
+       modprobe scsi_transport_iscsi && modprobe iscsi_tcp
+       ret=$?
+       eend $ret
+       [ $ret -gt 0 ] && return $ret
        ebegin "Starting iSCSI initiator service"
-       modprobe scsi_transport_iscsi
-       modprobe iscsi_tcp
        start-stop-daemon --start --exec $DAEMON --quiet
        ret=$?
        eend $ret
-       [ $ret -gt 0 ] && return $ret
+       return $ret
 }
        
 stop() {
        ebegin "Stopping iSCSI initiator service"
-       start-stop-daemon --stop --quiet --exec $DAEMON --pidfile $PID_FILE
+       start-stop-daemon --signal HUP --stop --quiet --exec $DAEMON #--pidfile $PID_FILE
        eend $?
 
        # ugly, but pid file is not removed by iscsid
@@ -48,7 +55,7 @@ stop() {
        modprobe -r scsi_transport_iscsi
        ret=$?
        eend $ret
-       [ $ret -gt 0 ] && return $ret
+       return $ret
 }
 
 opts="${opts} dump"
diff --git a/sys-block/open-iscsi/open-iscsi-0.4.413-r1.ebuild b/sys-block/open-iscsi/open-iscsi-0.4.413-r1.ebuild
new file mode 100644 (file)
index 0000000..cd6f689
--- /dev/null
@@ -0,0 +1,85 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-block/open-iscsi/open-iscsi-0.4.413-r1.ebuild,v 1.1 2005/09/23 05:55:28 robbat2 Exp $
+
+inherit versionator linux-mod eutils flag-o-matic
+
+DESCRIPTION="Open-iSCSI project is a high performance, transport independent, multi-platform implementation of RFC3720."
+HOMEPAGE="http://www.open-iscsi.org/"
+MY_PV="$(replace_version_separator 2 '-')"
+MY_P="${PN}-${MY_PV}"
+SRC_URI="mirror://gentoo/${MY_P}.tar.gz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86 ~amd64"
+IUSE="debug"
+DEPEND="virtual/libc
+               virtual/linux-sources"
+RDEPEND="${DEPEND}
+               virtual/modutils
+               sys-apps/util-linux"
+S="${WORKDIR}/${MY_P}"
+
+MODULE_NAMES_ARG="kernel/drivers/scsi:${S}/kernel"
+MODULE_NAMES="iscsi_tcp(${MODULE_NAMES_ARG}) scsi_transport_iscsi(${MODULE_NAMES_ARG})"
+BUILD_TARGETS="all"
+CONFIG_CHECK="CRYPTO_MD5 CRYPTO_CRC32C"
+ERROR_CFG="open-iscsi needs both MD5 and CRC32C support in your kernel."
+
+src_unpack() {
+       unpack ${A}
+       convert_to_m ${S}/kernel/Makefile
+       export EPATCH_OPTS="-d${S}/kernel -p0"
+       if [ $KV_PATCH -lt 11 ]; then
+               die "Sorry, your kernel must be 2.6.11 or newer!"
+       elif [ $KV_PATCH -eq 11 ]; then
+               epatch ${S}/kernel/backward-compile-2.6.11.patch
+       elif [ $KV_PATCH -eq 12 ]; then
+               epatch ${S}/kernel/backward-compile-2.6.12.patch
+       fi
+       sed -i.orig  \
+               -e '/^CFLAGS/s,-O2,,g' \
+               -e '/^CFLAGS/s,-g,,g' \
+               ${S}/usr/Makefile || die "Failed to clean up CFLAGS"
+}
+
+src_compile() {
+       einfo "Building kernel modules"
+       export KSRC="${KERNEL_DIR}"
+       use debug && append-flags -DDEBUG_TCP -DDEBUG_SCSI
+       #S=${S}/kernel 
+       linux-mod_src_compile || die "failed to build modules"
+       einfo "Building userspace"
+       cd ${S}/usr && emake || die "emake failed"
+}
+
+src_install() {
+       einfo "Installing kernel modules"
+       export KSRC="${KERNEL_DIR}"
+       #S=${S}/kernel 
+       linux-mod_src_install
+
+       einfo "Installing userspace"
+       dosbin usr/iscsid usr/iscsiadm
+
+       doman doc/*[1-8]
+       dodoc README THANKS TODO
+       docinto test
+       dodoc test/*
+
+       insinto /etc
+       doins etc/iscsid.conf
+       doins ${FILESDIR}/initiatorname.iscsi
+       newinitd ${FILESDIR}/iscsid-init.d iscsid
+
+       # security
+       keepdir /var/db/iscsi
+       fperms 700 /var/db/iscsi
+       fperms 600 /etc/iscsid.conf
+}
+
+pkg_postinst() {
+       linux-mod_pkg_postinst
+       [ -d /var/db/iscsi ] && chmod 700 /var/db/iscsi
+       [ -f /etc/iscsid.conf ] && chmod 600 /etc/iscsid.conf
+}