1config BR2_PACKAGE_FIREWALLD
2	bool "firewalld"
3	depends on BR2_USE_MMU # gobject-introspection, python3, python-gobject
4	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
5	depends on BR2_USE_WCHAR # glib2, dbus-python, nftables, python3
6	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # gobject-introspection
7	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-python, python3
8	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
9	depends on BR2_TOOLCHAIN_USES_GLIBC # gobject-introspection
10	depends on BR2_HOST_GCC_AT_LEAST_8 # gobject-introspection
11	depends on !BR2_STATIC_LIBS # python3
12	select BR2_PACKAGE_DBUS # dbus-python
13	select BR2_PACKAGE_DBUS_PYTHON
14	select BR2_PACKAGE_GOBJECT_INTROSPECTION
15	select BR2_PACKAGE_JANSSON # Uses the nftables json interface
16	select BR2_PACKAGE_NFTABLES
17	select BR2_PACKAGE_PYTHON3
18	select BR2_PACKAGE_PYTHON_GOBJECT
19	help
20	  Firewalld provides a dynamically managed firewall with
21	  support for network or firewall zones to define the trust
22	  level of network connections or interfaces. It has support
23	  for IPv4, IPv6 firewall settings and for ethernet bridges and
24	  a separation of runtime and permanent configuration options.
25	  It also provides an interface for services or applications to
26	  add ip*tables and ebtables rules directly.
27
28	  Note: Firewalld uses nftables as the backend and requires
29	  kernel version >= 5.3.
30
31	  https://github.com/firewalld/firewalld
32
33comment "firewalld needs a glibc toolchain w/ wchar, dynamic library, headers >= 3.12, gcc >= 4.9, host gcc >= 8"
34	depends on BR2_USE_MMU
35	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
36	depends on !BR2_TOOLCHAIN_USES_GLIBC || \
37		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \
38		!BR2_USE_WCHAR || BR2_STATIC_LIBS || \
39		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
40		!BR2_HOST_GCC_AT_LEAST_8 || BR2_STATIC_LIBS
41