aboutsummaryrefslogtreecommitdiffstats
path: root/main/targetcli
diff options
context:
space:
mode:
Diffstat (limited to 'main/targetcli')
-rw-r--r--main/targetcli/APKBUILD66
-rw-r--r--main/targetcli/targetcli.confd1
-rwxr-xr-xmain/targetcli/targetcli.initd26
3 files changed, 93 insertions, 0 deletions
diff --git a/main/targetcli/APKBUILD b/main/targetcli/APKBUILD
new file mode 100644
index 0000000000..efb96a15ac
--- /dev/null
+++ b/main/targetcli/APKBUILD
@@ -0,0 +1,66 @@
+# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=targetcli
+pkgver=2.0_rc1_p12
+_ver=${pkgver/_rc/rc}
+_ver=${_ver/_p/.fb}
+pkgrel=1
+pkgdesc="An administration shell for storage targets"
+url="https://github.com/agrover/targetcli-fb"
+arch="noarch"
+license="AGPLv3"
+depends="python py-configobj py-configshell py-ethtool py-ipaddr py-rtslib
+ py-simpleparse"
+depends_dev=
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="http://dev.alpinelinux.org/archive/targetcli/$pkgname-$_ver.tar.gz"
+
+_giturl="git://github.com/agrover/targetcli-fb.git"
+_gittag=v$_ver
+
+_builddir="$srcdir"/$pkgname
+
+snapshot() {
+ mkdir -p "$srcdir"
+ cd "${SRCDEST:-$srcdir}"
+ if ! [ -d targetcli-fb.git ]; then
+ git clone --bare $_giturl || return 1
+ cd targetcli-fb.git
+ else
+ cd targetcli-fb.git
+ git fetch || return 1
+ fi
+ git archive --prefix=$pkgname/ -o "$SRCDEST"/$pkgname-$_ver.tar.gz $_gittag
+ scp "$SRCDEST"/$pkgname-$_ver.tar.gz dev.alpinelinux.org:/archive/$pkgname/
+}
+
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ python setup.py build
+ gzip targetcli.8
+}
+
+package() {
+ cd "$_builddir"
+ python setup.py install --root="$pkgdir"
+ mkdir -p "$pkgdir"/var/lib/target/fabric
+ mkdir -p "$pkgdir"/etc/target
+ install -D -m644 $pkgname.8.gz "$pkgdir"/usr/share/man/man8/$pkgname.8.gz
+ install -D -m755 ../../$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -D -m644 ../../$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+md5sums="083156445d7ce684828aaddf79e61e92 targetcli-2.0rc1.fb12.tar.gz"
diff --git a/main/targetcli/targetcli.confd b/main/targetcli/targetcli.confd
new file mode 100644
index 0000000000..4cfd31ba90
--- /dev/null
+++ b/main/targetcli/targetcli.confd
@@ -0,0 +1 @@
+MODULES="configfs target_core_mod iscsi_target_mod"
diff --git a/main/targetcli/targetcli.initd b/main/targetcli/targetcli.initd
new file mode 100755
index 0000000000..28f2f9b410
--- /dev/null
+++ b/main/targetcli/targetcli.initd
@@ -0,0 +1,26 @@
+#!/sbin/runscript
+
+description="Administration tool for managing RisingTide Systems storage targets"
+command="/usr/bin/targetcli"
+
+depend() {
+ need net
+ after firewall
+}
+
+start() {
+ ebegin "Starting ${RC_SVCNAME}"
+ for mod in $MODULES; do
+ modprobe $mod
+ done
+ mount -t configfs none /sys/kernel/config
+ $command restoreconfig clear_existing=true
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${RC_SVCNAME}"
+ $command clearconfig confirm=true
+ umount /sys/kernel/config
+ eend $?
+}