sys-libs/libnvme: Sync with Gentoo

It's from Gentoo commit 95104945b94bbcbe3f4f684f6eb1e8cddae2a5c1.
This commit is contained in:
Flatcar Buildbot 2024-01-01 07:15:52 +00:00 committed by Krzesimir Nowak
parent a4d32afa30
commit 713293845e
8 changed files with 31 additions and 230 deletions

View File

@ -1,5 +1,3 @@
DIST libnvme-1.2.tar.gz 484397 BLAKE2B ae6b1c3aa8f45594219470059cfc8982674433772f89faab1659811d860036f8af89bbcb383db37e96b763188935d2c1ecaa5176b8140bba50f8ea226e989a06 SHA512 f50517838cd1df3cdd123afdb67870633e9e484bf84dba70b784d7e86ecb355b96ba9d6a1cffb96b35444da7870dfe21c54b69701b5fe5b515319280db4a84e4
DIST libnvme-1.3.tar.gz 499870 BLAKE2B 5a019c12829890a0fe0b5e6aec5fbd009fc3bd6dfe7e81f61731292f4ea8b03044e7625491479350c399cc8cd5bc023e02cc9e93f1eba38f4c747667e84cfb24 SHA512 c874b29b73e55be842f71e74a226a76fcd50dfa72e2be100f0437bc83e740cd146b6d2f2cdaa940c11c3d8c48ff2c065ac0e8a83d4d0dde743edf4179f328670
DIST libnvme-1.4.tar.gz 506101 BLAKE2B c1496c6258bf20ed4109710b06671fa7f0e27c7649520ad8ccf4021df00fffc45f80fea248d62d2b85eecc8b15b6afaf4a113d96d6737ae6772346c9d0bc1002 SHA512 cc4a0a78083471e912736d76e4faaa5c285e1149029560f212ff06254863e8f21b48fcb1638599bd68efcf888312a248fb748d23776af03574b39fbd9b2a418d
DIST libnvme-1.5.tar.gz 566715 BLAKE2B 2111a6929bc17949f03c39fdb247420bba371641b38e30cc7bc4b61a859471d1bfaa27d0dd3bb41379a3a59bb493ff9ce9006460aaf0b900c7ce40410701c03b SHA512 0a19eca2dd7c48c9da3123767c3c789dfb7528d6f5b2b2dfdc8af7cd64e1d724fb81c6002b9821ce916cc7adb6b5e5e28253f1d73131188b0559c6d276a7d07c
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

View File

@ -1,32 +0,0 @@
https://github.com/linux-nvme/libnvme/commit/ddfb3ba036f9df2737c165b27f9b458dd83a7df8
From ddfb3ba036f9df2737c165b27f9b458dd83a7df8 Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Tue, 31 Jan 2023 23:27:53 +0100
Subject: [PATCH] build: Fix nss code snippet includes
With hardened distribution CFLAGS the meson code snippet wouldn't compile:
Compiler stderr:
.build/meson-private/tmpy2z1t5q4/testfile.c: In function 'main':
.build/meson-private/tmpy2z1t5q4/testfile.c:2:30: error: storage size of 'hints' isn't known
2 | struct addrinfo hints, *result;
| ^~~~~
.build/meson-private/tmpy2z1t5q4/testfile.c:3:21: warning: implicit declaration of function 'getaddrinfo' [-Wimplicit-function-declaration]
3 | return getaddrinfo(argv[1], argv[2], &hints, &result);
| ^~~~~~~~~~~
--- a/meson.build
+++ b/meson.build
@@ -199,7 +199,10 @@ conf.set10(
conf.set(
'HAVE_LIBNSS',
cc.links(
- '''int main(int argc, char **argv) {
+ '''#include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netdb.h>
+ int main(int argc, char **argv) {
struct addrinfo hints, *result;
return getaddrinfo(argv[1], argv[2], &hints, &result);
}

View File

@ -1,36 +0,0 @@
From c56910f807795528fff7ba6b81f8efcdb4babe98 Mon Sep 17 00:00:00 2001
From: Martin Belanger <martin.belanger@dell.com>
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 <martin.belanger@dell.com>
---
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(&path, "/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;

View File

@ -1,67 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit python-r1 meson
DESCRIPTION="C Library for NVM Express on Linux"
HOMEPAGE="https://github.com/linux-nvme/libnvme"
LICENSE="LGPL-2.1+"
SLOT="0"
IUSE="+json python ssl +uuid"
SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
DEPEND="
json? ( dev-libs/json-c:= )
python? ( ${PYTHON_DEPS} )
ssl? ( >=dev-libs/openssl-1.1:= )
uuid? ( sys-apps/util-linux:= )
"
RDEPEND="${DEPEND}"
BDEPEND="
dev-lang/swig
"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"
src_configure() {
local emesonargs=(
-Dpython=false
)
meson_src_configure
}
python_compile() {
local emesonargs=(
-Dpython=true
)
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
}

View File

@ -1,75 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
inherit python-r1 meson
DESCRIPTION="C Library for NVM Express on Linux"
HOMEPAGE="https://github.com/linux-nvme/libnvme"
LICENSE="LGPL-2.1+"
SLOT="0"
IUSE="dbus python ssl +uuid"
SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
DEPEND="
dev-libs/json-c:=
dbus? ( sys-apps/dbus:= )
python? ( ${PYTHON_DEPS} )
ssl? ( >=dev-libs/openssl-1.1:= )
uuid? ( sys-apps/util-linux:= )
"
RDEPEND="${DEPEND}"
BDEPEND="
dev-lang/swig
"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"
PATCHES=(
"${FILESDIR}"/${P}-configure-clang-16.patch
)
src_configure() {
local emesonargs=(
-Dpython=false
$(meson_feature ssl openssl)
$(meson_feature dbus libdbus)
$(meson_use python)
)
meson_src_configure
}
python_compile() {
local emesonargs=(
-Dpython=true
)
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
}

View File

@ -12,7 +12,7 @@ SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -
LICENSE="LGPL-2.1+"
SLOT="0/1"
KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ~ppc ppc64 ~riscv x86"
IUSE="dbus +json keyutils python ssl test +uuid"
RESTRICT="!test? ( test )"

View File

@ -3,17 +3,23 @@
EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
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
https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-ubsan.patch.xz"
LICENSE="LGPL-2.1+"
SLOT="0/1"
IUSE="dbus +json keyutils python ssl +uuid"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="dbus +json keyutils python ssl test +uuid"
RESTRICT="!test? ( test )"
SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"
DEPEND="
json? ( dev-libs/json-c:= )
@ -23,21 +29,26 @@ DEPEND="
ssl? ( >=dev-libs/openssl-1.1:= )
uuid? ( sys-apps/util-linux:= )
"
RDEPEND="${DEPEND}"
RDEPEND="
${DEPEND}
"
BDEPEND="
dev-lang/swig
"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
"
PATCHES=(
"${FILESDIR}"/${PN}-1.6-musl.patch
"${FILESDIR}"/${P}-lld-17.patch
"${WORKDIR}"/${P}-ubsan.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)
)

View File

@ -3,7 +3,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
PYTHON_COMPAT=( python3_{10..12} )
inherit python-r1 meson
DESCRIPTION="C Library for NVM Express on Linux"
@ -12,8 +12,9 @@ SRC_URI="https://github.com/linux-nvme/libnvme/archive/refs/tags/v${PV}.tar.gz -
LICENSE="LGPL-2.1+"
SLOT="0/1"
KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
IUSE="dbus +json keyutils python ssl +uuid"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
IUSE="dbus +json keyutils python ssl test +uuid"
RESTRICT="!test? ( test )"
REQUIRED_USE="
python? ( ${PYTHON_REQUIRED_USE} )
@ -27,16 +28,17 @@ DEPEND="
ssl? ( >=dev-libs/openssl-1.1:= )
uuid? ( sys-apps/util-linux:= )
"
RDEPEND="${DEPEND}"
RDEPEND="
${DEPEND}
"
BDEPEND="
dev-lang/swig
"
PATCHES=( "${FILESDIR}/${P}-free-segfault.patch" )
src_configure() {
local emesonargs=(
-Dpython=false
$(meson_use test tests)
$(meson_feature json json-c)
$(meson_feature dbus libdbus)
$(meson_feature keyutils)