summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shvetsov <alexxy@gentoo.org>2012-04-16 21:09:32 +0000
committerAlexey Shvetsov <alexxy@gentoo.org>2012-04-16 21:09:32 +0000
commit7142b1fd159c8afbff41627d672abf270fc73cc9 (patch)
treeb5dbc10ac0470b823fae15ca9dfc1dbb1041cf35 /sys-block
parentMarking bchunk-1.2.0-r1 ppc for bug 394053 (diff)
downloadgentoo-2-7142b1fd159c8afbff41627d672abf270fc73cc9.tar.gz
gentoo-2-7142b1fd159c8afbff41627d672abf270fc73cc9.tar.bz2
gentoo-2-7142b1fd159c8afbff41627d672abf270fc73cc9.zip
[sys-block/lio-utils] Initial import
(Portage version: 2.2.0_alpha100/cvs/Linux x86_64)
Diffstat (limited to 'sys-block')
-rw-r--r--sys-block/lio-utils/ChangeLog11
-rw-r--r--sys-block/lio-utils/Manifest5
-rw-r--r--sys-block/lio-utils/files/snmp-makefile.patch22
-rw-r--r--sys-block/lio-utils/files/target.initd137
-rw-r--r--sys-block/lio-utils/files/tools-makefile.patch8
-rw-r--r--sys-block/lio-utils/lio-utils-9999.ebuild99
-rw-r--r--sys-block/lio-utils/metadata.xml8
7 files changed, 290 insertions, 0 deletions
diff --git a/sys-block/lio-utils/ChangeLog b/sys-block/lio-utils/ChangeLog
new file mode 100644
index 000000000000..1b360610cf6d
--- /dev/null
+++ b/sys-block/lio-utils/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for sys-block/lio-utils
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-block/lio-utils/ChangeLog,v 1.1 2012/04/16 21:09:32 alexxy Exp $
+
+*lio-utils-9999 (16 Apr 2012)
+
+ 16 Apr 2012; Alexey Shvetsov <alexxy@gentoo.org> +files/snmp-makefile.patch,
+ +files/target.initd, +files/tools-makefile.patch, +lio-utils-9999.ebuild,
+ +metadata.xml:
+ [sys-block/lio-utils] Initial import
+
diff --git a/sys-block/lio-utils/Manifest b/sys-block/lio-utils/Manifest
new file mode 100644
index 000000000000..b27915a2ec0e
--- /dev/null
+++ b/sys-block/lio-utils/Manifest
@@ -0,0 +1,5 @@
+AUX snmp-makefile.patch 615 RMD160 bbd6c2a38bf89b7f41932359fada74531f72533f SHA1 f362e04dad801ef016c1442da795c81d3d1895e0 SHA256 f03463d4577faacb7a8f8974c8ab00555772cf9746132dba848009a1b702241f
+AUX target.initd 3183 RMD160 3f6f1046e578b0591b7132046ca58032933b2593 SHA1 96c71d4eb91d218aa6a85fe3b8b0aec226040757 SHA256 c88b20864bcb5848b4ab94fa50b01eb49cef0cca79c903d8a53834cc392acefb
+AUX tools-makefile.patch 280 RMD160 191099d43bad165261bb7b3c5a05c5b8256efb7a SHA1 950f9d3c3e2e5bdb12ede7a7c9159b9e562bffe9 SHA256 99c7b1e467f95b70781c0e43d63d2f3b1ac0aac75662c55009970652255e6fd9
+EBUILD lio-utils-9999.ebuild 2395 RMD160 bc5169a02b95ff6bee37db748207a11f2d471578 SHA1 d0664659e96e6d71243eb3dbfa49932f7248b48c SHA256 ed03fd904c623e13cbe8bf502cfab8aad2138fcb2aa8671a97da7dc950526db6
+MISC metadata.xml 245 RMD160 bb90c6c2a534f0a7f72a472afdcfe4f2521b37c3 SHA1 d36c31899ea7f31a40aeafbf07d33517a701a1db SHA256 19e93016c44ea06640369073a79690cddca798d46f95351caa3d18adf6680715
diff --git a/sys-block/lio-utils/files/snmp-makefile.patch b/sys-block/lio-utils/files/snmp-makefile.patch
new file mode 100644
index 000000000000..f9301ae7912b
--- /dev/null
+++ b/sys-block/lio-utils/files/snmp-makefile.patch
@@ -0,0 +1,22 @@
+--- mib-modules/Makefile.old 2011-06-21 00:26:30.000000000 +0400
++++ mib-modules/Makefile 2011-06-21 00:29:28.000000000 +0400
+@@ -18,8 +18,8 @@
+ iscsiAuthData.o
+
+ CC = gcc
+-CFLAGS = -I$(INCLDIR) -I$(INCLDIR)/agent -I$(INCLDIR)/agent/mibgroup -shared -fPIC
+-CFLAGS += -I../include -Wall -Werror
++INCLUDES = -I$(INCLDIR) -I$(INCLDIR)/agent -I$(INCLDIR)/agent/mibgroup
++INCLUDES += -I../include
+ #CFLAGS +=$(AUTO_CFLAGS)
+
+ LD = gcc -shared
+@@ -29,7 +29,7 @@
+ all: $(TARG)
+
+ %.o: %.c *.h
+- $(CC) $(CFLAGS) -o $@ -c $<
++ $(CC) -fPIC $(INCLUDES) $(CFLAGS) -o $@ -c $<
+
+ $(TARG): $(OBJS)
+ $(LD) -o $@ $(OBJS)
diff --git a/sys-block/lio-utils/files/target.initd b/sys-block/lio-utils/files/target.initd
new file mode 100644
index 000000000000..4edde81cf394
--- /dev/null
+++ b/sys-block/lio-utils/files/target.initd
@@ -0,0 +1,137 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-block/lio-utils/files/target.initd,v 1.1 2012/04/16 21:09:32 alexxy Exp $
+
+description="Linux-iSCSI.org target"
+
+depend() {
+ after modules
+ use net
+}
+
+MODNAME="target_core_mod"
+
+TCM_CFS_DIR="/sys/kernel/config/target/core"
+LIO_CFS_DIR="/sys/kernel/config/target/iscsi"
+TCM_NODE="/usr/sbin/tcm_node"
+LIO_NODE="/usr/sbin/lio_node"
+TCM_FABRIC="/usr/sbin/tcm_fabric"
+CONFIGFS_SCRIPT_DIR="/etc/target"
+TCM_CONFIGFS_SCRIPT="/etc/target/tcm_start.sh"
+LIO_CONFIGFS_SCRIPT="/etc/target/lio_start.sh"
+TCM_CORE_MODULE="target_core_mod"
+TCM_CORE_IO_MODULES="target_core_iblock target_core_file target_core_pscsi"
+FABRICS_MODULES="tcm_fc tcm_loop ib_srpt"
+LIO_MODULE="iscsi_target_mod"
+
+checkconfig() {
+ if ! modinfo ${TCM_CORE_MODULE} > /dev/null 2>&1 ; then
+ eerror "Target Core modules not found!"
+ return 1
+ elif ! modinfo ${LIO_MODULE} > /dev/null 2>&1 ; then
+ eerror "Linux iSCSI modules not found!"
+ return 1
+ elif [ ! -f ${TCM_CONFIGFS_SCRIPT} ]; then
+ eerror "${TCM_CONFIGFS_SCRIPT} does not exist. run targetcli to configure your target!"
+ return 1
+ elif [ ! -f ${LIO_CONFIGFS_SCRIPT} ]; then
+ eerror "${LIO_CONFIGFS_SCRIPT} does not exist. run targetcli to configure your target!"
+ return 1
+ fi
+}
+
+fabrics_start() {
+ ebegin "Starting Targets: "
+ for module in ${FABRICS_MODULES}; do
+ if modinfo $module > /dev/null 2>&1 ; then
+ ebegin "Loading ${module}"
+ modprobe ${module}
+ eend $?
+ fi
+ done
+ for cfgscript in ${CONFIGFS_SCRIPT_DIR}/*.sh; do
+ if [ ! -f ${cfgscript} ]; then
+ continue
+ fi
+ # target core is handled in tcm_start
+ if [ ${cfgscript} == ${TCM_CONFIGFS_SCRIPT} ]; then
+ continue
+ fi
+ # iscsi-target fabric module is handled in lio_target_start
+ if [ ${cfgscript} == ${LIO_CONFIGFS_SCRIPT} ]; then
+ continue
+ fi
+ ebegin "Calling ConfigFS script $cfgscript: "
+ sh ${cfgscript} > /dev/null 2>&1
+ eend $?
+ done
+ eend $?
+}
+
+lio_target_start() {
+ ebegin "Loading iSCSI target modules: ${LIO_MODULE}"
+ modprobe ${LIO_MODULE}
+ eend $?
+ ebegin "Configuring iSCSI target iscsi_target_mod"
+ sh ${LIO_CONFIGFS_SCRIPT} > /dev/null 2>&1
+ eend $?
+}
+
+tcm_start() {
+ ebegin "Loading Target Core modules : ${TCM_CORE_MODULE}"
+ modprobe ${TCM_CORE_MODULE}
+ eend $?
+ ebegin "Loading Target Core backend modules: "
+ for module in ${TCM_CORE_IO_MODULES} ; do
+ ebegin "${module}"
+ modprobe ${module}
+ eend $?
+ done
+ eend $?
+ ebegin "Calling ConfigFS script $TCM_CONFIGFS_SCRIPT for target_core_mod"
+ sh ${TCM_CONFIGFS_SCRIPT} > /dev/null 2>&1
+ eend $?
+}
+
+lio_target_stop() {
+ ebegin "Unload Linux-iSCSI.org Fabric module"
+ ${LIO_NODE} --unload
+ eend $?
+}
+
+fabrics_stop() {
+ ebegin "Unloading misc fabric modules: "
+ ${TCM_FABRIC} --unloadall
+ eend $?
+}
+
+tcm_stop() {
+ ebegin "Unloading Target Core modules: "
+ $TCM_NODE --unload
+ eend $?
+}
+
+start() {
+ checkconfig
+ tcm_start
+ lio_target_start
+ fabrics_start
+}
+
+stop() {
+ lio_target_stop
+ fabrics_stop
+ tcm_stop
+}
+
+status() {
+ if [[ -d ${TCM_CFS_DIR} && -d ${LIO_CFS_DIR} ]]; then
+ einfo "Target core mode status"
+ ${TCM_NODE} --listhbas
+ einfo "Linux iSCSI status"
+ ${LIO_NODE} --listendpoints
+ else
+ einfo "Target not started (yet)"
+ fi
+}
diff --git a/sys-block/lio-utils/files/tools-makefile.patch b/sys-block/lio-utils/files/tools-makefile.patch
new file mode 100644
index 000000000000..d9ee0400d215
--- /dev/null
+++ b/sys-block/lio-utils/files/tools-makefile.patch
@@ -0,0 +1,8 @@
+--- tools/Makefile 2011-06-20 23:25:07.000000000 +0400
++++ tools/Makefile 2011-06-21 00:06:26.000000000 +0400
+@@ -12,4 +12,5 @@
+ rm -f $(ISCSI_NAME_OBJS) $(ISCSI_NAME)
+
+ install:
++ mkdir -p $(DESTDIR)/usr/sbin
+ install -m 0755 $(ISCSI_NAME) $(DESTDIR)/usr/sbin/iscsi-name
diff --git a/sys-block/lio-utils/lio-utils-9999.ebuild b/sys-block/lio-utils/lio-utils-9999.ebuild
new file mode 100644
index 000000000000..bc17df321140
--- /dev/null
+++ b/sys-block/lio-utils/lio-utils-9999.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-block/lio-utils/lio-utils-9999.ebuild,v 1.1 2012/04/16 21:09:32 alexxy Exp $
+
+EAPI=4
+
+EGIT_REPO_URI="git://linux-iscsi.org/lio-utils.git"
+PYTHON_DEPEND="2"
+RESTRICT_PYTHON_ABIS="3.*"
+SUPPORT_PYTHON_ABIS="1"
+
+inherit eutils distutils git-2 python linux-info
+
+DESCRIPTION="Tools for controlling target_core_mod/ConfigFS"
+HOMEPAGE="http://linux-iscsi.org/"
+SRC_URI=""
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS=""
+IUSE="snmp"
+
+DEPEND="snmp? ( net-analyzer/net-snmp )"
+RDEPEND="${DEPEND}"
+
+CONFIG_CHECK="~TARGET_CORE"
+
+src_prepare(){
+ local module
+
+ for module in tcm-py lio-py; do
+ cd ${module}
+ distutils_src_prepare
+ cd ..
+ done
+ epatch "${FILESDIR}"/tools-makefile.patch
+ epatch "${FILESDIR}"/snmp-makefile.patch
+}
+
+src_compile(){
+ local module
+
+ for module in tcm-py lio-py; do
+ cd ${module}
+ distutils_src_compile
+ cd ..
+ done
+ cd tools/
+ emake || die "emake failed"
+ cd ..
+ if use snmp; then
+ cd mib-modules/
+ emake || die "emake snmp failed"
+ cd ..
+ fi
+}
+
+src_install(){
+ local module
+
+ for module in tcm-py lio-py; do
+ cd ${module}
+ distutils_src_install
+ cd ..
+ done
+ cd tools/
+ emake DESTDIR="${ED}" install || die "emake install failed"
+ cd ..
+
+ symlink_to_sbin(){
+ local ver=$(python_get_version) sitedir="$(python_get_sitedir)"
+ ln -s "${sitedir}"/lio_dump.py \
+ "${ED}"/usr/sbin/lio_dump-${ver}
+ python_convert_shebangs "${ver}" "${D}${sitedir}"/lio_dump.py
+ ln -s "${sitedir}"/lio_node.py \
+ "${ED}"/usr/sbin/lio_node-${ver}
+ python_convert_shebangs "${ver}" "${D}${sitedir}"/lio_node.py
+ ln -s "${sitedir}"/tcm_dump.py \
+ "${ED}"/usr/sbin/tcm_dump-${ver}
+ python_convert_shebangs "${ver}" "${D}${sitedir}"/tcm_dump.py
+ ln -s "${sitedir}"/tcm_node.py \
+ "${ED}"/usr/sbin/tcm_node-${ver}
+ python_convert_shebangs "${ver}" "${D}${sitedir}"/tcm_node.py
+ ln -s "${sitedir}"/tcm_fabric.py \
+ "${ED}"/usr/sbin/tcm_fabric-${ver}
+ python_convert_shebangs "${ver}" "${D}${sitedir}"/tcm_fabric.py
+ }
+ python_execute_function --action-message "Making symlinks to /usr/sbin" symlink_to_sbin
+ python_generate_wrapper_scripts "${ED}"/usr/sbin/{lio_dump,lio_node,tcm_node,tcm_dump,tcm_fabric}
+
+ if use snmp; then
+ cd mib-modules/
+ emake DESTDIR="${ED}" install || die "emake install snmp failed"
+ cd ..
+ fi
+
+ emake DESTDIR="${ED}" conf_install || die "emake conf_install failed"
+ newinitd "${FILESDIR}/target.initd" target
+}
diff --git a/sys-block/lio-utils/metadata.xml b/sys-block/lio-utils/metadata.xml
new file mode 100644
index 000000000000..ed404319e336
--- /dev/null
+++ b/sys-block/lio-utils/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>cluster</herd>
+<longdescription>
+ Tools for controlling target_core_mod/ConfigFS
+</longdescription>
+</pkgmetadata>