aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb')
-rw-r--r--meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb310
1 files changed, 0 insertions, 310 deletions
diff --git a/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb b/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb
deleted file mode 100644
index 987cc640e1..0000000000
--- a/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb
+++ /dev/null
@@ -1,310 +0,0 @@
-SUMMARY = "Dynamic firewall daemon with a D-Bus interface"
-HOMEPAGE = "https://firewalld.org/"
-BUGTRACKER = "https://github.com/firewalld/firewalld/issues"
-UPSTREAM_CHECK_URI = "https://github.com/firewalld/firewalld/releases"
-LICENSE = "GPL-2.0-or-later"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-SRC_URI = "\
- https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \
- file://firewalld.init \
- file://run-ptest \
-"
-SRC_URI[sha256sum] = "28fd90e88bda0dfd460f370f353474811b2e295d7eb27f0d7d18ffa3d786eeb7"
-
-# glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4
-DEPENDS = "intltool-native glib-2.0-native nftables"
-
-inherit gettext autotools-brokensep bash-completion pkgconfig python3native python3-dir gsettings systemd update-rc.d ptest
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
-PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd"
-PACKAGECONFIG[docs] = "--with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog,--disable-docs,libxslt-native docbook-xsl-stylesheets-native"
-PACKAGECONFIG[ipset] = "--with-ipset=${sbindir}/ipset,--without-ipset,,ipset"
-PACKAGECONFIG[ebtables] = "--with-ebtables=${base_sbindir}/ebtables --with-ebtables-restore=${sbindir}/ebtables-legacy-restore,--without-ebtables --without-ebtables-restore,,ebtables"
-
-# Default logging configuration: mixed syslog file console
-FIREWALLD_DEFAULT_LOG_TARGET ??= "syslog"
-
-# The UIs are not yet tested and the dependencies are probably not quite correct yet.
-# Splitting into separate packages is beneficial so that no dead code is transferred
-# to the target device.
-# Without enabling qt5, the firewalld-config package is not usable.
-# Without enabling qt5 and gtk, the firewalld-applet package is not usable.
-PACKAGECONFIG[qt5] = ""
-PACKAGECONFIG[gtk] = ""
-
-PACKAGES =+ "python3-firewall ${PN}-applet ${PN}-config ${PN}-offline-cmd ${PN}-zsh-completion ${PN}-log-rotate"
-
-# iptables, ip6tables, ebtables, and ipset *should* be unnecessary
-# when the nftables backend is available, because nftables supersedes all of them.
-# However we still need iptables and ip6tables to be available otherwise any
-# application relying on "direct passthrough" rules (such as docker) will break.
-# /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by
-# the Red Hat-specific init script which we aren't using, so we disable that.
-EXTRA_OECONF = "\
- --with-iptables=${sbindir}/iptables \
- --with-iptables-restore=${sbindir}/iptables-restore \
- --with-ip6tables=${sbindir}/ip6tables \
- --with-ip6tables-restore=${sbindir}/ip6tables-restore \
- --disable-sysconfig \
-"
-
-INITSCRIPT_NAME = "firewalld"
-SYSTEMD_SERVICE:${PN} = "firewalld.service"
-
-# kernel modules loaded after ptest execution (linux-yocto 5.15)
-FIREWALLD_KERNEL_MODULES ?= "\
- xt_tcpudp \
- xt_TCPMSS \
- xt_set \
- xt_sctp \
- xt_REDIRECT \
- xt_pkttype \
- xt_NFLOG \
- xt_nat \
- xt_MASQUERADE \
- xt_mark \
- xt_mac \
- xt_LOG \
- xt_limit \
- xt_dccp \
- xt_CT \
- xt_conntrack \
- xt_CHECKSUM \
- nft_redir \
- nft_objref \
- nft_nat \
- nft_masq \
- nft_log \
- nfnetlink_log \
- nf_nat_tftp \
- nf_nat_sip \
- nf_nat_ftp \
- nf_log_syslog \
- nf_conntrack_tftp \
- nf_conntrack_sip \
- nf_conntrack_netbios_ns \
- nf_conntrack_ftp \
- nf_conntrack_broadcast \
- ipt_REJECT \
- ip6t_rpfilter \
- ip6t_REJECT \
- ip_set_hash_netport \
- ip_set_hash_netnet \
- ip_set_hash_netiface \
- ip_set_hash_net \
- ip_set_hash_mac \
- ip_set_hash_ipportnet \
- ip_set_hash_ipport \
- ip_set_hash_ipmark \
- ip_set_hash_ip \
- ebt_ip6 \
- nft_fib_inet \
- nft_fib_ipv4 \
- nft_fib_ipv6 \
- nft_fib \
- nft_reject_inet \
- nf_reject_ipv4 \
- nf_reject_ipv6 \
- nft_reject \
- nft_ct \
- nft_chain_nat \
- ebtable_nat \
- ebtable_broute \
- ip6table_nat \
- ip6table_mangle \
- ip6table_raw \
- ip6table_security \
- iptable_nat \
- nf_nat \
- nf_conntrack \
- nf_defrag_ipv6 \
- nf_defrag_ipv4 \
- iptable_mangle \
- iptable_raw \
- iptable_security \
- ip_set \
- ebtable_filter \
- ebtables \
- ip6table_filter \
- ip6_tables \
- iptable_filter \
- ip_tables \
- x_tables \
- sch_fq_codel \
-"
-
-do_configure:prepend() {
- export DEFAULT_LOG_TARGET=${FIREWALLD_DEFAULT_LOG_TARGET}
-}
-
-do_install:append() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'false', 'true', d)}; then
- # firewalld ships an init script but it contains Red Hat-isms, replace it with our own
- rm -rf ${D}${sysconfdir}/rc.d/
- install -d ${D}${sysconfdir}/init.d
- install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld
- fi
-
- if ${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'false', 'true', d)}; then
- # Delete polkit profiles if polkit is not available
- rm -rf ${D}${datadir}/polkit-1
- fi
-
- # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE
- # so now we need to fix up any references to point at the proper path in the image.
- # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools.
- if [ ${PN} != "${BPN}-native" ]; then
- sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \
- ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
- fi
- sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \
- ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml
-
- # This file contains Red Hat-isms. Modules get loaded without it.
- rm -f ${D}${sysconfdir}/modprobe.d/firewalld-sysctls.conf
-}
-
-do_install_ptest:append() {
- # Add kernel modules to the ptest script
- if [ ${PTEST_ENABLED} = "1" ]; then
- sed -i -e 's:@@FIREWALLD_KERNEL_MODULES@@:${FIREWALLD_KERNEL_MODULES}:g' \
- ${D}${PTEST_PATH}/run-ptest
- fi
-}
-
-SUMMARY:python3-firewall = "${SUMMARY} (Python3 bindings)"
-FILES:python3-firewall = "\
- ${PYTHON_SITEPACKAGES_DIR}/firewall/__pycache__/*.py* \
- ${PYTHON_SITEPACKAGES_DIR}/firewall/*.py* \
- ${PYTHON_SITEPACKAGES_DIR}/firewall/config/*.py* \
- ${PYTHON_SITEPACKAGES_DIR}/firewall/config/__pycache__/*.py* \
- ${PYTHON_SITEPACKAGES_DIR}/firewall/core/*.py* \
- ${PYTHON_SITEPACKAGES_DIR}/firewall/core/__pycache__/*.py* \
- ${PYTHON_SITEPACKAGES_DIR}/firewall/core/io/*.py* \
- ${PYTHON_SITEPACKAGES_DIR}/firewall/core/io/__pycache__/*.py* \
- ${PYTHON_SITEPACKAGES_DIR}/firewall/server/*.py* \
- ${PYTHON_SITEPACKAGES_DIR}/firewall/server/__pycache__/*.py* \
-"
-RDEPENDS:python3-firewall = "\
- python3-dbus \
- nftables-python \
- python3-pygobject \
-"
-
-# Do not depend on QT5 layer and GTK deps if not explicitely required.
-FIREWALLD_QT5_RDEPENDS = "\
- ${PN}-config \
- hicolor-icon-theme \
- python3-pyqt5 \
- python3-pygobject \
- libnotify \
- networkmanager \
-"
-FIREWALLD_GTK_RDEPENDS = "\
- gtk3 \
-"
-
-# A QT5 based UI
-SUMMARY:${PN}-config = "${SUMMARY} (configuration application)"
-FILES:${PN}-config = "\
- ${bindir}/firewall-config \
- ${datadir}/firewalld/firewall-config.glade \
- ${datadir}/firewalld/gtk3_chooserbutton.py* \
- ${datadir}/firewalld/gtk3_niceexpander.py* \
- ${datadir}/applications/firewall-config.desktop \
- ${datadir}/metainfo/firewall-config.appdata.xml \
- ${datadir}/icons/hicolor/*/apps/firewall-config*.* \
-"
-RDEPENDS:${PN}-config += "\
- python3-core \
- python3-ctypes \
- ${@bb.utils.contains('PACKAGECONFIG', 'qt5', '${FIREWALLD_QT5_RDEPENDS}', '', d)} \
-"
-
-# A GTK3 applet depending on the QT5 firewall-config UI
-SUMMARY:${PN}-applet = "${SUMMARY} (panel applet)"
-FILES:${PN}-applet += "\
- ${bindir}/firewall-applet \
- ${sysconfdir}/xdg/autostart/firewall-applet.desktop \
- ${sysconfdir}/firewall/applet.conf \
- ${datadir}/icons/hicolor/*/apps/firewall-applet*.* \
-"
-RDEPENDS:${PN}-applet += "\
- python3-core \
- python3-ctypes \
- ${@bb.utils.contains('PACKAGECONFIG', 'qt5', '${FIREWALLD_QT5_RDEPENDS}', '', d)} \
- ${@bb.utils.contains('PACKAGECONFIG', 'gtk', '${FIREWALLD_GTK_RDEPENDS}', '', d)} \
-"
-
-SUMMARY:${PN}-offline-cmd = "${SUMMARY} (offline configuration utility)"
-FILES:${PN}-offline-cmd += " \
- ${bindir}/firewall-offline-cmd \
-"
-RDEPENDS:${PN}-offline-cmd += "python3-core"
-
-SUMMARY:${PN}-log-rotate = "${SUMMARY} (log-rotate configuration)"
-FILES:${PN}-log-rotate += "${sysconfdir}/logrotate.d"
-
-# To get allmost all tests passing
-# - Enable PACKAGECONFIG ipset, ebtable
-# - Enough RAM QB_MEM = "-m 8192" (used für fancy ipset tests)
-FILES:${PN}-ptest += "\
- ${datadir}/firewalld/testsuite \
-"
-RDEPENDS:${PN}-ptest += "\
- python3-unittest \
- ${PN}-offline-cmd \
- procps-ps \
- iproute2 \
-"
-RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-localedata-en-us"
-
-FILES:${PN}-zsh-completion = "${datadir}/zsh/site-functions"
-
-FILES:${PN} += "\
- ${PYTHON_SITEPACKAGES_DIR}/firewall \
- ${nonarch_libdir}/firewalld \
- ${datadir}/dbus-1 \
- ${datadir}/polkit-1 \
- ${datadir}/metainfo \
- ${datadir}/glib-2.0/schemas/org.fedoraproject.FirewallConfig.gschema.xml \
-"
-RDEPENDS:${PN} += "\
- python3-firewall \
- iptables \
- python3-core \
- python3-io \
- python3-fcntl \
- python3-syslog \
- python3-xml \
- python3-json \
- python3-ctypes \
- python3-pprint \
-"
-# If firewalld writes a log file rotation is needed
-RRECOMMENDS:${PN} += "${@bb.utils.contains_any('FIREWALLD_DEFAULT_LOG_TARGET', [ 'mixed', 'file' ], '${PN}-log-rotate', '', d)}"
-
-# Add required kernel modules. With Yocto kernel 5.15 this currently means:
-# - features/nf_tables/nf_tables.scc
-# - features/netfilter/netfilter.scc
-# - cgl/features/audit/audit.scc
-# - cfg/net/ip6_nf.scc
-# - Plus:
-# - ebtables
-# - ipset
-# - CONFIG_IP6_NF_SECURITY=m
-# - CONFIG_IP6_NF_MATCH_RPFILTER=m
-# - CONFIG_IP6_NF_TARGET_REJECT=m
-# - CONFIG_NFT_OBJREF=m
-# - CONFIG_NFT_FIB=m
-# - CONFIG_NFT_FIB_INET=m
-# - CONFIG_NFT_FIB_IPV4=m
-# - CONFIG_NFT_FIB_IPV6=m
-# - CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-# - CONFIG_NETFILTER_XT_SET=m
-def get_kernel_deps(d):
- kmodules = (d.getVar('FIREWALLD_KERNEL_MODULES') or "").split()
- return ' '.join([ 'kernel-module-' + mod.replace('_', '-').lower() for mod in kmodules ])
-RRECOMMENDS:${PN} += "${@get_kernel_deps(d)}"