[gentoo-commits] repo/gentoo:master commit in: sys-libs/libnvme/files/, sys-libs/libnvme/

2024-02-05 Thread Sam James
commit: efee35cf372bed10e0e9c239a7132b8292cbc624
Author: Sam James  gentoo  org>
AuthorDate: Tue Feb  6 03:01:59 2024 +
Commit: Sam James  gentoo  org>
CommitDate: Tue Feb  6 03:01:59 2024 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=efee35cf

sys-libs/libnvme: drop 1.6, 1.6-r1, 1.6-r2

Signed-off-by: Sam James  gentoo.org>

 sys-libs/libnvme/Manifest   |  2 -
 sys-libs/libnvme/files/libnvme-1.6-lld-17.patch | 26 ---
 sys-libs/libnvme/files/libnvme-1.6-musl.patch   | 90 -
 sys-libs/libnvme/libnvme-1.6-r1.ebuild  | 81 --
 sys-libs/libnvme/libnvme-1.6-r2.ebuild  | 83 ---
 sys-libs/libnvme/libnvme-1.6.ebuild | 80 --
 6 files changed, 362 deletions(-)

diff --git a/sys-libs/libnvme/Manifest b/sys-libs/libnvme/Manifest
index b16d9619e035..6dc88ed7d023 100644
--- a/sys-libs/libnvme/Manifest
+++ b/sys-libs/libnvme/Manifest
@@ -1,3 +1 @@
-DIST libnvme-1.6-ubsan.patch.xz 5800 BLAKE2B 
8603311c44a475bd09a31a6bebe96f29f2b18b6d0917cb02b680fc20861a71688f1c5b3f618d6f38e7c105c8a00b8818b2ffa67289371fd0ab62354d318bebb9
 SHA512 
74f1a86c4011ce6650b54ec50422fe98ec64a65b50e3aa6c3d57f3715713f85ef7c84451416bb8d136dff646b3eba00d415208c98a16c562bf5d258d51b0d006
-DIST libnvme-1.6.tar.gz 597676 BLAKE2B 
8b47b268154574688a909d0664df55eda38d9f133373fabcffe987ede03e0c531f88126e0dc50204d74fb2fa665af6379aa5205757bfc5863926db8402fbab27
 SHA512 
ae6a95ed75bbdc6f8c5c5608eaad8bcaf60a08348ddff356bd47258da2bd2470bdaa45747cdb7ba24f10db093fc0ab95f8bda076a45cbb87e155e3158ef726f8
 DIST libnvme-1.7.1.tar.gz 604220 BLAKE2B 
b02bf0914be73f5877f418bebdbed31dfb019484fb9f6e169c3474d90306706b8e787003a472f13bedb72e90eff39a30ba35df252a3cdf4ea08a362c3f9e221b
 SHA512 
aea986ae35eafa17482e07015228d5a7d529d41148f4cee9e4619adc2460abb5460d60cd91177462cbcaf2e94e5870026ff9e45548f91d9f90b65a6268eb3abb

diff --git a/sys-libs/libnvme/files/libnvme-1.6-lld-17.patch 
b/sys-libs/libnvme/files/libnvme-1.6-lld-17.patch
deleted file mode 100644
index c64b4a80cbfb..
--- a/sys-libs/libnvme/files/libnvme-1.6-lld-17.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-https://github.com/linux-nvme/libnvme/pull/725
-
-From a5cc9074765bf400336f78a05c8374b9788ad670 Mon Sep 17 00:00:00 2001
-From: Alfred Wingate 
-Date: Tue, 10 Oct 2023 04:22:48 +0300
-Subject: [PATCH] build: remove symbol which doesn't exist in libnvme-mi.so
-
-* Added in bb70b874dac13a15c37ce1dd1de866d6a5dd428d, but was never used.
-
-Signed-off-by: Alfred Wingate 

- src/libnvme-mi.map | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/src/libnvme-mi.map b/src/libnvme-mi.map
-index f1ce7125..41e81106 100644
 a/src/libnvme-mi.map
-+++ b/src/libnvme-mi.map
-@@ -49,7 +49,6 @@ LIBNVME_MI_1_1 {
-   nvme_mi_admin_security_send;
-   nvme_mi_admin_security_recv;
-   nvme_mi_endpoint_desc;
--  nvme_mi_root_close;
-   nvme_mi_first_endpoint;
-   nvme_mi_next_endpoint;
-   nvme_mi_first_ctrl;

diff --git a/sys-libs/libnvme/files/libnvme-1.6-musl.patch 
b/sys-libs/libnvme/files/libnvme-1.6-musl.patch
deleted file mode 100644
index bc1037820311..
--- a/sys-libs/libnvme/files/libnvme-1.6-musl.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-https://github.com/linux-nvme/libnvme/pull/724
-
-From f78a97acf9cdec1031d81f0e8a3956fc8f28c33c Mon Sep 17 00:00:00 2001
-From: Sam James 
-Date: Sat, 30 Sep 2023 06:38:53 +0100
-Subject: [PATCH 1/2] test: handle POSIX ioctl prototype
-
-glibc has the following prototype for ioctl: int ioctl(int fd, unsigned long 
request, ...)
-POSIX (inc. musl) has the following for ioctl: int ioctl(int fd, int request, 
...)
-
-Check which prototype is used in  to avoid a conflict and 
conditionally
-define the right one for the system.
-
-Bug: https://bugs.gentoo.org/914921
-Signed-off-by: Sam James 
 a/meson.build
-+++ b/meson.build
-@@ -230,6 +230,16 @@ conf.set(
- ),
- description: 'Is network address and service translation available'
- )
-+conf.set(
-+'HAVE_GLIBC_IOCTL',
-+cc.compiles(
-+'''#include 
-+int ioctl(int fd, unsigned long request, ...);
-+''',
-+name: 'ioctl has glibc-style prototype'
-+),
-+description: 'Is ioctl the glibc interface (rather than POSIX)'
-+)
- 
- if cc.has_function_attribute('fallthrough')
-   conf.set('fallthrough', '__attribute__((__fallthrough__))')
 a/test/ioctl/mock.c
-+++ b/test/ioctl/mock.c
-@@ -114,7 +114,11 @@ void end_mock_cmds(void)
-   } \
- })
- 
-+#ifdef HAVE_GLIBC_IOCTL
- int ioctl(int fd, unsigned long request, ...)
-+#else
-+int ioctl(int fd, int request, ...)
-+#endif
- {
-   struct mock_cmds *mock_cmds;
-   bool result64;
-@@ -141,7 +145,7 @@ int ioctl(int fd, unsigned long request, ...)
-   result64 = true;
-   break;
-   default:
--  fail("unexpected %s %lu", 

[gentoo-commits] repo/gentoo:master commit in: sys-libs/libnvme/files/, sys-libs/libnvme/

2023-10-21 Thread Sam James
commit: 11c3ec43c781c83c1e699437f834869f4f8fc33d
Author: Sam James  gentoo  org>
AuthorDate: Sat Oct 21 20:29:03 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Sat Oct 21 20:29:03 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=11c3ec43

sys-libs/libnvme: backport lld-17 fix

Closes: https://bugs.gentoo.org/914635
Thanks-to: Alfred Wingate  protonmail.com>
Signed-off-by: Sam James  gentoo.org>

 sys-libs/libnvme/files/libnvme-1.6-lld-17.patch | 26 
 sys-libs/libnvme/libnvme-1.6-r1.ebuild  | 82 +
 2 files changed, 108 insertions(+)

diff --git a/sys-libs/libnvme/files/libnvme-1.6-lld-17.patch 
b/sys-libs/libnvme/files/libnvme-1.6-lld-17.patch
new file mode 100644
index ..c64b4a80cbfb
--- /dev/null
+++ b/sys-libs/libnvme/files/libnvme-1.6-lld-17.patch
@@ -0,0 +1,26 @@
+https://github.com/linux-nvme/libnvme/pull/725
+
+From a5cc9074765bf400336f78a05c8374b9788ad670 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate 
+Date: Tue, 10 Oct 2023 04:22:48 +0300
+Subject: [PATCH] build: remove symbol which doesn't exist in libnvme-mi.so
+
+* Added in bb70b874dac13a15c37ce1dd1de866d6a5dd428d, but was never used.
+
+Signed-off-by: Alfred Wingate 
+---
+ src/libnvme-mi.map | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/src/libnvme-mi.map b/src/libnvme-mi.map
+index f1ce7125..41e81106 100644
+--- a/src/libnvme-mi.map
 b/src/libnvme-mi.map
+@@ -49,7 +49,6 @@ LIBNVME_MI_1_1 {
+   nvme_mi_admin_security_send;
+   nvme_mi_admin_security_recv;
+   nvme_mi_endpoint_desc;
+-  nvme_mi_root_close;
+   nvme_mi_first_endpoint;
+   nvme_mi_next_endpoint;
+   nvme_mi_first_ctrl;

diff --git a/sys-libs/libnvme/libnvme-1.6-r1.ebuild 
b/sys-libs/libnvme/libnvme-1.6-r1.ebuild
new file mode 100644
index ..6539b980d776
--- /dev/null
+++ b/sys-libs/libnvme/libnvme-1.6-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-r1 meson
+
+DESCRIPTION="C Library for NVM Express on Linux"
+HOMEPAGE="https://github.com/linux-nvme/libnvme;
+SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz 
-> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="dbus +json keyutils python ssl test +uuid"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+   python? ( ${PYTHON_REQUIRED_USE} )
+"
+
+DEPEND="
+   json? ( dev-libs/json-c:= )
+   keyutils? ( sys-apps/keyutils:= )
+   dbus? ( sys-apps/dbus:= )
+   python? ( ${PYTHON_DEPS} )
+   ssl? ( >=dev-libs/openssl-1.1:= )
+   uuid? ( sys-apps/util-linux:= )
+"
+RDEPEND="
+   ${DEPEND}
+"
+BDEPEND="
+   dev-lang/swig
+"
+
+PATCHES=(
+   "${FILESDIR}"/${PN}-1.6-musl.patch
+   "${FILESDIR}"/${P}-lld-17.patch
+)
+
+src_configure() {
+   local emesonargs=(
+   -Dpython=false
+   $(meson_use test tests)
+   $(meson_feature json json-c)
+   $(meson_feature dbus libdbus)
+   $(meson_feature keyutils)
+   $(meson_feature ssl openssl)
+   $(meson_feature python)
+   )
+   meson_src_configure
+}
+
+python_compile() {
+   local emesonargs=(
+   -Dpython=enabled
+   )
+   meson_src_configure --reconfigure
+   meson_src_compile
+}
+
+src_compile() {
+   meson_src_compile
+
+   if use python; then
+   python_copy_sources
+   python_foreach_impl python_compile
+   fi
+}
+
+python_install() {
+   meson_src_install
+   use python && python_optimize
+}
+
+src_install() {
+   use python && python_foreach_impl python_install
+
+   meson_src_install
+}



[gentoo-commits] repo/gentoo:master commit in: sys-libs/libnvme/files/, sys-libs/libnvme/

2023-09-24 Thread Georgy Yakovlev
commit: d1288e2fe17adb3dacd2ab3f1b415c4ed45136d4
Author: Georgy Yakovlev  gentoo  org>
AuthorDate: Sun Sep 24 19:53:27 2023 +
Commit: Georgy Yakovlev  gentoo  org>
CommitDate: Sun Sep 24 19:55:05 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d1288e2f

sys-libs/libnvme: revbump 1.5, add fdleak segfault free patch

This prevents udisks from crashing and holding or freezing up desktop
sessions.

Issue: https://github.com/linux-nvme/libnvme/issues/684
Issue: https://github.com/storaged-project/udisks/issues/1152
Signed-off-by: Georgy Yakovlev  gentoo.org>

 .../libnvme/files/libnvme-1.5-free-segfault.patch  | 36 ++
 ...libnvme-1.5-r1.ebuild => libnvme-1.5-r2.ebuild} |  2 ++
 2 files changed, 38 insertions(+)

diff --git a/sys-libs/libnvme/files/libnvme-1.5-free-segfault.patch 
b/sys-libs/libnvme/files/libnvme-1.5-free-segfault.patch
new file mode 100644
index ..a41cf380f911
--- /dev/null
+++ b/sys-libs/libnvme/files/libnvme-1.5-free-segfault.patch
@@ -0,0 +1,36 @@
+From c56910f807795528fff7ba6b81f8efcdb4babe98 Mon Sep 17 00:00:00 2001
+From: Martin Belanger 
+Date: Wed, 5 Jul 2023 10:59:25 -0400
+Subject: [PATCH] tree: missing closedir() causes fd leak for
+ "/sys/bus/pci/slots"
+
+In nvme_ctrl_lookup_phy_slot(), we are missing a closedir(), which
+causes file descriptors to leak. Also, there was a missing free()
+when the function returns with ENOMEM.
+
+Signed-off-by: Martin Belanger 
+---
+ src/nvme/tree.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/nvme/tree.c b/src/nvme/tree.c
+index a2ac0698..805eff99 100644
+--- a/src/nvme/tree.c
 b/src/nvme/tree.c
+@@ -1292,6 +1292,8 @@ static char *nvme_ctrl_lookup_phy_slot(nvme_root_t r, 
const char *address)
+   ret = asprintf(, "/sys/bus/pci/slots/%s", 
entry->d_name);
+   if (ret < 0) {
+   errno = ENOMEM;
++  free(target_addr);
++  closedir(slots_dir);
+   return NULL;
+   }
+   addr = nvme_get_attr(path, "address");
+@@ -1306,6 +1308,7 @@ static char *nvme_ctrl_lookup_phy_slot(nvme_root_t r, 
const char *address)
+   }
+   }
+   free(target_addr);
++  closedir(slots_dir);
+   if (found)
+   return strdup(entry->d_name);
+   return NULL;

diff --git a/sys-libs/libnvme/libnvme-1.5-r1.ebuild 
b/sys-libs/libnvme/libnvme-1.5-r2.ebuild
similarity index 96%
rename from sys-libs/libnvme/libnvme-1.5-r1.ebuild
rename to sys-libs/libnvme/libnvme-1.5-r2.ebuild
index 5173e9bdabf1..9e2be0abd195 100644
--- a/sys-libs/libnvme/libnvme-1.5-r1.ebuild
+++ b/sys-libs/libnvme/libnvme-1.5-r2.ebuild
@@ -32,6 +32,8 @@ BDEPEND="
dev-lang/swig
 "
 
+PATCHES=( "${FILESDIR}/${P}-free-segfault.patch" )
+
 src_configure() {
local emesonargs=(
-Dpython=false