diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2005-11-06 06:39:16 +0000 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2005-11-06 06:39:16 +0000 |
commit | e37b967fffd8fdb37487d86e2d31352c1a6c2f40 (patch) | |
tree | f7cbb1c5b48b55eb7d629a8759e053a04297e4a9 /sys-block/open-iscsi | |
parent | Added revision -r3 with a fix for downloading files over ssh2 that are read-o... (diff) | |
download | historical-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/open-iscsi')
-rw-r--r-- | sys-block/open-iscsi/ChangeLog | 10 | ||||
-rw-r--r-- | sys-block/open-iscsi/Manifest | 6 | ||||
-rw-r--r-- | sys-block/open-iscsi/files/backward-compile-2.6.13.patch | 14 | ||||
-rw-r--r-- | sys-block/open-iscsi/files/digest-open-iscsi-0.4.438 | 1 | ||||
-rw-r--r-- | sys-block/open-iscsi/files/r438-idbm-file-locking.diff | 23 | ||||
-rw-r--r-- | sys-block/open-iscsi/open-iscsi-0.4.438.ebuild | 98 |
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 +} |