package/networkd-dispatcher: new package

Networkd-dispatcher is a dispatcher daemon for systemd-networkd
connection status changes. This daemon is similar to
NetworkManager-dispatcher, but is much more limited in the types of
events it supports due to the limited nature of systemd-networkd.

To simplify the large number of transitive dependencies, remove the ones
that are implied by glibc.

To simplify the comment, simply don't show it if python is selected.
Python 2 is going to be removed soon anyway.

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
[Arnout: add Config.in comment and rework/simplify dependencies]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
Michael Nosthoff via buildroot 2022-01-10 19:51:40 +01:00 committed by Arnout Vandecappelle (Essensium/Mind)
parent f8a5f4ecd8
commit 27856dfd1a
5 changed files with 59 additions and 0 deletions

View File

@ -2002,6 +2002,7 @@ N: Michael Nosthoff <buildroot@heine.tech>
F: package/grpc/
F: package/gtest/
F: package/libabseil-cpp/
F: package/networkd-dispatcher/
F: package/protobuf/
F: package/re2/

View File

@ -2297,6 +2297,7 @@ endif
source "package/netstat-nat/Config.in"
source "package/network-manager/Config.in"
source "package/network-manager-openvpn/Config.in"
source "package/networkd-dispatcher/Config.in"
source "package/nfacct/Config.in"
source "package/nftables/Config.in"
source "package/nginx/Config.in"

View File

@ -0,0 +1,29 @@
config BR2_PACKAGE_NETWORKD_DISPATCHER
bool "networkd-dispatcher"
depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # python-gobject -> gobject-introspection
depends on BR2_HOST_GCC_AT_LEAST_8 # python-gobject -> gobject-introspection -> host-qemu
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-gobject -> gobject-introspection
depends on BR2_TOOLCHAIN_USES_GLIBC # python-gobject -> gobject-introspection
depends on !BR2_PACKAGE_PYTHON # python3
depends on BR2_PACKAGE_SYSTEMD # runtime
select BR2_PACKAGE_DBUS # dbus-python
select BR2_PACKAGE_DBUS_PYTHON # runtime
select BR2_PACKAGE_PYTHON3 # python-gobject
select BR2_PACKAGE_PYTHON_GOBJECT # runtime
select BR2_PACKAGE_SYSTEMD_NETWORKD # runtime
help
Networkd-dispatcher is a dispatcher daemon for
systemd-networkd connection status changes.
This daemon is similar to NetworkManager-dispatcher,
but is much more limited in the types of events it
supports due to the limited nature of systemd-networkd.
https://gitlab.com/craftyguy/networkd-dispatcher
comment "networkd-dispatcher needs a glibc toolchain, gcc >= 4.9, host gcc >= 8"
depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
depends on BR2_PACKAGE_SYSTEMD
depends on !BR2_PACKAGE_PYTHON
depends on !BR2_HOST_GCC_AT_LEAST_8 || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
!BR2_TOOLCHAIN_USES_GLIBC

View File

@ -0,0 +1,3 @@
# locally computed
sha256 1682c0106d9d2879087612e76aebb87672ebf339c43f229a3ee27dadb428575b networkd-dispatcher-2.1.tar.bz2
sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE

View File

@ -0,0 +1,25 @@
################################################################################
#
# networkd-dispatcher
#
################################################################################
NETWORKD_DISPATCHER_VERSION = 2.1
NETWORKD_DISPATCHER_SOURCE = networkd-dispatcher-$(NETWORKD_DISPATCHER_VERSION).tar.bz2
NETWORKD_DISPATCHER_SITE = https://gitlab.com/craftyguy/networkd-dispatcher/-/archive/$(NETWORKD_DISPATCHER_VERSION)
NETWORKD_DISPATCHER_LICENSE = GPL-3.0
NETWORKD_DISPATCHER_LICENSE_FILES = LICENSE
define NETWORKD_DISPATCHER_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/networkd-dispatcher $(TARGET_DIR)/usr/bin/networkd-dispatcher
mkdir -p $(TARGET_DIR)/etc/networkd-dispatcher/{routable,dormant,no-carrier,off,carrier,degraded,configuring,configured}.d
endef
define NETWORKD_DISPATCHER_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 0644 $(@D)/networkd-dispatcher.service \
$(TARGET_DIR)/usr/lib/systemd/system/networkd-dispatcher.service
$(INSTALL) -D -m 0644 $(@D)/networkd-dispatcher.conf \
$(TARGET_DIR)/etc/conf.d/networkd-dispatcher.conf
endef
$(eval $(generic-package))