summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-06-05 07:44:12 +0100
committerSam James <sam@gentoo.org>2022-06-05 07:44:57 +0100
commit18687fccebb05fee5dbbab6308e26a205fcec718 (patch)
tree04f55901053f150a543b7dc9a03f8fd15e0cbd40 /net-libs
parentnet-firewall/nftables: backport crash fix; add test infrastructure (diff)
downloadgentoo-18687fccebb05fee5dbbab6308e26a205fcec718.tar.gz
gentoo-18687fccebb05fee5dbbab6308e26a205fcec718.tar.bz2
gentoo-18687fccebb05fee5dbbab6308e26a205fcec718.zip
net-libs/libnftnl: backport symbol export fix
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/libnftnl/files/libnftnl-1.2.1-missing-export-set_elem.patch21
-rw-r--r--net-libs/libnftnl/libnftnl-1.2.1-r1.ebuild71
-rw-r--r--net-libs/libnftnl/libnftnl-9999.ebuild21
3 files changed, 106 insertions, 7 deletions
diff --git a/net-libs/libnftnl/files/libnftnl-1.2.1-missing-export-set_elem.patch b/net-libs/libnftnl/files/libnftnl-1.2.1-missing-export-set_elem.patch
new file mode 100644
index 000000000000..0ff574ddc48a
--- /dev/null
+++ b/net-libs/libnftnl/files/libnftnl-1.2.1-missing-export-set_elem.patch
@@ -0,0 +1,21 @@
+https://git.netfilter.org/libnftnl/commit/?id=accee9a75e0e6678863d092d6a4f4afbadf0eed9
+
+From: Pablo Neira Ayuso <pablo@netfilter.org>
+Date: Wed, 18 May 2022 23:54:03 +0200
+Subject: set_elem: missing export symbol
+
+nftnl_set_elem_nlmsg_build_payload() is already available through .map
+file and headers, add missing EXPORT_SYMBOL.
+
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+--- a/src/set_elem.c
++++ b/src/set_elem.c
+@@ -300,6 +300,7 @@ err:
+ return NULL;
+ }
+
++EXPORT_SYMBOL(nftnl_set_elem_nlmsg_build_payload);
+ void nftnl_set_elem_nlmsg_build_payload(struct nlmsghdr *nlh,
+ struct nftnl_set_elem *e)
+ {
+cgit v1.2.3
diff --git a/net-libs/libnftnl/libnftnl-1.2.1-r1.ebuild b/net-libs/libnftnl/libnftnl-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..49e48df43765
--- /dev/null
+++ b/net-libs/libnftnl/libnftnl-1.2.1-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/netfilter.org.asc
+inherit linux-info usr-ldscript verify-sig
+
+DESCRIPTION="Netlink API to the in-kernel nf_tables subsystem"
+HOMEPAGE="https://netfilter.org/projects/nftables/"
+
+if [[ ${PV} =~ ^[9]{4,}$ ]]; then
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://git.netfilter.org/${PN}"
+else
+ SRC_URI="https://netfilter.org/projects/${PN}/files/${P}.tar.bz2
+ verify-sig? ( https://netfilter.org/projects/${PN}/files/${P}.tar.bz2.sig )"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+ BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-netfilter )"
+fi
+
+LICENSE="GPL-2"
+SLOT="0/11" # libnftnl.so version
+IUSE="examples static-libs test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=net-libs/libmnl-1.0.4:="
+BDEPEND+=" virtual/pkgconfig"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-missing-export-set_elem.patch
+)
+
+pkg_setup() {
+ if kernel_is ge 3 13; then
+ CONFIG_CHECK="~NF_TABLES"
+ linux-info_pkg_setup
+ else
+ eerror "This package requires kernel version 3.13 or newer to work properly."
+ fi
+}
+
+src_prepare() {
+ default
+
+ [[ ${PV} =~ ^[9]{4,}$ ]] && eautoreconf
+}
+
+src_configure() {
+ local myeconfargs=(
+ $(use_enable static-libs static)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ gen_usr_ldscript -a nftnl
+
+ find "${ED}" -type f -name '*.la' -delete || die
+
+ if use examples; then
+ find examples/ -name 'Makefile*' -delete || die "Could not rm examples"
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/net-libs/libnftnl/libnftnl-9999.ebuild b/net-libs/libnftnl/libnftnl-9999.ebuild
index 215d4c569086..49e48df43765 100644
--- a/net-libs/libnftnl/libnftnl-9999.ebuild
+++ b/net-libs/libnftnl/libnftnl-9999.ebuild
@@ -3,33 +3,36 @@
EAPI=7
-inherit autotools linux-info usr-ldscript verify-sig
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/netfilter.org.asc
+inherit linux-info usr-ldscript verify-sig
DESCRIPTION="Netlink API to the in-kernel nf_tables subsystem"
HOMEPAGE="https://netfilter.org/projects/nftables/"
if [[ ${PV} =~ ^[9]{4,}$ ]]; then
- inherit git-r3
+ inherit autotools git-r3
EGIT_REPO_URI="https://git.netfilter.org/${PN}"
else
SRC_URI="https://netfilter.org/projects/${PN}/files/${P}.tar.bz2
verify-sig? ( https://netfilter.org/projects/${PN}/files/${P}.tar.bz2.sig )"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
- VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/netfilter.org.asc
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
BDEPEND+="verify-sig? ( sec-keys/openpgp-keys-netfilter )"
fi
LICENSE="GPL-2"
SLOT="0/11" # libnftnl.so version
IUSE="examples static-libs test"
-
RESTRICT="!test? ( test )"
RDEPEND=">=net-libs/libmnl-1.0.4:="
-BDEPEND+="
- virtual/pkgconfig"
+BDEPEND+=" virtual/pkgconfig"
DEPEND="${RDEPEND}"
+PATCHES=(
+ "${FILESDIR}"/${P}-missing-export-set_elem.patch
+)
+
pkg_setup() {
if kernel_is ge 3 13; then
CONFIG_CHECK="~NF_TABLES"
@@ -41,6 +44,7 @@ pkg_setup() {
src_prepare() {
default
+
[[ ${PV} =~ ^[9]{4,}$ ]] && eautoreconf
}
@@ -48,12 +52,15 @@ src_configure() {
local myeconfargs=(
$(use_enable static-libs static)
)
+
econf "${myeconfargs[@]}"
}
src_install() {
default
+
gen_usr_ldscript -a nftnl
+
find "${ED}" -type f -name '*.la' -delete || die
if use examples; then