From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1kKHDu-0001fJ-Hi for ptxdist@pengutronix.de; Mon, 21 Sep 2020 10:30:59 +0200 From: Lucas Stach Date: Mon, 21 Sep 2020 10:30:57 +0200 Message-Id: <20200921083057.4074995-2-l.stach@pengutronix.de> In-Reply-To: <20200921083057.4074995-1-l.stach@pengutronix.de> References: <20200921083057.4074995-1-l.stach@pengutronix.de> MIME-Version: 1.0 Subject: [ptxdist] [PATCH v2 2/2] nvmetcli: new package List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@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 --- 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 +# +# 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 ") + @$(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