diff options
author | Sam James <sam@gentoo.org> | 2022-02-26 04:05:47 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-26 04:07:07 +0000 |
commit | eaf5a9d096bc19ea688b4cfb7612cab7fa5658ab (patch) | |
tree | d7f2e4b40542fee6f8045c483d0f2a641f82fcba /net-firewall/firewalld | |
parent | media-libs/libjpeg-turbo: add 2.1.3 (diff) | |
download | gentoo-eaf5a9d096bc19ea688b4cfb7612cab7fa5658ab.tar.gz gentoo-eaf5a9d096bc19ea688b4cfb7612cab7fa5658ab.tar.bz2 gentoo-eaf5a9d096bc19ea688b4cfb7612cab7fa5658ab.zip |
net-firewall/firewalld: add 1.1.0
- Add updated firewalld.service for systemd (drops Conflicts line w/ now-gone
iptables-and-friends unit files)
- Fix needed kernel config options
- Add optfeature for gnome-extra/nm-applet
Closes: https://bugs.gentoo.org/831259
Closes: https://bugs.gentoo.org/833506
Closes: https://bugs.gentoo.org/833569
Thanks-to: <genBTC@gmx.com>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'net-firewall/firewalld')
-rw-r--r-- | net-firewall/firewalld/Manifest | 1 | ||||
-rw-r--r-- | net-firewall/firewalld/files/firewalld.service | 22 | ||||
-rw-r--r-- | net-firewall/firewalld/firewalld-1.1.0.ebuild | 213 |
3 files changed, 236 insertions, 0 deletions
diff --git a/net-firewall/firewalld/Manifest b/net-firewall/firewalld/Manifest index b33424011e4d..eb1690b0d69a 100644 --- a/net-firewall/firewalld/Manifest +++ b/net-firewall/firewalld/Manifest @@ -1,2 +1,3 @@ DIST firewalld-1.0.2.tar.gz 1307963 BLAKE2B 11a7710981ba39f4bcb8431558e5b558a60d77fb1aa3fe4c5febc37f2eab754a6608e4820b6318c963bb6290a9b26ae9e162d9e46277c34dfdacac46ba938b21 SHA512 fbb60a6f52e5be26051303769b6521a6c775d450ab6704f2d63fe38dc6194976ad36f1d924380d09012f41ab6dab1f6f78c5a859fbfe00c52cdff40d82e62283 DIST firewalld-1.0.3.tar.gz 1310433 BLAKE2B c414a347ca1008e010bf8393e45ffff38b5845fde7cc53b810276e46d67c6302cfe93a59665ad6ebc533b3ae04908f9089546b109888f60f0c798f3cac62a30d SHA512 0ba423e8c294d143f31bbdac13553e58cd0a3429812b555829c34f411478c26cffcc40095218539155e9ed7fe7e360fb8dd85a572a8ad9d5650b0cc206fe42a1 +DIST firewalld-1.1.0.tar.gz 1324519 BLAKE2B d9f97c88a1ed44b325bb95616770c0aff6e0088bccd08d062b3be686964d3d36003c1e13809a8802af2062ff7544b2a1fd870c1e933952a9b77af989ec0f9b54 SHA512 4cb8b0d6387de72827d06c19019e5608e36f647a70aef04879f9225795571638758abd5ff6333bd9db816b6de40d7e8df04c402556c2402e85ad34633d337091 diff --git a/net-firewall/firewalld/files/firewalld.service b/net-firewall/firewalld/files/firewalld.service new file mode 100644 index 000000000000..708326f58fed --- /dev/null +++ b/net-firewall/firewalld/files/firewalld.service @@ -0,0 +1,22 @@ +[Unit] +Description=firewalld - dynamic firewall daemon +Before=network-pre.target +Wants=network-pre.target +After=dbus.service +After=polkit.service +Documentation=man:firewalld(1) + +[Service] +EnvironmentFile=-/etc/sysconfig/firewalld +ExecStart=/usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS +ExecReload=/bin/kill -HUP $MAINPID +# supress to log debug and error output also to /var/log/messages +StandardOutput=null +StandardError=null +Type=dbus +BusName=org.fedoraproject.FirewallD1 +KillMode=mixed + +[Install] +WantedBy=multi-user.target +Alias=dbus-org.fedoraproject.FirewallD1.service diff --git a/net-firewall/firewalld/firewalld-1.1.0.ebuild b/net-firewall/firewalld/firewalld-1.1.0.ebuild new file mode 100644 index 000000000000..467c6bd41651 --- /dev/null +++ b/net-firewall/firewalld/firewalld-1.1.0.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8,9,10} ) +inherit autotools bash-completion-r1 gnome2-utils linux-info optfeature 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/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86" +IUSE="gui +nftables +iptables" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + iptables? ( + net-firewall/iptables[ipv6(+)] + net-firewall/ebtables + net-firewall/ipset + nftables? ( net-firewall/nftables[xtables(+)] ) + ) + || ( >=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] ) + ')" +DEPEND="${RDEPEND} + dev-libs/glib:2" +BDEPEND=">=dev-util/intltool-0.35 + sys-devel/gettext" + +RESTRICT="test" # bug 650760 + +# 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 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_COUNTER + ~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 + + linux-info_pkg_setup +} + +src_prepare() { + default + + eautoreconf + + plocale_find_changes "po" "" ".po" + plocale_get_locales | sed -e 's/ /\n/g' > po/LINGUAS +} + +src_configure() { + python_setup + + local econf_args=( + --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 "${econf_args[@]}" +} + +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 "Change zones with NetworkManager" gnome-extra/nm-applet +} + +pkg_postrm() { + xdg_icon_cache_update + gnome2_schemas_update +} |