From 78a9c66c425e362a51926a450d0080ca45a6828a Mon Sep 17 00:00:00 2001 From: Subhaditya Nath Date: Sat, 16 Apr 2022 16:17:52 +0530 Subject: [PATCH 1/2] New package: libnvme-0.1 --- common/shlibs | 1 + srcpkgs/libnvme-devel | 1 + srcpkgs/libnvme-doc | 1 + srcpkgs/libnvme/patches/SCOPE_DELIMITER.patch | 13 +++++++ srcpkgs/libnvme/template | 39 +++++++++++++++++++ srcpkgs/python3-libnvme | 1 + 6 files changed, 56 insertions(+) create mode 120000 srcpkgs/libnvme-devel create mode 120000 srcpkgs/libnvme-doc create mode 100644 srcpkgs/libnvme/patches/SCOPE_DELIMITER.patch create mode 100644 srcpkgs/libnvme/template create mode 120000 srcpkgs/python3-libnvme diff --git a/common/shlibs b/common/shlibs index ae4bb44c57a3ce..fb0239f14fca97 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4148,3 +4148,4 @@ librz_search.so.0.3.4 rizin-0.3.4_1 librz_bin.so.0.3.4 rizin-0.3.4_1 libaravis-0.8.so.0 libaravis-0.8.21_1 libLimeSuite.so.20.10-1 LimeSuite-20.10.0_1 +libnvme.so.1 libnvme-1.0_1 diff --git a/srcpkgs/libnvme-devel b/srcpkgs/libnvme-devel new file mode 120000 index 00000000000000..3228da1bc6d7ad --- /dev/null +++ b/srcpkgs/libnvme-devel @@ -0,0 +1 @@ +libnvme \ No newline at end of file diff --git a/srcpkgs/libnvme-doc b/srcpkgs/libnvme-doc new file mode 120000 index 00000000000000..3228da1bc6d7ad --- /dev/null +++ b/srcpkgs/libnvme-doc @@ -0,0 +1 @@ +libnvme \ No newline at end of file diff --git a/srcpkgs/libnvme/patches/SCOPE_DELIMITER.patch b/srcpkgs/libnvme/patches/SCOPE_DELIMITER.patch new file mode 100644 index 00000000000000..c25df742e76353 --- /dev/null +++ b/srcpkgs/libnvme/patches/SCOPE_DELIMITER.patch @@ -0,0 +1,13 @@ +SCOPE_DELIMITER not defined in musl + +--- a/src/nvme/fabrics.c ++++ b/src/nvme/fabrics.c +@@ -325,7 +325,7 @@ + nvme_msg(r, LOG_ERR, "cannot copy: %s\n", src); + + const char *scope = NULL; +- char *p = strchr(tmp, SCOPE_DELIMITER); ++ char *p = strchr(tmp, '%'); + if (p) { + *p = '\0'; + scope = src + (p - tmp) + 1; diff --git a/srcpkgs/libnvme/template b/srcpkgs/libnvme/template new file mode 100644 index 00000000000000..aafe21aa9aa5b6 --- /dev/null +++ b/srcpkgs/libnvme/template @@ -0,0 +1,39 @@ +# Template file for 'libnvme' +pkgname=libnvme +version=1.0 +revision=1 +build_style=meson +configure_args="-Ddocs=man" +hostmakedepends="pkg-config swig" +makedepends="libuuid-devel json-c-devel openssl-devel python3-devel" +short_desc="C Library for NVM Express on Linux" +maintainer="Subhaditya Nath " +license="LGPL-2.1-or-later" +homepage="https://github.com/linux-nvme/libnvme" +distfiles="https://github.com/linux-nvme/libnvme/archive/v${version}.tar.gz" +checksum=387524b1c24a4091a88bfb258c98c054f716da210e77702f0709164740370807 + +libnvme-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + depends+=" json-c-devel libuuid-devel openssl-devel" # otherwise 'pkgconf libnvme' doesn't work + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove "usr/lib/*.so" + } +} + +libnvme-doc_package() { + short_desc+=" - documentation" + pkg_install() { + vmove usr/share + } +} + +python3-libnvme_package() { + short_desc+=" - Python3 bindings" + pkg_install() { + vmove "usr/lib/python*" + } +} diff --git a/srcpkgs/python3-libnvme b/srcpkgs/python3-libnvme new file mode 120000 index 00000000000000..3228da1bc6d7ad --- /dev/null +++ b/srcpkgs/python3-libnvme @@ -0,0 +1 @@ +libnvme \ No newline at end of file From 4947dd26b7ea15ead0271c68a9bcc7fa9c3c1dc1 Mon Sep 17 00:00:00 2001 From: Subhaditya Nath Date: Sat, 16 Apr 2022 16:55:09 +0530 Subject: [PATCH 2/2] nvme-cli: update to 2.0, adopt --- srcpkgs/nvme-cli/patches/dracut-warning.patch | 5 ---- srcpkgs/nvme-cli/template | 28 ++++++++----------- 2 files changed, 11 insertions(+), 22 deletions(-) delete mode 100644 srcpkgs/nvme-cli/patches/dracut-warning.patch diff --git a/srcpkgs/nvme-cli/patches/dracut-warning.patch b/srcpkgs/nvme-cli/patches/dracut-warning.patch deleted file mode 100644 index ef0b0b4df244c8..00000000000000 --- a/srcpkgs/nvme-cli/patches/dracut-warning.patch +++ /dev/null @@ -1,5 +0,0 @@ ---- a/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in 2021-01-24 16:37:06.346511231 +0700 -+++ b/nvmf-autoconnect/dracut-conf/70-nvmf-autoconnect.conf.in 2021-01-24 16:38:01.351158511 +0700 -@@ -1 +1 @@ --install_items+="@@UDEVRULESDIR@@/70-nvmf-autoconnect.rules" -+install_items+=" @@UDEVRULESDIR@@/70-nvmf-autoconnect.rules " diff --git a/srcpkgs/nvme-cli/template b/srcpkgs/nvme-cli/template index 0da50f2663ef69..9b142b02de0f20 100644 --- a/srcpkgs/nvme-cli/template +++ b/srcpkgs/nvme-cli/template @@ -1,28 +1,22 @@ # Template file for 'nvme-cli' pkgname=nvme-cli -version=1.13 -revision=2 -build_style=gnu-makefile -# yeah, it must be 0 to enable -make_build_args="LIBUUID=0" -make_install_args="SBINDIR=/usr/bin UDEVDIR=/usr/lib/udev" -make_install_target="install-spec" -makedepends="libuuid-devel" +version=2.0 +revision=1 +build_style=meson +configure_args="-Ddocs=man -Dudevrulesdir=lib/udev/rules.d" +hostmakedepends="pkg-config" +makedepends="libnvme-devel zlib-devel json-c-devel libuuid-devel libhugetlbfs-devel" short_desc="NVMe management command line interface" -maintainer="Peter Froehlich " +maintainer="Subhaditya Nath " license="GPL-2.0-only" homepage="http://nvmexpress.org" distfiles="https://github.com/linux-nvme/nvme-cli/archive/v${version}.tar.gz" -checksum=03f4875f3e68d326b0280e16df2f027ca6b086cfa148c34e8569df61319b4b85 +checksum=471869b3bf643bb357dc9613ad14d24ff342fcd97e2db5a753c81c335ad8859c conf_files="/etc/nvme/*.conf" post_install() { - # these files are touch'd by install, remove so they aren't registered - # by the package (which would cause trouble during removal) - rm -f "${DESTDIR}/etc/nvme/hostnqn" - rm -f "${DESTDIR}/etc/nvme/hostid" - rm -rf "${DESTDIR}/etc/udev/rules.d" - rm -f "${DESTDIR}/usr/sbin/nvme" - # no need for systemd files + # remove files that are systemd-only rm -rf "${DESTDIR}/usr/lib/systemd" + rm -rf "${DESTDIR}/usr/lib/udev/rules.d/70-nvmf-autoconnect.rules" # calls systemctl + rm -rf "${DESTDIR}/usr/lib/dracut/dracut.conf.d/70-nvmf-autoconnect.conf" # needs 70-nvmf-autoconnect.rules }