net-firewall/ipset: Sync with Gentoo

It's from Gentoo commit 4cefa7bbe4060e6f75a05acc5aaf045c87e129b7.
This commit is contained in:
Flatcar Buildbot 2024-01-29 07:14:21 +00:00 committed by Krzesimir Nowak
parent d403918d89
commit 580fedda6e
5 changed files with 2 additions and 233 deletions

View File

@ -1,2 +1 @@
DIST ipset-7.17.tar.bz2 684983 BLAKE2B 43b74ab7caf5a963787184aa75b6c071388c8d28997681444b72118aba68b843e961b50418c3fa70b451b4cb090ec62940b770abac2156910442115edbf90d41 SHA512 e308a0d7707ccf7d0cb06a32cf9a822f97862e007abdbab8a91a5a0d5bfbd9f2fb9a3f5e8f36b250ec0d565438c8648a31e8e5b45d8205a76558e90f46e6e597
DIST ipset-7.19.tar.bz2 686712 BLAKE2B 04290b94be471aedd732601e1dc147a066933606152beb76ba1a21283aa2e3f8b891fd9575db73f2af67b446fb77a0ca6b2432ae606440ac9e9bf80e41d1f640 SHA512 0f4252e6d967b0f130a2c7a0307b17c6b7d48336e86b2f838ea176f5faaa0c9bbbf273060906b43d91e9b38a9f33c18918e33d02292839a6bc321181d5d7f84e

View File

@ -1,46 +0,0 @@
From 6004475ff78ddb3afd8beadcb5330664d50081f5 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Thu, 24 Nov 2022 04:38:28 +0000
Subject: [PATCH] configure.ac: fix bashisms
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
configure scripts need to be runnable with a POSIX-compliant /bin/sh.
On many (but not all!) systems, /bin/sh is provided by Bash, so errors
like this aren't spotted. Notably Debian defaults to /bin/sh provided
by dash which doesn't tolerate such bashisms as '=='.
This retains compatibility with bash.
Signed-off-by: Sam James <sam@gentoo.org>
--- a/configure.ac
+++ b/configure.ac
@@ -27,7 +27,7 @@ AC_ARG_WITH([kmod],
[Build the kernel module (default: yes)]),
[BUILDKMOD="$withval";],
[BUILDKMOD="yes";])
-AM_CONDITIONAL(WITH_KMOD, test "$BUILDKMOD" == "yes")
+AM_CONDITIONAL(WITH_KMOD, test "$BUILDKMOD" = "yes")
dnl Additional arguments
dnl Kernel build directory or source tree
@@ -76,7 +76,7 @@ if test "x$enable_bashcompl" = "xyes"; then
AC_SUBST(bashcompdir)
fi
-if test "$BUILDKMOD" == "yes"
+if test "$BUILDKMOD" = "yes"
then
dnl Sigh: check kernel version dependencies
if test "$KBUILDDIR" != ""
@@ -204,7 +204,7 @@ AC_CHECK_TYPES([union nf_inet_addr],,,[#include <linux/types.h>
dnl Checks for functions
AC_CHECK_FUNCS(gethostbyname2)
-if test "$BUILDKMOD" == "yes"
+if test "$BUILDKMOD" = "yes"
then
dnl Check kernel incompatibilities... Ugly like hell

View File

@ -1,119 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
MODULES_OPTIONAL_USE=modules
inherit autotools bash-completion-r1 linux-info linux-mod systemd
DESCRIPTION="IPset tool for iptables, successor to ippool"
HOMEPAGE="https://ipset.netfilter.org/ https://git.netfilter.org/ipset/"
SRC_URI="https://ipset.netfilter.org/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
RDEPEND="
>=net-firewall/iptables-1.4.7
net-libs/libmnl:=
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
DOCS=( ChangeLog INSTALL README UPGRADE )
PATCHES=(
"${FILESDIR}"/${PN}-7.16-bashism.patch
)
# configurable from outside, e.g. /etc/portage/make.conf
IP_NF_SET_MAX=${IP_NF_SET_MAX:-256}
BUILD_TARGETS="modules"
MODULE_NAMES_ARG="kernel/net/netfilter/ipset/:${S}/kernel/net/netfilter/ipset"
MODULE_NAMES="xt_set(kernel/net/netfilter/ipset/:${S}/kernel/net/netfilter/)"
MODULE_NAMES+=" em_ipset(kernel/net/sched/:${S}/kernel/net/sched/)"
for i in ip_set{,_bitmap_{ip{,mac},port},_hash_{ip{,mac,mark,port{,ip,net}},mac,net{,port{,net},iface,net}},_list_set}; do
MODULE_NAMES+=" ${i}(${MODULE_NAMES_ARG})"
done
pkg_setup() {
get_version
CONFIG_CHECK="NETFILTER"
ERROR_NETFILTER="ipset requires NETFILTER support in your kernel."
CONFIG_CHECK+=" NETFILTER_NETLINK"
ERROR_NETFILTER_NETLINK="ipset requires NETFILTER_NETLINK support in your kernel."
# It does still build without NET_NS, but it may be needed in future.
#CONFIG_CHECK="${CONFIG_CHECK} NET_NS"
#ERROR_NET_NS="ipset requires NET_NS (network namespace) support in your kernel."
CONFIG_CHECK+=" !PAX_CONSTIFY_PLUGIN"
ERROR_PAX_CONSTIFY_PLUGIN="ipset contains constified variables (#614896)"
build_modules=0
if use modules; then
if linux_config_src_exists && linux_chkconfig_builtin "MODULES" ; then
if linux_chkconfig_present "IP_NF_SET" || \
linux_chkconfig_present "IP_SET"; then #274577
eerror "There is IP{,_NF}_SET or NETFILTER_XT_SET support in your kernel."
eerror "Please either build ipset with modules USE flag disabled"
eerror "or rebuild kernel without IP_SET support and make sure"
eerror "there is NO kernel ip_set* modules in /lib/modules/<your_kernel>/... ."
die "USE=modules and in-kernel ipset support detected."
else
einfo "Modular kernel detected. Gonna build kernel modules..."
build_modules=1
fi
else
eerror "Nonmodular kernel detected, but USE=modules. Either build"
eerror "modular kernel (without IP_SET) or disable USE=modules"
die "Nonmodular kernel detected, will not build kernel modules"
fi
fi
[[ ${build_modules} -eq 1 ]] && linux-mod_pkg_setup
}
src_prepare() {
default
eautoreconf
}
src_configure() {
export bashcompdir="$(get_bashcompdir)"
econf \
--enable-bashcompl \
$(use_with modules kmod) \
--with-maxsets=${IP_NF_SET_MAX} \
--with-ksource="${KV_DIR}" \
--with-kbuild="${KV_OUT_DIR}"
}
src_compile() {
einfo "Building userspace"
emake
if [[ ${build_modules} -eq 1 ]]; then
einfo "Building kernel modules"
set_arch_to_kernel
emake modules
fi
}
src_install() {
einfo "Installing userspace"
default
find "${ED}" -name '*.la' -delete || die
newinitd "${FILESDIR}"/ipset.initd-r5 ${PN}
newconfd "${FILESDIR}"/ipset.confd-r1 ${PN}
systemd_newunit "${FILESDIR}"/ipset.systemd-r1 ${PN}.service
keepdir /var/lib/ipset
if [[ ${build_modules} -eq 1 ]]; then
einfo "Installing kernel modules"
linux-mod_src_install
fi
}

View File

@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@ -12,7 +12,7 @@ SRC_URI="https://ipset.netfilter.org/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~loong ppc ppc64 ~riscv x86"
KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv x86"
RDEPEND="
net-firewall/iptables

View File

@ -1,65 +0,0 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit autotools bash-completion-r1 linux-info systemd
DESCRIPTION="IPset tool for iptables, successor to ippool"
HOMEPAGE="https://ipset.netfilter.org/ https://git.netfilter.org/ipset/"
SRC_URI="https://ipset.netfilter.org/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
RDEPEND="
>=net-firewall/iptables-1.8.9
net-libs/libmnl:=
"
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
DOCS=( ChangeLog INSTALL README UPGRADE )
# configurable from outside, e.g. /etc/portage/make.conf
IP_NF_SET_MAX=${IP_NF_SET_MAX:-256}
pkg_setup() {
get_version
CONFIG_CHECK="NETFILTER"
ERROR_NETFILTER="ipset requires NETFILTER support in your kernel."
CONFIG_CHECK+=" NETFILTER_NETLINK"
ERROR_NETFILTER_NETLINK="ipset requires NETFILTER_NETLINK support in your kernel."
# It does still build without NET_NS, but it may be needed in future.
#CONFIG_CHECK="${CONFIG_CHECK} NET_NS"
#ERROR_NET_NS="ipset requires NET_NS (network namespace) support in your kernel."
CONFIG_CHECK+=" !PAX_CONSTIFY_PLUGIN"
ERROR_PAX_CONSTIFY_PLUGIN="ipset contains constified variables (#614896)"
}
src_prepare() {
default
eautoreconf
}
src_configure() {
export bashcompdir="$(get_bashcompdir)"
econf \
--enable-bashcompl \
--with-kmod=no \
--with-maxsets=${IP_NF_SET_MAX}
}
src_install() {
einfo "Installing userspace"
default
find "${ED}" -name '*.la' -delete || die
newinitd "${FILESDIR}"/ipset.initd-r5 ${PN}
newconfd "${FILESDIR}"/ipset.confd-r1 ${PN}
systemd_newunit "${FILESDIR}"/ipset.systemd-r1 ${PN}.service
keepdir /var/lib/ipset
}