Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5] package/networkd-dispatcher: new package
@ 2022-01-10 18:51 Michael Nosthoff via buildroot
  2022-01-12 20:24 ` Arnout Vandecappelle
  0 siblings, 1 reply; 2+ messages in thread
From: Michael Nosthoff via buildroot @ 2022-01-10 18:51 UTC (permalink / raw)
  To: buildroot; +Cc: Michael Nosthoff via buildroot, Thomas Petazzoni

From: Michael Nosthoff via buildroot <buildroot@busybox.net>

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 <buildroot@heine.tech>
---

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

v4 -> v5
  - update dependencies of gobject-introspection
---
 DEVELOPERS                                    |  1 +
 package/Config.in                             |  1 +
 package/networkd-dispatcher/Config.in         | 21 ++++++++++++++++
 .../networkd-dispatcher.hash                  |  3 +++
 .../networkd-dispatcher.mk                    | 25 +++++++++++++++++++
 5 files changed, 51 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 12777e8d61..4b65d219c9 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1991,6 +1991,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/
 
diff --git a/package/Config.in b/package/Config.in
index 3a2ad30df9..23264afd9d 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2294,6 +2294,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"
diff --git a/package/networkd-dispatcher/Config.in b/package/networkd-dispatcher/Config.in
new file mode 100644
index 0000000000..1dfa12ba45
--- /dev/null
+++ b/package/networkd-dispatcher/Config.in
@@ -0,0 +1,21 @@
+config BR2_PACKAGE_NETWORKD_DISPATCHER
+	bool "networkd-dispatcher"
+	depends on BR2_USE_WCHAR # dbus-python -> glib2
+	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # python-gobject -> gobject-introspection
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-gobject -> gobject-introspection
+	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-python -> glib2
+	depends on BR2_HOST_GCC_AT_LEAST_8 # python-gobject -> gobject-introspection -> host-qemu
+	depends on BR2_TOOLCHAIN_USES_GLIBC # python-gobject -> gobject-introspection
+	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))
-- 
2.25.1

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Buildroot] [PATCH v5] package/networkd-dispatcher: new package
  2022-01-10 18:51 [Buildroot] [PATCH v5] package/networkd-dispatcher: new package Michael Nosthoff via buildroot
@ 2022-01-12 20:24 ` Arnout Vandecappelle
  0 siblings, 0 replies; 2+ messages in thread
From: Arnout Vandecappelle @ 2022-01-12 20:24 UTC (permalink / raw)
  To: Michael Nosthoff, buildroot
  Cc: Michael Nosthoff via buildroot, Thomas Petazzoni



On 10/01/2022 19:51, Michael Nosthoff via buildroot wrote:
> From: Michael Nosthoff via buildroot <buildroot@busybox.net>
> 
> 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 <buildroot@heine.tech>

  Applied to master, thanks.

  I reworked the Config.in quite a lot, it's a complicated one!

[snip]
> diff --git a/package/networkd-dispatcher/Config.in b/package/networkd-dispatcher/Config.in
> new file mode 100644
> index 0000000000..1dfa12ba45
> --- /dev/null
> +++ b/package/networkd-dispatcher/Config.in
> @@ -0,0 +1,21 @@
> +config BR2_PACKAGE_NETWORKD_DISPATCHER
> +	bool "networkd-dispatcher"
> +	depends on BR2_USE_WCHAR # dbus-python -> glib2
> +	depends on BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS # python-gobject -> gobject-introspection
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # python-gobject -> gobject-introspection
> +	depends on BR2_TOOLCHAIN_HAS_THREADS # dbus-python -> glib2
> +	depends on BR2_HOST_GCC_AT_LEAST_8 # python-gobject -> gobject-introspection -> host-qemu
> +	depends on BR2_TOOLCHAIN_USES_GLIBC # python-gobject -> gobject-introspection
> +	depends on BR2_PACKAGE_DBUS # dbus-python

  dbus-python depends on dbus instead of selecting it because it's a suboption 
of dbus (though actually implemented in a separate package, which is not really 
relevant for the user). So here we should instead select dbus.

> +	depends on BR2_PACKAGE_PYTHON3 # runtime, python-gobject

  Since this is not a python package, but just a tool that happens to be 
implemented in python, python3 should be selected instead of depended upon.

> +	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

  There should be a comment for the dependencies. Because it become quite 
complicated, I removed all the dependencies that are implicit from glibc.

  Regards,
  Arnout

> 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))
> 
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-12 20:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-10 18:51 [Buildroot] [PATCH v5] package/networkd-dispatcher: new package Michael Nosthoff via buildroot
2022-01-12 20:24 ` Arnout Vandecappelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox