summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2005-11-06 06:39:16 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2005-11-06 06:39:16 +0000
commite37b967fffd8fdb37487d86e2d31352c1a6c2f40 (patch)
treef7cbb1c5b48b55eb7d629a8759e053a04297e4a9 /sys-block
parentAdded revision -r3 with a fix for downloading files over ssh2 that are read-o... (diff)
downloadhistorical-e37b967fffd8fdb37487d86e2d31352c1a6c2f40.tar.gz
historical-e37b967fffd8fdb37487d86e2d31352c1a6c2f40.tar.bz2
historical-e37b967fffd8fdb37487d86e2d31352c1a6c2f40.zip
Version bump. Custom patches for compile agasinst 2.6.13 or newer, and possible IDBM corruption fix.
Package-Manager: portage-2.0.53_rc7
Diffstat (limited to 'sys-block')
-rw-r--r--sys-block/open-iscsi/ChangeLog10
-rw-r--r--sys-block/open-iscsi/Manifest6
-rw-r--r--sys-block/open-iscsi/files/backward-compile-2.6.13.patch14
-rw-r--r--sys-block/open-iscsi/files/digest-open-iscsi-0.4.4381
-rw-r--r--sys-block/open-iscsi/files/r438-idbm-file-locking.diff23
-rw-r--r--sys-block/open-iscsi/open-iscsi-0.4.438.ebuild98
6 files changed, 150 insertions, 2 deletions
diff --git a/sys-block/open-iscsi/ChangeLog b/sys-block/open-iscsi/ChangeLog
index a0a53bba41cf..f46b036e1e10 100644
--- a/sys-block/open-iscsi/ChangeLog
+++ b/sys-block/open-iscsi/ChangeLog
@@ -1,6 +1,14 @@
# 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.5 2005/11/03 05:51:55 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-block/open-iscsi/ChangeLog,v 1.6 2005/11/06 06:39:16 robbat2 Exp $
+
+*open-iscsi-0.4.438 (06 Nov 2005)
+
+ 06 Nov 2005; Robin H. Johnson <robbat2@gentoo.org>
+ +files/r438-idbm-file-locking.diff, +files/backward-compile-2.6.13.patch,
+ +open-iscsi-0.4.438.ebuild:
+ Version bump. Custom patches for compile agasinst 2.6.13 or newer, and
+ possible IDBM corruption fix.
*open-iscsi-0.4.434 (03 Nov 2005)
diff --git a/sys-block/open-iscsi/Manifest b/sys-block/open-iscsi/Manifest
index f5a369a6f608..2467e9a83c76 100644
--- a/sys-block/open-iscsi/Manifest
+++ b/sys-block/open-iscsi/Manifest
@@ -1,10 +1,14 @@
-MD5 196f78933054eb2d60773e6caa8eea39 ChangeLog 1401
+MD5 4c461f092d2444bf80cb51bf516469d9 ChangeLog 1701
+MD5 087c05b579d7b3dbce791fcb8ed1219f files/backward-compile-2.6.13.patch 472
MD5 20bcd1f0060b30662979dd4d9d8a9a93 files/digest-open-iscsi-0.4.413 70
MD5 20bcd1f0060b30662979dd4d9d8a9a93 files/digest-open-iscsi-0.4.413-r1 70
MD5 a63ea3ffa94d6406ec4b32bdcb71c043 files/digest-open-iscsi-0.4.434 70
+MD5 704df438b6376aaefa71e2797126ad58 files/digest-open-iscsi-0.4.438 70
MD5 ec58849ae9c14ba36b99b28f204bd9be files/initiatorname.iscsi 422
MD5 c6ed0fd5937c35362e510fd1c4f17232 files/iscsid-init.d 2381
+MD5 1b1ec0732d8609b14f7aae743da78f49 files/r438-idbm-file-locking.diff 865
MD5 21cd68602737d7c996bceabf6e62c468 metadata.xml 223
MD5 7fcd7e8864c82b54398d2181c5e659d5 open-iscsi-0.4.413-r1.ebuild 2394
MD5 88e0027844d0bb73925ed95ba41cd2ca open-iscsi-0.4.413.ebuild 2321
MD5 12868d97cb8d79a096d44f6f4fe24b9e open-iscsi-0.4.434.ebuild 2448
+MD5 b5c3021e5b5533835ede6a2315f10812 open-iscsi-0.4.438.ebuild 2801
diff --git a/sys-block/open-iscsi/files/backward-compile-2.6.13.patch b/sys-block/open-iscsi/files/backward-compile-2.6.13.patch
new file mode 100644
index 000000000000..3e66792aaef3
--- /dev/null
+++ b/sys-block/open-iscsi/files/backward-compile-2.6.13.patch
@@ -0,0 +1,14 @@
+Index: kernel/scsi_transport_iscsi.c
+===================================================================
+--- kernel/scsi_transport_iscsi.c (revision 438)
++++ kernel/scsi_transport_iscsi.c (working copy)
+@@ -1234,8 +1234,7 @@
+ if (err)
+ goto unregister_session_class;
+
+- nls = netlink_kernel_create(NETLINK_ISCSI, 1, iscsi_if_rx,
+- THIS_MODULE);
++ nls = netlink_kernel_create(NETLINK_ISCSI, iscsi_if_rx);
+ if (!nls) {
+ err = -ENOBUFS;
+ goto unregister_notifier;
diff --git a/sys-block/open-iscsi/files/digest-open-iscsi-0.4.438 b/sys-block/open-iscsi/files/digest-open-iscsi-0.4.438
new file mode 100644
index 000000000000..37aa379d7683
--- /dev/null
+++ b/sys-block/open-iscsi/files/digest-open-iscsi-0.4.438
@@ -0,0 +1 @@
+MD5 84f85500b469484d948a0a1f861a55f0 open-iscsi-0.4-438.tar.gz 155810
diff --git a/sys-block/open-iscsi/files/r438-idbm-file-locking.diff b/sys-block/open-iscsi/files/r438-idbm-file-locking.diff
new file mode 100644
index 000000000000..0be0708925d5
--- /dev/null
+++ b/sys-block/open-iscsi/files/r438-idbm-file-locking.diff
@@ -0,0 +1,23 @@
+This is a quick patch to try and resolve the issue of IDBM file corruption.
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+
+diff -NuarbB --exclude .svn --exclude '*~' open-iscsi-0.4-438/usr/idbm.c open-iscsi/usr/idbm.c
+--- open-iscsi-0.4-438/usr/idbm.c 2005-10-18 13:10:39.000000000 -0700
++++ open-iscsi/usr/idbm.c 2005-11-04 16:14:31.000000000 -0800
+@@ -1481,14 +1481,14 @@
+
+ if ((db->discdb = idbm_open(DISCOVERY_FILE,
+ access(DISCOVERY_FILE, F_OK) != 0 ?
+- O_CREAT|O_RDWR : O_RDWR)) == NULL) {
++ O_CREAT|O_RDWR|O_EXCL : O_RDWR|O_EXCL)) == NULL) {
+ free(db->configfile);
+ free(db);
+ return NULL;
+ }
+
+ if ((db->nodedb = idbm_open(NODE_FILE, access(NODE_FILE, F_OK) != 0 ?
+- O_CREAT|O_RDWR : O_RDWR)) == NULL) {
++ O_CREAT|O_RDWR|O_EXCL : O_RDWR|O_EXCL)) == NULL) {
+ idbm_close(db->discdb);
+ free(db->configfile);
+ free(db);
diff --git a/sys-block/open-iscsi/open-iscsi-0.4.438.ebuild b/sys-block/open-iscsi/open-iscsi-0.4.438.ebuild
new file mode 100644
index 000000000000..21d745e2674e
--- /dev/null
+++ b/sys-block/open-iscsi/open-iscsi-0.4.438.ebuild
@@ -0,0 +1,98 @@
+# 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.438.ebuild,v 1.1 2005/11/06 06:39:16 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="http://www.open-iscsi.org/bits/${MY_P}.tar.gz"
+#SRC_URI="http://dev.gentoo.org/~robbat2/distfiles/${MY_P}.tar.gz""
+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
+ einfo "2.6.11 found"
+ epatch ${S}/kernel/backward-compile-2.6.11.patch
+ elif [ $KV_PATCH -eq 12 ]; then
+ einfo "2.6.12 found"
+ epatch ${S}/kernel/backward-compile-2.6.12.patch
+ else
+ einfo "2.6.13 or newer found"
+ EPATCH_OPTS="-p0 -d ${S}" \
+ epatch ${FILESDIR}/backward-compile-2.6.13.patch
+ fi
+ # IDBM locking fix attempt
+ EPATCH_OPTS="-p1 -d ${S}" \
+ epatch ${FILESDIR}/r438-idbm-file-locking.diff
+
+ # clean up CFLAGS
+ 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
+ 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
+}