diff options
Diffstat (limited to 'meta-networking/recipes-connectivity/firewalld/firewalld_0.7.5.bb')
| -rw-r--r-- | meta-networking/recipes-connectivity/firewalld/firewalld_0.7.5.bb | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.5.bb b/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.5.bb new file mode 100644 index 0000000000..fbf586f769 --- /dev/null +++ b/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.5.bb | |||
| @@ -0,0 +1,92 @@ | |||
| 1 | SUMMARY = "Dynamic firewall daemon with a D-Bus interface" | ||
| 2 | HOMEPAGE = "https://firewalld.org/" | ||
| 3 | BUGTRACKER = "https://github.com/firewalld/firewalld/issues" | ||
| 4 | UPSTREAM_CHECK_URI = "https://github.com/firewalld/firewalld/releases" | ||
| 5 | LICENSE = "GPLv2+" | ||
| 6 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
| 7 | |||
| 8 | SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ | ||
| 9 | file://firewalld.init \ | ||
| 10 | " | ||
| 11 | SRC_URI[md5sum] = "b1aeede85a72adcf4f79d98019811244" | ||
| 12 | SRC_URI[sha256sum] = "45a8a7dbc084ef56ce306154d3834922e7f1fc2bf11b6c821f579cad51313226" | ||
| 13 | |||
| 14 | # glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4 | ||
| 15 | DEPENDS = "intltool-native glib-2.0-native" | ||
| 16 | |||
| 17 | inherit gettext autotools bash-completion python3native gsettings systemd update-rc.d | ||
| 18 | |||
| 19 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" | ||
| 20 | PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd" | ||
| 21 | PACKAGECONFIG[docs] = "--with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog,--disable-docs,libxslt-native docbook-xsl-stylesheets-native" | ||
| 22 | |||
| 23 | PACKAGES += "${PN}-zsh-completion" | ||
| 24 | |||
| 25 | # iptables, ip6tables, ebtables, and ipset *should* be unnecessary | ||
| 26 | # when the nftables backend is available, because nftables supersedes all of them. | ||
| 27 | # However we still need iptables and ip6tables to be available otherwise any | ||
| 28 | # application relying on "direct passthrough" rules (such as docker) will break. | ||
| 29 | # /etc/sysconfig/firewalld is a Red Hat-ism, only referenced by | ||
| 30 | # the Red Hat-specific init script which we aren't using, so we disable that. | ||
| 31 | EXTRA_OECONF = "\ | ||
| 32 | --with-nft=${sbindir}/nft \ | ||
| 33 | --without-ipset \ | ||
| 34 | --with-iptables=${sbindir}/iptables \ | ||
| 35 | --with-iptables-restore=${sbindir}/iptables-restore \ | ||
| 36 | --with-ip6tables=${sbindir}/ip6tables \ | ||
| 37 | --with-ip6tables-restore=${sbindir}/ip6tables-restore \ | ||
| 38 | --without-ebtables \ | ||
| 39 | --without-ebtables-restore \ | ||
| 40 | --disable-sysconfig \ | ||
| 41 | " | ||
| 42 | |||
| 43 | INITSCRIPT_NAME = "firewalld" | ||
| 44 | SYSTEMD_SERVICE_${PN} = "firewalld.service" | ||
| 45 | |||
| 46 | do_install_append() { | ||
| 47 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | ||
| 48 | : | ||
| 49 | else | ||
| 50 | # firewalld ships an init script but it contains Red Hat-isms, replace it with our own | ||
| 51 | rm -rf ${D}${sysconfdir}/rc.d/ | ||
| 52 | install -d ${D}${sysconfdir}/init.d | ||
| 53 | install -m0755 ${WORKDIR}/firewalld.init ${D}${sysconfdir}/init.d/firewalld | ||
| 54 | fi | ||
| 55 | |||
| 56 | # We ran ./configure with PYTHON pointed at the binary inside $STAGING_BINDIR_NATIVE | ||
| 57 | # so now we need to fix up any references to point at the proper path in the image. | ||
| 58 | # This hack is also in distutils.bbclass, but firewalld doesn't use distutils/setuptools. | ||
| 59 | if [ ${PN} != "${BPN}-native" ]; then | ||
| 60 | sed -i -e s:${STAGING_BINDIR_NATIVE}/python3-native/python3:${bindir}/python3:g \ | ||
| 61 | ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml | ||
| 62 | fi | ||
| 63 | sed -i -e s:${STAGING_BINDIR_NATIVE}:${bindir}:g \ | ||
| 64 | ${D}${bindir}/* ${D}${sbindir}/* ${D}${sysconfdir}/firewalld/*.xml | ||
| 65 | |||
| 66 | # This file contains Red Hat-isms. Modules get loaded without it. | ||
| 67 | rm -f ${D}${sysconfdir}/modprobe.d/firewalld-sysctls.conf | ||
| 68 | } | ||
| 69 | |||
| 70 | FILES_${PN} += "\ | ||
| 71 | ${PYTHON_SITEPACKAGES_DIR}/firewall \ | ||
| 72 | ${nonarch_libdir}/firewalld \ | ||
| 73 | ${datadir}/dbus-1 \ | ||
| 74 | ${datadir}/polkit-1 \ | ||
| 75 | ${datadir}/metainfo \ | ||
| 76 | " | ||
| 77 | FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions" | ||
| 78 | |||
| 79 | RDEPENDS_${PN} = "\ | ||
| 80 | nftables \ | ||
| 81 | iptables \ | ||
| 82 | python3-core \ | ||
| 83 | python3-io \ | ||
| 84 | python3-fcntl \ | ||
| 85 | python3-shell \ | ||
| 86 | python3-syslog \ | ||
| 87 | python3-xml \ | ||
| 88 | python3-dbus \ | ||
| 89 | python3-slip-dbus \ | ||
| 90 | python3-decorator \ | ||
| 91 | python3-pygobject \ | ||
| 92 | " | ||
