diff options
Diffstat (limited to 'net-firewall/firewalld')
-rw-r--r-- | net-firewall/firewalld/Manifest | 2 | ||||
-rw-r--r-- | net-firewall/firewalld/firewalld-2.0.0.ebuild | 223 |
2 files changed, 225 insertions, 0 deletions
diff --git a/net-firewall/firewalld/Manifest b/net-firewall/firewalld/Manifest index 561c74f54877..52421f1ccad1 100644 --- a/net-firewall/firewalld/Manifest +++ b/net-firewall/firewalld/Manifest @@ -2,6 +2,8 @@ AUX firewalld.init 250 BLAKE2B 1c0f690e24313037b801902aa772a9d1cb6889a05f142bc3d AUX firewalld.service 581 BLAKE2B b4eb7549305da68bc53f913d5d0a3ff2595e8e482ed2a474ede645f33b8192e142cd1aa964c5c1dcf8a7c336c68d494ee13421ec7566312a4f89330c236cab9c SHA512 b81fb8414619b3661985cbac001a47c76d76b13eebe421919a838fa0396e6470a3109e0d20d88f423ff43b6e48c0537467125a85bf8939ef0ab6ded4d4829b03 DIST firewalld-1.3.2.tar.bz2 1225416 BLAKE2B 108302dab4a1a156bc12df4ec82a2f6fc7ad3e17ca56f68ac9cbd4f85db4cd06abc1a39275ec6d11fc41e820d9fc01f3cd59a73f44332cd3b9662d50d2eeb22a SHA512 06658d279c5ec8eadfb14f9f7053882fc2872a4e27055e9c3aac81cf93167773d592fc29bd749cb6447116419c663fac79d6df725422394409b9a2e1c4708695 DIST firewalld-1.3.3.tar.bz2 1218890 BLAKE2B 79ececc0c547e4e06edced53909e9e68c6a5781c15af1d722e2247c28206e19a92349e33be31cbdec5281de6052be2718da09ab18065cfa49999e94acafb0338 SHA512 b6bbec0dd9810a48c397bc6cfcf1339e0fff5a80df893917eddee266e48f70ae0af31a9c474d5c78fe2990433c8f84d70fd46f227ac29e4f5b7c209ca73b9e3c +DIST firewalld-2.0.0.tar.bz2 1260018 BLAKE2B 18b57d5692d0e8a78af590e22010f7926d65a648bffbaf49e46c2e4156a923235e0cef00df1468ad36425050b1f7f5cceacbc6189d12602f592b3b4f3f9ec6de SHA512 a43e2e625d5d11cf1b740230213a44adbfe99243f2b87dc21b1698ea80a8da4af3b974e381980cc3c8d0bd3f08e5561eb2c3a393da5f5fbee4518879ae0b21a8 EBUILD firewalld-1.3.2.ebuild 5284 BLAKE2B 783f4ee3b24fc7258d00d1810ca3dc25d3306fbcfaeed0cbe55df63ce219b6855cdc894d2b2b56ec28d554706bcf63dfdaeef60b561fb6e0422bdbaec564355c SHA512 c0139f8fdfd17db31af28ef70790602f6d1041b2e6ba335d6a4de11521f623d2c88f92f2027000ea8e65b39f89a22cb88d298a45068a06fdeb2483f2b50df653 EBUILD firewalld-1.3.3.ebuild 5307 BLAKE2B b4e28eb31349c9ac9928b635fb3a1207f483dbe63386a27e7ecb96cffaeb08bca5a148c28a836eb3a6d22b3e9007e375909c193f1af188ce9d86bc1cba8aced0 SHA512 656de59098395c037a4e17d67be4ed06f6e75069a224039781c48e7d24e6c4c453a6bd4d0318d44ff76295266128e702ac14ad0cc9b9a74e8058e4ac7595091a +EBUILD firewalld-2.0.0.ebuild 5307 BLAKE2B b4e28eb31349c9ac9928b635fb3a1207f483dbe63386a27e7ecb96cffaeb08bca5a148c28a836eb3a6d22b3e9007e375909c193f1af188ce9d86bc1cba8aced0 SHA512 656de59098395c037a4e17d67be4ed06f6e75069a224039781c48e7d24e6c4c453a6bd4d0318d44ff76295266128e702ac14ad0cc9b9a74e8058e4ac7595091a MISC metadata.xml 671 BLAKE2B 69c4bda7cc74a243aa1738bed90d16a3bc2c2085f6c0718becc7797a68da63035ef4d4f5e59c0583987d54032c163df6052d012fb7ca49026ca7259088793d33 SHA512 dd2d482251a4e33cb12ba324e1a21b4758f82de83c0cf83d5fa6259444c272360b47c5666e596103eba4703183fc9864a6bbb07a254aba67146b89d9870e9bbe diff --git a/net-firewall/firewalld/firewalld-2.0.0.ebuild b/net-firewall/firewalld/firewalld-2.0.0.ebuild new file mode 100644 index 000000000000..9cdc72532067 --- /dev/null +++ b/net-firewall/firewalld/firewalld-2.0.0.ebuild @@ -0,0 +1,223 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) +inherit bash-completion-r1 gnome2-utils linux-info optfeature +inherit plocale python-single-r1 systemd xdg-utils + +DESCRIPTION="A firewall daemon with D-Bus interface providing a dynamic firewall" +HOMEPAGE="https://firewalld.org/" +SRC_URI="https://github.com/firewalld/firewalld/releases/download/v${PV}/${P}.tar.bz2" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86" +IUSE="gui +nftables +iptables test" +# Tests are too unreliable in sandbox environment +RESTRICT="!test? ( test ) test" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND=" + ${PYTHON_DEPS} + || ( >=sys-apps/openrc-0.11.5 sys-apps/systemd ) + $(python_gen_cond_dep ' + dev-python/dbus-python[${PYTHON_USEDEP}] + dev-python/pygobject:3[${PYTHON_USEDEP}] + gui? ( + x11-libs/gtk+:3 + dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}] + ) + nftables? ( >=net-firewall/nftables-0.9.4[python,json] ) + ') + iptables? ( + net-firewall/iptables[ipv6(+)] + net-firewall/ebtables + net-firewall/ipset + nftables? ( net-firewall/nftables[xtables(+)] ) + ) +" +DEPEND=" + ${RDEPEND} + dev-libs/glib:2 +" +BDEPEND=" + app-text/docbook-xml-dtd + >=dev-util/intltool-0.35 + sys-devel/gettext +" + +# Testsuite's Makefile.am calls missing(!) +# ... but this seems to be consistent with the autoconf docs? +# Needs more investigation: https://www.gnu.org/software/autoconf/manual/autoconf-2.67/html_node/autom4te-Invocation.html +QA_AM_MAINTAINER_MODE=".*--run autom4te --language=autotest.*" + +PLOCALES="ar as ast bg bn_IN ca cs da de el en_GB en_US es et eu fa fi fr gl gu hi hr hu ia id it ja ka kn ko lt ml mr nl or pa pl pt pt_BR ru si sk sq sr sr@latin sv ta te tr uk zh_CN zh_TW" + +pkg_setup() { + # See bug #830132 for the huge list + # We can probably narrow it down a bit but it's rather fragile + local CONFIG_CHECK="~NF_CONNTRACK ~NETFILTER_XT_MATCH_CONNTRACK + ~NETFILTER + ~NETFILTER_ADVANCED + ~NETFILTER_INGRESS + ~NF_NAT_MASQUERADE + ~NF_NAT_REDIRECT + ~NF_TABLES_INET + ~NF_TABLES_IPV4 + ~NF_TABLES_IPV6 + ~NF_CONNTRACK + ~NF_CONNTRACK_BROADCAST + ~NF_CONNTRACK_NETBIOS_NS + ~NF_CONNTRACK_TFTP + ~NF_CT_NETLINK + ~NF_CT_NETLINK_HELPER + ~NF_DEFRAG_IPV4 + ~NF_DEFRAG_IPV6 + ~NF_NAT + ~NF_NAT_TFTP + ~NF_REJECT_IPV4 + ~NF_REJECT_IPV6 + ~NF_SOCKET_IPV4 + ~NF_SOCKET_IPV6 + ~NF_TABLES + ~NF_TPROXY_IPV4 + ~NF_TPROXY_IPV6 + ~IP_NF_FILTER + ~IP_NF_IPTABLES + ~IP_NF_MANGLE + ~IP_NF_NAT + ~IP_NF_RAW + ~IP_NF_SECURITY + ~IP_NF_TARGET_MASQUERADE + ~IP_NF_TARGET_REJECT + ~IP6_NF_FILTER + ~IP6_NF_IPTABLES + ~IP6_NF_MANGLE + ~IP6_NF_NAT + ~IP6_NF_RAW + ~IP6_NF_SECURITY + ~IP6_NF_TARGET_MASQUERADE + ~IP6_NF_TARGET_REJECT + ~IP_SET + ~NETFILTER_CONNCOUNT + ~NETFILTER_NETLINK + ~NETFILTER_NETLINK_OSF + ~NETFILTER_NETLINK_QUEUE + ~NETFILTER_SYNPROXY + ~NETFILTER_XTABLES + ~NETFILTER_XT_CONNMARK + ~NETFILTER_XT_MATCH_CONNTRACK + ~NETFILTER_XT_MATCH_MULTIPORT + ~NETFILTER_XT_MATCH_STATE + ~NETFILTER_XT_NAT + ~NETFILTER_XT_TARGET_MASQUERADE + ~NFT_COMPAT + ~NFT_CT + ~NFT_FIB + ~NFT_FIB_INET + ~NFT_FIB_IPV4 + ~NFT_FIB_IPV6 + ~NFT_HASH + ~NFT_LIMIT + ~NFT_LOG + ~NFT_MASQ + ~NFT_NAT + ~NFT_OBJREF + ~NFT_QUEUE + ~NFT_QUOTA + ~NFT_REDIR + ~NFT_REJECT + ~NFT_REJECT_INET + ~NFT_REJECT_IPV4 + ~NFT_REJECT_IPV6 + ~NFT_SOCKET + ~NFT_SYNPROXY + ~NFT_TPROXY + ~NFT_TUNNEL + ~NFT_XFRM" + + # kernel >= 4.19 has unified a NF_CONNTRACK module, bug #692944 + if kernel_is -lt 4 19; then + CONFIG_CHECK+=" ~NF_CONNTRACK_IPV4 ~NF_CONNTRACK_IPV6" + fi + + # bug #831259 + if kernel_is -le 5 4 ; then + CONFIG_CHECK+=" ~NF_TABLES_SET" + fi + + # bug #853055 + if kernel_is -lt 5 18 ; then + CONFIG_CHECK+=" ~NFT_COUNTER" + fi + + linux-info_pkg_setup +} + +src_prepare() { + default + + plocale_find_changes "po" "" ".po" || die + plocale_get_locales | sed -e 's/ /\n/g' > po/LINGUAS +} + +src_configure() { + python_setup + + local myeconfargs=( + --enable-systemd + $(use_with iptables iptables "${EPREFIX}/sbin/iptables") + $(use_with iptables iptables_restore "${EPREFIX}/sbin/iptables-restore") + $(use_with iptables ip6tables "${EPREFIX}/sbin/ip6tables") + $(use_with iptables ip6tables_restore "${EPREFIX}/sbin/ip6tables-restore") + $(use_with iptables ebtables "${EPREFIX}/sbin/ebtables") + $(use_with iptables ebtables_restore "${EPREFIX}/sbin/ebtables-restore") + $(use_with iptables ipset "${EPREFIX}/usr/sbin/ipset") + --with-systemd-unitdir="$(systemd_get_systemunitdir)" + --with-bashcompletiondir="$(get_bashcompdir)" + ) + + econf "${myeconfargs[@]}" +} + +src_install() { + default + python_optimize + + # Get rid of junk + rm -rf "${D}/etc/sysconfig/" || die + + # For non-gui installs we need to remove GUI bits + if ! use gui; then + rm -rf "${D}/etc/xdg/autostart" || die + rm -f "${D}/usr/bin/firewall-applet" || die + rm -f "${D}/usr/bin/firewall-config" || die + rm -rf "${D}/usr/share/applications" || die + rm -rf "${D}/usr/share/icons" || die + fi + + newinitd "${FILESDIR}"/firewalld.init firewalld + + # Our version drops the/an obsolete 'conflicts' line with old iptables services + # bug #833506 + systemd_dounit "${FILESDIR}"/firewalld.service +} + +pkg_preinst() { + gnome2_schemas_savelist +} + +pkg_postinst() { + xdg_icon_cache_update + gnome2_schemas_update + + # bug #833569 + optfeature "changing zones with NetworkManager" gnome-extra/nm-applet +} + +pkg_postrm() { + xdg_icon_cache_update + gnome2_schemas_update +} |