From patchwork Fri Apr 16 10:34:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Nosthoff X-Patchwork-Id: 1466998 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=2605:bc80:3010::138; helo=smtp1.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=heine.tech header.i=@heine.tech header.a=rsa-sha256 header.s=dkim header.b=CBbaUH2b; dkim-atps=neutral Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FMCK54dsQz9sVv for ; Fri, 16 Apr 2021 20:35:19 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id E4B54846C6; Fri, 16 Apr 2021 10:35:12 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DmS0YX5wsfUm; Fri, 16 Apr 2021 10:35:11 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp1.osuosl.org (Postfix) with ESMTP id 30EF6846FF; Fri, 16 Apr 2021 10:35:10 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 64DBC1BF2FA for ; Fri, 16 Apr 2021 10:35:08 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 542E14028F for ; Fri, 16 Apr 2021 10:35:08 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp2.osuosl.org (amavisd-new); dkim=pass (1024-bit key) header.d=heine.tech Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mrbLvusGkODH for ; Fri, 16 Apr 2021 10:35:04 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.8.0 Received: from mail.heine.tech (mail.heine.tech [IPv6:2a01:4f8:1c0c:5073::1]) by smtp2.osuosl.org (Postfix) with ESMTPS id 289C24012F for ; Fri, 16 Apr 2021 10:35:04 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 016911814B9; Fri, 16 Apr 2021 12:34:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=heine.tech; s=dkim; t=1618569298; h=from:subject:date:message-id:to:cc:mime-version: content-transfer-encoding:in-reply-to:references; bh=0rDAqNz/3DEr4vHWRzK3bAhQvZnZxzXqbVC20qE5DCo=; b=CBbaUH2bbL4WZLG9NHCDhr8rF44P2F+2DhDHLZ2rY7WinzPZPW6Qgb/V/1a55H42+/AvLS XotrPOdqyjx7UznxhX4nJoKwaAwTAg80ObsSkzy432Kv5IRobWpVSpC/q251kdMTB6BtmE dbIM9tKpHlhu/3A84IXLf2Kc38tggPQ= To: buildroot@buildroot.org Date: Fri, 16 Apr 2021 12:34:47 +0200 Message-Id: <20210416103448.154784-1-buildroot@heine.tech> In-Reply-To: <20200909114830.2284662-1-buildroot@heine.tech> References: <20200909114830.2284662-1-buildroot@heine.tech> MIME-Version: 1.0 X-Last-TLS-Session-Version: TLSv1.3 Subject: [Buildroot] [PATCH v4] package/networkd-dispatcher: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Michael Nosthoff via buildroot Reply-To: Michael Nosthoff Cc: Michael Nosthoff , Thomas Petazzoni Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" 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. Signed-off-by: Michael Nosthoff --- Changes v1 -> v2 - add .hash file - use tabs for DEVELOPERS indentation v2 -> v3 - bump version to 2.1 (fixes an issue with systemd 246) - resolve merge conflict in DEVELOPERS v3 -> v4 - adjust to changed dependencies of python-gobject - removed dependencies already covered by depends on BR2_PACKAGE_DBUS - sorted dependencies - resolve merge conflict in DEVELOPERS --- DEVELOPERS | 1 + package/Config.in | 1 + package/networkd-dispatcher/Config.in | 19 ++++++++++++++ .../networkd-dispatcher.hash | 3 +++ .../networkd-dispatcher.mk | 25 +++++++++++++++++++ 5 files changed, 49 insertions(+) create mode 100644 package/networkd-dispatcher/Config.in create mode 100644 package/networkd-dispatcher/networkd-dispatcher.hash create mode 100644 package/networkd-dispatcher/networkd-dispatcher.mk diff --git a/DEVELOPERS b/DEVELOPERS index 9390daa2fa..ec32523e3d 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1886,6 +1886,7 @@ N: Michael Nosthoff F: package/grpc/ F: package/gtest/ F: package/libabseil-cpp/ +F: package/networkd-dispatcher/ F: package/protobuf/ F: package/re2/ diff --git a/package/Config.in b/package/Config.in index 0d7cb0f446..e12879f43d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -2204,6 +2204,7 @@ menu "Networking applications" 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" diff --git a/package/networkd-dispatcher/Config.in b/package/networkd-dispatcher/Config.in new file mode 100644 index 0000000000..3ddcd4b7a6 --- /dev/null +++ b/package/networkd-dispatcher/Config.in @@ -0,0 +1,19 @@ +config BR2_PACKAGE_NETWORKD_DISPATCHER + bool "networkd-dispatcher" + depends on BR2_USE_WCHAR # dbus-python + depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # python-gobject + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-gobject + depends on BR2_TOOLCHAIN_USES_GLIBC # python-gobject + depends on BR2_PACKAGE_DBUS # dbus-python + depends on BR2_PACKAGE_PYTHON3 # runtime, python-gobject + depends on BR2_PACKAGE_SYSTEMD_NETWORKD # runtime + select BR2_PACKAGE_DBUS_PYTHON + select BR2_PACKAGE_PYTHON_GOBJECT + 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 diff --git a/package/networkd-dispatcher/networkd-dispatcher.hash b/package/networkd-dispatcher/networkd-dispatcher.hash new file mode 100644 index 0000000000..ca7c300783 --- /dev/null +++ b/package/networkd-dispatcher/networkd-dispatcher.hash @@ -0,0 +1,3 @@ +# locally computed +sha256 1682c0106d9d2879087612e76aebb87672ebf339c43f229a3ee27dadb428575b networkd-dispatcher-2.1.tar.bz2 +sha256 589ed823e9a84c56feb95ac58e7cf384626b9cbf4fda2a907bc36e103de1bad2 LICENSE diff --git a/package/networkd-dispatcher/networkd-dispatcher.mk b/package/networkd-dispatcher/networkd-dispatcher.mk new file mode 100644 index 0000000000..4f609db73a --- /dev/null +++ b/package/networkd-dispatcher/networkd-dispatcher.mk @@ -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))