nvmetcli is a program used for viewing, editing, saving, and starting a
Linux kernel NVMe Target, used for an NVMe-over-Fabrics network
configuration. It allows an administrator to export a storage resource
(such as NVMe devices, files, and volumes) to a local block device and
expose them to remote systems based on the NVMe-over-Fabrics
specification from http://www.nvmexpress.org.

Signed-off-by: Lucas Stach <[email protected]>
---
 rules/nvmetcli.in   | 28 ++++++++++++++++
 rules/nvmetcli.make | 79 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 107 insertions(+)
 create mode 100644 rules/nvmetcli.in
 create mode 100644 rules/nvmetcli.make

diff --git a/rules/nvmetcli.in b/rules/nvmetcli.in
new file mode 100644
index 000000000000..3308a5b472ed
--- /dev/null
+++ b/rules/nvmetcli.in
@@ -0,0 +1,28 @@
+## SECTION=shell_and_console
+
+config NVMETCLI
+       tristate
+       select PYTHON3
+       select PYTHON3_SIX
+       select PYTHON3_READLINE
+       select PYTHON3_PYPARSING
+       select PYTHON3_CONFIGSHELL
+       prompt "nvmetcli"
+       help
+         nvmetcli is a program used for viewing, editing, saving, and starting
+         a Linux kernel NVMe Target, used for an NVMe-over-Fabrics network
+         configuration. It allows an administrator to export a storage
+         resource (such as NVMe devices, files, and volumes) to a local block
+         device and expose them to remote systems based on the
+         NVMe-over-Fabrics specification from http://www.nvmexpress.org.
+
+if NVMETCLI
+
+config NVMETCLI_SYSTEM_SERVICE
+       bool
+       prompt "install nvmet systemd service"
+       help
+         Install a systemd service to automatically restore the nvmet
+         configuration on boot.
+
+endif
diff --git a/rules/nvmetcli.make b/rules/nvmetcli.make
new file mode 100644
index 000000000000..93c517712f7f
--- /dev/null
+++ b/rules/nvmetcli.make
@@ -0,0 +1,79 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2020 by Lucas Stach <[email protected]>
+#
+# For further information about the PTXdist project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES-$(PTXCONF_NVMETCLI) += nvmetcli
+
+#
+# Paths and names
+#
+NVMETCLI_VERSION       := 0.7
+NVMETCLI_MD5           := eed70ef32d327c814345178dd35d088b
+NVMETCLI               := nvmetcli-$(NVMETCLI_VERSION)
+NVMETCLI_SUFFIX                := tar.gz
+NVMETCLI_URL           := 
ftp://ftp.infradead.org/pub/nvmetcli/$(NVMETCLI).$(NVMETCLI_SUFFIX)
+NVMETCLI_SOURCE                := $(SRCDIR)/$(NVMETCLI).$(NVMETCLI_SUFFIX)
+NVMETCLI_DIR           := $(BUILDDIR)/$(NVMETCLI)
+NVMETCLI_LICENSE       := ASL 2.0
+NVMETCLI_LICENSE_FILES := file://COPYING;md5=1dece7821bf3fd70fe1309eaa37d52a2
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+#
+# python3
+#
+NVMETCLI_CONF_TOOL     := python3
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/nvmetcli.install:
+       @$(call targetinfo)
+       @$(call world/install, nvmetcli)
+
+#ifdef PTXCONF_NVMETCLI_SYSTEM_SERVICE
+       @install -v -D -m644 $(NVMETCLI_DIR)/nvmet.service \
+               $(NVMETCLI_PKGDIR)/usr/lib/systemd/system/nvmet.service
+#endif
+
+       @$(call touch)
+
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+$(STATEDIR)/nvmetcli.targetinstall:
+       @$(call targetinfo)
+
+       @$(call install_init, nvmetcli)
+       @$(call install_fixup, nvmetcli,PRIORITY,optional)
+       @$(call install_fixup, nvmetcli,SECTION,base)
+       @$(call install_fixup, nvmetcli,AUTHOR,"Lucas Stach 
<[email protected]>")
+       @$(call install_fixup, nvmetcli,DESCRIPTION,missing)
+
+       @$(call install_glob, nvmetcli, 0, 0, -, \
+               $(PYTHON3_SITEPACKAGES)/nvmet,, *.py)
+       @$(call install_copy, nvmetcli, 0, 0, 0755, -, /usr/sbin/nvmetcli)
+
+#ifdef PTXCONF_NVMETCLI_SYSTEM_SERVICE
+       @$(call install_copy, nvmetcli, 0, 0, 0644, -, 
/usr/lib/systemd/system/nvmet.service)
+       @$(call install_link, nvmetcli, ../nvmet.service, \
+               /usr/lib/systemd/system/multi-user.target.wants/nvmet.service)
+#endif
+
+       @$(call install_finish, nvmetcli)
+
+       @$(call touch)
+
+# vim: syntax=make
-- 
2.20.1


_______________________________________________
ptxdist mailing list
[email protected]
To unsubscribe, send a mail with subject "unsubscribe" to 
[email protected]

Reply via email to