[Buildroot] [PATCH v2 5/5] targetcli-fb: new package
Christophe Vu-Brugier
cvubrugier at fastmail.fm
Thu Sep 18 10:00:55 UTC 2014
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 at fastmail.fm>
---
Changes v1 -> v2:
- Merge "targetcli-fb: add sysv initscript" (as suggested by Thomas)
- Use TARGETCLI_FB_INSTALL_INIT_SYSV (as suggested by Thomas)
- Describe the purpose of creating "/etc/target/" (as suggested by Thomas)
Signed-off-by: Christophe Vu-Brugier <cvubrugier at fastmail.fm>
---
package/Config.in | 1 +
package/targetcli-fb/Config.in | 14 +++++++++++
package/targetcli-fb/S50target | 46 ++++++++++++++++++++++++++++++++++++
package/targetcli-fb/targetcli-fb.mk | 26 ++++++++++++++++++++
4 files changed, 87 insertions(+)
create mode 100644 package/targetcli-fb/Config.in
create mode 100755 package/targetcli-fb/S50target
create mode 100644 package/targetcli-fb/targetcli-fb.mk
diff --git a/package/Config.in b/package/Config.in
index 096d8c6..b10225b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -364,6 +364,7 @@ endif
source "package/sunxi-mali/Config.in"
source "package/sunxi-mali-prop/Config.in"
source "package/sysstat/Config.in"
+ source "package/targetcli-fb/Config.in"
source "package/ti-gfx/Config.in"
source "package/ti-uim/Config.in"
source "package/ti-utils/Config.in"
diff --git a/package/targetcli-fb/Config.in b/package/targetcli-fb/Config.in
new file mode 100644
index 0000000..dcc6a54
--- /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 0000000..88290e4
--- /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 0000000..1faad07
--- /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))
--
2.1.0
More information about the buildroot
mailing list