mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Lucas Stach <l.stach@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: [ptxdist] [PATCH v2 2/2] nvmetcli: new package
Date: Mon, 21 Sep 2020 10:30:57 +0200	[thread overview]
Message-ID: <20200921083057.4074995-2-l.stach@pengutronix.de> (raw)
In-Reply-To: <20200921083057.4074995-1-l.stach@pengutronix.de>

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 <l.stach@pengutronix.de>
---
v2:
- use proper SPDX license tag
- fix systemd service option
---
 projectroot/etc/nvmet/config.json |  0
 rules/nvmetcli.in                 | 29 +++++++++++
 rules/nvmetcli.make               | 81 +++++++++++++++++++++++++++++++
 3 files changed, 110 insertions(+)
 create mode 100644 projectroot/etc/nvmet/config.json
 create mode 100644 rules/nvmetcli.in
 create mode 100644 rules/nvmetcli.make

diff --git a/projectroot/etc/nvmet/config.json b/projectroot/etc/nvmet/config.json
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/rules/nvmetcli.in b/rules/nvmetcli.in
new file mode 100644
index 000000000000..28ec1924e27a
--- /dev/null
+++ b/rules/nvmetcli.in
@@ -0,0 +1,29 @@
+## 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_SYSTEMD_SERVICE
+	bool
+	depends on INITMETHOD_SYSTEMD
+	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..b9e30a673e98
--- /dev/null
+++ b/rules/nvmetcli.make
@@ -0,0 +1,81 @@
+# -*-makefile-*-
+#
+# Copyright (C) 2020 by Lucas Stach <l.stach@pengutronix.de>
+#
+# 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	:= Apache-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_SYSTEMD_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 <l.stach@pengutronix.de>")
+	@$(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_SYSTEMD_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)
+
+	@$(call install_alternative, nvmetcli, 0, 0, 0644, /etc/nvmet/config.json)
+endif
+
+	@$(call install_finish, nvmetcli)
+
+	@$(call touch)
+
+# vim: syntax=make
-- 
2.20.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

  reply	other threads:[~2020-09-21  8:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-21  8:30 [ptxdist] [PATCH v2 1/2] python3-configshell: " Lucas Stach
2020-09-21  8:30 ` Lucas Stach [this message]
2020-10-06  8:18   ` [ptxdist] [APPLIED] nvmetcli: " Michael Olbrich
2020-10-06  8:18 ` [ptxdist] [APPLIED] python3-configshell: " Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200921083057.4074995-2-l.stach@pengutronix.de \
    --to=l.stach@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox