Accepting request 946916 from home:wagi:branches:Base:System
- Update to v2.0-rc0 * Depends on libnvme * rename harden_nvmf-connect@.service.patch to 0100-harden_nvmf-connect@.service.patch * drop 0102-nvme-cli-Add-script-to-determine-host-NQN.patch OBS-URL: https://build.opensuse.org/request/show/946916 OBS-URL: https://build.opensuse.org/package/show/Base:System/nvme-cli?expand=0&rev=99
This commit is contained in:
parent
20104c4e19
commit
35fda8d32e
@ -1,64 +0,0 @@
|
||||
From b38de666b0ae385bb35c00280c48a20f4d4d6aae Mon Sep 17 00:00:00 2001
|
||||
From: Simon Schricker <sschricker@suse.de>
|
||||
Date: Fri, 17 May 2019 15:36:37 +0200
|
||||
Subject: [PATCH] nvme-cli: Add script to determine host NQN
|
||||
|
||||
* Based on the system-UUID, via dmidecode
|
||||
* verifies UUID format
|
||||
* tries to catch fake/lazy UUIDs
|
||||
---
|
||||
scripts/det-hostnqn.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 42 insertions(+)
|
||||
create mode 100644 scripts/det-hostnqn.sh
|
||||
|
||||
diff --git a/scripts/det-hostnqn.sh b/scripts/det-hostnqn.sh
|
||||
new file mode 100644
|
||||
index 0000000..d8783cf
|
||||
--- /dev/null
|
||||
+++ b/scripts/det-hostnqn.sh
|
||||
@@ -0,0 +1,42 @@
|
||||
+#!/bin/bash
|
||||
+
|
||||
+LC_ALL=C
|
||||
+
|
||||
+UUID=$(dmidecode -s system-uuid | tr -d '[:space:]')
|
||||
+
|
||||
+if [ -z "$UUID" ] ; then
|
||||
+ >&2 echo "No UUID found, can't determine hostnqn."
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+# convert UUID to lower-case only:
|
||||
+UUID=$(echo $UUID | tr '[:upper:]' '[:lower:]')
|
||||
+
|
||||
+# check UUID format, e.g.: 4c4c4544-0156-4a10-8134-b7d04f383232, so: 8-4-4-4-12
|
||||
+if ! [[ $UUID =~ ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ ]] ; then
|
||||
+ >&2 echo "UUID has invalid format."
|
||||
+ >&2 echo "Invalid UUID: ${UUID}"
|
||||
+ exit 2
|
||||
+fi
|
||||
+
|
||||
+# HEURISTIC:
|
||||
+# (1) if any one given character occurs more than 50% of the time, it is likely
|
||||
+# that the UUID is fake.
|
||||
+# (2) if the first or the last group consists of mostly the same character, it
|
||||
+# is likely that the UUID is fake.
|
||||
+FIRST_GROUP="$(echo $UUID | cut -d'-' -f1)"
|
||||
+LAST_GROUP="$(echo $UUID | cut -d'-' -f5)"
|
||||
+for i in {{0..9},{a..f}} ; do
|
||||
+ COUNT_TOTAL="${UUID//[^$i]}"
|
||||
+ COUNT_FIRST="${FIRST_GROUP//[^$i]}"
|
||||
+ COUNT_LAST="${LAST_GROUP//[^$i]}"
|
||||
+ if [ ${#COUNT_TOTAL} -ge 16 ] || [ ${#COUNT_FIRST} -ge 7 ] || [ ${#COUNT_LAST} -ge 11 ] ; then
|
||||
+ >&2 echo "UUID is too repetitive. This may be a false alert."
|
||||
+ >&2 echo "Repetitive UUID: ${UUID}"
|
||||
+ exit 3
|
||||
+ fi
|
||||
+done
|
||||
+
|
||||
+HOSTNQN="nqn.2014-08.org.nvmexpress:uuid:${UUID}"
|
||||
+
|
||||
+echo $HOSTNQN
|
||||
--
|
||||
2.16.4
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:40f741020ab5c490374901cd2c0c9b6cf98dd5ff5f182517a0aec12c0e9aef55
|
||||
size 598246
|
3
nvme-cli-2.0-rc0.tar.gz
Normal file
3
nvme-cli-2.0-rc0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0cee96dd880f6cd674bdacc9273f26a990aeaaaff1353e81f967562fbb4eb7a6
|
||||
size 611837
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 14 17:57:47 UTC 2022 - Daniel Wagner <daniel.wagner@suse.com>
|
||||
|
||||
- Update to v2.0-rc0
|
||||
* Depends on libnvme
|
||||
* rename harden_nvmf-connect@.service.patch to 0100-harden_nvmf-connect@.service.patch
|
||||
* drop 0102-nvme-cli-Add-script-to-determine-host-NQN.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 9 08:00:28 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package nvme-cli
|
||||
#
|
||||
# Copyright (c) 2021 SUSE LLC
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -17,27 +17,29 @@
|
||||
|
||||
|
||||
Name: nvme-cli
|
||||
Version: 1.16
|
||||
Version: 2.0~rc0
|
||||
Release: 0
|
||||
Summary: NVM Express user space tools
|
||||
License: GPL-2.0-only
|
||||
Group: Hardware/Other
|
||||
URL: https://github.com/linux-nvme/nvme-cli
|
||||
Source: https://github.com/linux-nvme/nvme-cli/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
|
||||
URL: https://github.com/linux-nvme/nvme-cli/
|
||||
Source: https://github.com/linux-nvme/nvme-cli//archive/v%{version}.tar.gz#/%{name}-2.0-rc0.tar.gz
|
||||
Source2: nvme-cli-rpmlintrc
|
||||
# downstream patches:
|
||||
Patch102: 0102-nvme-cli-Add-script-to-determine-host-NQN.patch
|
||||
Patch103: harden_nvmf-connect@.service.patch
|
||||
# downstream patches
|
||||
Patch100: 0100-harden_nvmf-connect@.service.patch
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libhugetlbfs-devel
|
||||
BuildRequires: libjson-c-devel
|
||||
BuildRequires: libnvme-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: make
|
||||
BuildRequires: meson >= 0.47.0
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: xmlto
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: pkgconfig(bash-completion)
|
||||
BuildRequires: pkgconfig(libudev)
|
||||
BuildRequires: rubygem(asciidoctor)
|
||||
%ifarch x86_64 aarch64 i586
|
||||
Requires(post): dmidecode
|
||||
%endif
|
||||
|
||||
%description
|
||||
NVM Express (NVMe) is a direct attached storage interface. The
|
||||
@ -63,39 +65,45 @@ Supplements: (nvme-cli and bash-completion)
|
||||
%description bash-completion
|
||||
Optional dependency offering bash completion for NVM Express user space tools
|
||||
|
||||
%package zsh-completion
|
||||
Summary: NVM Express user space tools zsh completion
|
||||
Group: System/Shells
|
||||
Requires: %{name} = %{version}
|
||||
Requires: zsh-completion
|
||||
Supplements: (nvme-cli and zsh-completion)
|
||||
|
||||
%description zsh-completion
|
||||
Optional dependency offering zsh completion for NVM Express user space tools
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch102 -p1
|
||||
%patch103 -p1
|
||||
%autosetup -p1 -n %{name}-2.0-rc0
|
||||
|
||||
%build
|
||||
echo %{version} > version
|
||||
make CFLAGS="%{optflags} -I." PREFIX=%{_prefix} USE_ASCIIDOCTOR=YesPlease %{?_smp_mflags} all
|
||||
sed -i '/make.*/d' regress
|
||||
%meson \
|
||||
-Dudevrulesdir=%{_udevrulesdir} \
|
||||
-Ddracutrulesdir=%{_sysconfdir}/dracut/dracut.conf.d \
|
||||
-Dsystemddir=%{_unitdir} \
|
||||
-Ddocs=man
|
||||
%meson_build
|
||||
|
||||
%install
|
||||
make PREFIX=%{_prefix} DESTDIR=%{buildroot} UDEVRULESDIR=%{_udevrulesdir} install-bin install-man install-udev install-systemd %{?_smp_mflags}
|
||||
%meson_install
|
||||
install -m 644 -D /dev/null %{buildroot}%{_sysconfdir}/nvme/hostnqn
|
||||
install -m 644 -D completions/bash-nvme-completion.sh %{buildroot}%{_datadir}/bash-completion/completions/nvme
|
||||
%ifarch x86_64 aarch64 i586
|
||||
install -m 744 -D scripts/det-hostnqn.sh %{buildroot}%{_sbindir}/nvme-gen-hostnqn
|
||||
%endif
|
||||
install -m 644 -D /dev/null %{buildroot}%{_sysconfdir}/nvme/hostid
|
||||
install -m 644 -D /dev/null %{buildroot}%{_sysconfdir}/nvme/discovery.conf
|
||||
rm %{buildroot}%{_sysconfdir}/dracut/dracut.conf.d/70-nvmf-autoconnect.conf
|
||||
|
||||
# for subpackage nvme-cli-regress-script:
|
||||
install -m 744 -D regress %{buildroot}%{_sbindir}/nvme-regress
|
||||
|
||||
%define services nvmefc-boot-connections.service nvmf-connect.target
|
||||
%define services nvmefc-boot-connections.service nvmf-connect.target nvmf-autoconnect.service
|
||||
|
||||
%pre
|
||||
%service_add_pre %services nvmf-connect@.service
|
||||
|
||||
%post
|
||||
%ifarch x86_64 aarch64 i586
|
||||
if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
|
||||
%{_sbindir}/nvme-gen-hostnqn > %{_sysconfdir}/nvme/hostnqn
|
||||
fi
|
||||
%endif
|
||||
if [ ! -s %{_sysconfdir}/nvme/hostnqn ]; then
|
||||
%{_bindir}/echo "Generating random host NQN."
|
||||
%{_bindir}/echo "Generating host NQN."
|
||||
%{_sbindir}/nvme gen-hostnqn > %{_sysconfdir}/nvme/hostnqn
|
||||
fi
|
||||
if [ ! -s %{_sysconfdir}/nvme/hostid ]; then
|
||||
@ -118,9 +126,6 @@ fi
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_sbindir}/nvme
|
||||
%ifarch x86_64 aarch64 i586
|
||||
%{_sbindir}/nvme-gen-hostnqn
|
||||
%endif
|
||||
%{_mandir}/man1/nvme*.1*%{?ext_man}
|
||||
%{_udevrulesdir}/70-nvmf-autoconnect.rules
|
||||
%{_udevrulesdir}/71-nvmf-iopolicy-netapp.rules
|
||||
@ -131,6 +136,7 @@ fi
|
||||
%dir %{_sysconfdir}/nvme/
|
||||
%ghost %{_sysconfdir}/nvme/hostnqn
|
||||
%ghost %{_sysconfdir}/nvme/hostid
|
||||
%ghost %{_sysconfdir}/nvme/discovery.conf
|
||||
|
||||
%files -n nvme-cli-regress-script
|
||||
%{_sbindir}/nvme-regress
|
||||
@ -140,4 +146,9 @@ fi
|
||||
%dir %{_datadir}/bash-completion/completions
|
||||
%{_datadir}/bash-completion/completions/nvme
|
||||
|
||||
%files zsh-completion
|
||||
%dir %{_datadir}/zsh
|
||||
%dir %{_datadir}/zsh/site-functions
|
||||
%{_datadir}/zsh/site-functions/_nvme
|
||||
|
||||
%changelog
|
||||
|
Loading…
Reference in New Issue
Block a user