From 2ee17b4a82ccad13f49f3dcdde94740e53564b3f Mon Sep 17 00:00:00 2001 From: Dennis Lamm Date: Wed, 28 Feb 2024 09:58:04 +0100 Subject: net-firewall/firewalld: improved systemd service removed environment variable reference from ExecStart Signed-off-by: Dennis Lamm Closes: https://github.com/gentoo/gentoo/pull/35562 Signed-off-by: Dennis Lamm --- .../files/firewalld-systemd-service.patch | 19 ++ net-firewall/firewalld/firewalld-2.1.1-r1.ebuild | 230 --------------------- net-firewall/firewalld/firewalld-2.1.1-r2.ebuild | 227 ++++++++++++++++++++ 3 files changed, 246 insertions(+), 230 deletions(-) create mode 100644 net-firewall/firewalld/files/firewalld-systemd-service.patch delete mode 100644 net-firewall/firewalld/firewalld-2.1.1-r1.ebuild create mode 100644 net-firewall/firewalld/firewalld-2.1.1-r2.ebuild (limited to 'net-firewall') diff --git a/net-firewall/firewalld/files/firewalld-systemd-service.patch b/net-firewall/firewalld/files/firewalld-systemd-service.patch new file mode 100644 index 000000000000..66f4c730b66f --- /dev/null +++ b/net-firewall/firewalld/files/firewalld-systemd-service.patch @@ -0,0 +1,19 @@ +Drops the/an obsolete 'conflicts' line with old iptables services bug #833506 +Removes EnvironmentFile and FIREWALLD_ARGS variable +=================================================================== +--- a/config/firewalld.service.in ++++ b/config/firewalld.service.in +@@ -4,12 +4,10 @@ + Wants=network-pre.target + After=dbus.service + After=polkit.service +-Conflicts=iptables.service ip6tables.service ebtables.service ipset.service nftables.service + Documentation=man:firewalld(1) + + [Service] +-EnvironmentFile=-/etc/sysconfig/firewalld +-ExecStart=@sbindir@/firewalld --nofork --nopid $FIREWALLD_ARGS ++ExecStart=@sbindir@/firewalld --nofork --nopid + ExecReload=/bin/kill -HUP $MAINPID + # supress to log debug and error output also to /var/log/messages + StandardOutput=null diff --git a/net-firewall/firewalld/firewalld-2.1.1-r1.ebuild b/net-firewall/firewalld/firewalld-2.1.1-r1.ebuild deleted file mode 100644 index aac81d88bbee..000000000000 --- a/net-firewall/firewalld/firewalld-2.1.1-r1.ebuild +++ /dev/null @@ -1,230 +0,0 @@ -# Copyright 1999-2024 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="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 ro ru si sk sl 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_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 - - # bug #926685 - if kernel_is -le 6 1 ; then - CONFIG_CHECK+=" ~NFT_OBJREF" - fi - - linux-info_pkg_setup -} - -src_prepare() { - default - - plocale_find_changes "po" "" ".po" || die - plocale_get_locales | sed -e 's/ /\n/g' > po/LINGUAS - - # Our version drops the/an obsolete 'conflicts' line with old iptables services - # bug #833506 - sed -i \ - -e "/Conflicts=iptables.service ip6tables.service ebtables.service ipset.service nftables.service/d" \ - -e "/EnvironmentFile=-\/etc\/sysconfig\/firewalld/d" \ - config/firewalld.service.in || die -} - -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 -} - -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 -} diff --git a/net-firewall/firewalld/firewalld-2.1.1-r2.ebuild b/net-firewall/firewalld/firewalld-2.1.1-r2.ebuild new file mode 100644 index 000000000000..fbe62a47db37 --- /dev/null +++ b/net-firewall/firewalld/firewalld-2.1.1-r2.ebuild @@ -0,0 +1,227 @@ +# Copyright 1999-2024 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="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 ro ru si sk sl sq sr sr@latin sv ta te tr uk zh_CN zh_TW" + +PATCHES=( + "${FILESDIR}"/${PN}-systemd-service.patch +) + +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_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 + + # bug #926685 + if kernel_is -le 6 1 ; then + CONFIG_CHECK+=" ~NFT_OBJREF" + 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 +} + +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 +} -- cgit v1.2.3-65-gdbad