summaryrefslogtreecommitdiff
path: root/package/targetcli-fb
diff options
context:
space:
mode:
authorChristophe Vu-Brugier <cvubrugier@fastmail.fm>2014-09-18 12:00:55 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2014-09-21 19:45:54 +0200
commit3867623c23ec0b1638d55dcb42e58f800de38785 (patch)
tree8117f7a6985308a67af76148a71c6534fb537174 /package/targetcli-fb
parente9d12828cd7e2e8ce50359ce490d8eb74198402c (diff)
targetcli-fb: new package
targetcli-fb is a command-line interface for configuring the LIO generic SCSI target, present in 3.x Linux kernel versions. Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/targetcli-fb')
-rw-r--r--package/targetcli-fb/Config.in14
-rwxr-xr-xpackage/targetcli-fb/S50target46
-rw-r--r--package/targetcli-fb/targetcli-fb.mk26
3 files changed, 86 insertions, 0 deletions
diff --git a/package/targetcli-fb/Config.in b/package/targetcli-fb/Config.in
new file mode 100644
index 000000000..dcc6a542f
--- /dev/null
+++ b/package/targetcli-fb/Config.in
@@ -0,0 +1,14 @@
+comment "targetcli-fb depends on python"
+ depends on !BR2_PACKAGE_PYTHON
+
+config BR2_PACKAGE_TARGETCLI_FB
+ bool "targetcli-fb"
+ depends on BR2_PACKAGE_PYTHON
+ select BR2_PACKAGE_PYTHON_CONFIGSHELL_FB
+ select BR2_PACKAGE_PYTHON_RTSLIB_FB
+ help
+ targetcli-fb is a command-line interface for configuring the
+ LIO generic SCSI target, present in 3.x Linux kernel
+ versions.
+
+ https://github.com/agrover/targetcli-fb
diff --git a/package/targetcli-fb/S50target b/package/targetcli-fb/S50target
new file mode 100755
index 000000000..88290e4f7
--- /dev/null
+++ b/package/targetcli-fb/S50target
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# Restore / clear the Linux "SCSI target" driver configuration with `targetctl`
+#
+
+start() {
+ local ret
+
+ echo -n "Restoring target configuration: "
+ /usr/bin/targetctl restore >/dev/null 2>&1
+ ret=$?
+ echo "done"
+
+ return $ret
+}
+
+stop() {
+ local ret
+
+ echo -n "Clearing target configuration: "
+ /usr/bin/targetctl clear >/dev/null 2>&1
+ ret=$?
+ echo "done"
+
+ return $ret
+}
+
+restart() {
+ stop
+ start
+}
+
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ restart
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart}"
+ exit 1
+esac
diff --git a/package/targetcli-fb/targetcli-fb.mk b/package/targetcli-fb/targetcli-fb.mk
new file mode 100644
index 000000000..1faad07b0
--- /dev/null
+++ b/package/targetcli-fb/targetcli-fb.mk
@@ -0,0 +1,26 @@
+################################################################################
+#
+# targetcli-fb
+#
+################################################################################
+
+TARGETCLI_FB_VERSION = v2.1.fb36
+TARGETCLI_FB_SITE = $(call github,agrover,targetcli-fb,$(TARGETCLI_FB_VERSION))
+TARGETCLI_FB_LICENSE = Apache-2.0
+TARGETCLI_FB_LICENSE_FILES = COPYING
+TARGETCLI_FB_SETUP_TYPE = setuptools
+TARGETCLI_FB_DEPENDENCIES = python-configshell-fb python-rtslib-fb
+
+define TARGETCLI_FB_INSTALL_INIT_SYSV
+ $(INSTALL) -m 0755 -D package/targetcli-fb/S50target $(TARGET_DIR)/etc/init.d/S50target
+endef
+
+# Targetcli stores its configuration in /etc/target/saveconfig.json
+# and complains if the /etc/target/ directory does not exist.
+define TARGETCLI_FB_INSTALL_CONF_DIR
+ $(INSTALL) -m 0755 -d $(TARGET_DIR)/etc/target
+endef
+
+TARGETCLI_FB_POST_INSTALL_TARGET_HOOKS += TARGETCLI_FB_INSTALL_CONF_DIR
+
+$(eval $(python-package))