All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v4 1/2] package/iwd: add basic configuration file
@ 2020-06-16  6:34 Peter Seiderer
  2020-06-16  6:34 ` [Buildroot] [PATCH v4 2/2] package/iwd: add sysv init script Peter Seiderer
  2020-06-17 19:59 ` [Buildroot] [PATCH v4 1/2] package/iwd: add basic configuration file Thomas Petazzoni
  0 siblings, 2 replies; 4+ messages in thread
From: Peter Seiderer @ 2020-06-16  6:34 UTC (permalink / raw)
  To: buildroot

Add basic /etc/iwd/main.conf configuration file to enable
network configuration (use built-in dhcp client).

For the non systemd-resolved case select the openresolv package
to fulfill the iwd resolvconf requirement (and adjust the
configuration file accordingly).

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
  - use printf insteadof echo (Yann E. MORIN)

Changes v2 -> v3:
  - select openresolv in all cases but systemd-resloved is enabled
  - enable NameResolvingService=systemd in the configuration file only in
    case of systemd-resloved is enabled, enable NameResolvingService=resolvconf
    in the configuration file otherwise

Changes v3 -> v4:
  - cleanup echo/print vs. printf mess (Baruch Siach)
---
 package/iwd/Config.in |  1 +
 package/iwd/iwd.mk    | 21 +++++++++++++++++++++
 package/iwd/main.conf |  3 +++
 3 files changed, 25 insertions(+)
 create mode 100644 package/iwd/main.conf

diff --git a/package/iwd/Config.in b/package/iwd/Config.in
index ec53d13047..4e85fb4fd7 100644
--- a/package/iwd/Config.in
+++ b/package/iwd/Config.in
@@ -8,6 +8,7 @@ config BR2_PACKAGE_IWD
 	depends on BR2_USE_WCHAR # ell
 	select BR2_PACKAGE_DBUS # runtime
 	select BR2_PACKAGE_ELL
+	select BR2_PACKAGE_OPENRESOLV if !BR2_PACKAGE_SYSTEMD_RESOLVED
 	help
 	  iNet Wireless daemon (iwd)
 
diff --git a/package/iwd/iwd.mk b/package/iwd/iwd.mk
index 32ff175933..6e4044379d 100644
--- a/package/iwd/iwd.mk
+++ b/package/iwd/iwd.mk
@@ -46,4 +46,25 @@ else
 IWD_CONF_OPTS += --disable-systemd-service
 endif
 
+define IWD_INSTALL_CONFIG_FILE
+	mkdir -p $(TARGET_DIR)/etc/iwd
+	$(INSTALL) -m 644 package/iwd/main.conf $(TARGET_DIR)/etc/iwd/main.conf
+endef
+
+ifeq ($(BR2_PACKAGE_SYSTEMD_RESOLVED),y)
+define IWD_CONFIG_FILE_NAME_RESOLV_SERVICE
+	printf "[Network]\nNameResolvingService=systemd\n" \
+		>> $(TARGET_DIR)/etc/iwd/main.conf
+endef
+else
+define IWD_CONFIG_FILE_NAME_RESOLV_SERVICE
+	printf "[Network]\nNameResolvingService=resolvconf\n" \
+		>> $(TARGET_DIR)/etc/iwd/main.conf
+endef
+endif
+
+IWD_POST_INSTALL_TARGET_HOOKS += \
+	IWD_INSTALL_CONFIG_FILE \
+	IWD_CONFIG_FILE_NAME_RESOLV_SERVICE
+
 $(eval $(autotools-package))
diff --git a/package/iwd/main.conf b/package/iwd/main.conf
new file mode 100644
index 0000000000..c26a50d302
--- /dev/null
+++ b/package/iwd/main.conf
@@ -0,0 +1,3 @@
+# use built-in dhcp client
+[General]
+EnableNetworkConfiguration=true
-- 
2.27.0

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

* [Buildroot] [PATCH v4 2/2] package/iwd: add sysv init script
  2020-06-16  6:34 [Buildroot] [PATCH v4 1/2] package/iwd: add basic configuration file Peter Seiderer
@ 2020-06-16  6:34 ` Peter Seiderer
  2020-06-17 19:59   ` Thomas Petazzoni
  2020-06-17 19:59 ` [Buildroot] [PATCH v4 1/2] package/iwd: add basic configuration file Thomas Petazzoni
  1 sibling, 1 reply; 4+ messages in thread
From: Peter Seiderer @ 2020-06-16  6:34 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
Changes v1 -> v2:
  - use start-stop-daemon (Yann E. MORIN)

Changes v2 -> v3:
  - no changes

Changes v3 -> v4:
  - no changes
---
 package/iwd/S40iwd | 42 ++++++++++++++++++++++++++++++++++++++++++
 package/iwd/iwd.mk |  7 +++++++
 2 files changed, 49 insertions(+)
 create mode 100644 package/iwd/S40iwd

diff --git a/package/iwd/S40iwd b/package/iwd/S40iwd
new file mode 100644
index 0000000000..6714ca9956
--- /dev/null
+++ b/package/iwd/S40iwd
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+DAEMON="/usr/libexec/iwd"
+PIDFILE="/var/run/iwd.pid"
+
+IWD_ARGS=""
+
+[ -r "/etc/default/iwd" ] && . "/etc/default/iwd"
+
+start() {
+	printf "Starting iwd:"
+	mkdir -p /tmp/iwd/hotspot
+	start-stop-daemon -b -m -S -q -p "$PIDFILE" -x "$DAEMON" \
+		-- $IWD_ARGS
+	status=$?
+	if [ "$status" -eq 0 ]; then
+		echo "OK"
+	else
+		echo "FAIL"
+	fi
+	return "$status"
+}
+
+stop() {
+	printf "Stopping iwd:"
+	start-stop-daemon -K -q -p "$PIDFILE"
+	status=$?
+	if [ "$status" -eq 0 ]; then
+		echo "OK"
+	else
+		echo "FAIL"
+	fi
+	return "$status"
+}
+
+case "$1" in
+	start|stop)
+		"$1";;
+	*)
+		echo "Usage: $0 {start|stop}"
+		exit 1
+esac
diff --git a/package/iwd/iwd.mk b/package/iwd/iwd.mk
index 6e4044379d..6b917870ef 100644
--- a/package/iwd/iwd.mk
+++ b/package/iwd/iwd.mk
@@ -67,4 +67,11 @@ IWD_POST_INSTALL_TARGET_HOOKS += \
 	IWD_INSTALL_CONFIG_FILE \
 	IWD_CONFIG_FILE_NAME_RESOLV_SERVICE
 
+define IWD_INSTALL_INIT_SYSV
+	$(INSTALL) -m 0755 -D package/iwd/S40iwd \
+		$(TARGET_DIR)/etc/init.d/S40iwd
+	mkdir -p $(TARGET_DIR)/var/lib/iwd
+	ln -sf /tmp/iwd/hotspot $(TARGET_DIR)/var/lib/iwd/hotspot
+endef
+
 $(eval $(autotools-package))
-- 
2.27.0

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

* [Buildroot] [PATCH v4 1/2] package/iwd: add basic configuration file
  2020-06-16  6:34 [Buildroot] [PATCH v4 1/2] package/iwd: add basic configuration file Peter Seiderer
  2020-06-16  6:34 ` [Buildroot] [PATCH v4 2/2] package/iwd: add sysv init script Peter Seiderer
@ 2020-06-17 19:59 ` Thomas Petazzoni
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2020-06-17 19:59 UTC (permalink / raw)
  To: buildroot

On Tue, 16 Jun 2020 08:34:30 +0200
Peter Seiderer <ps.report@gmx.net> wrote:

> Add basic /etc/iwd/main.conf configuration file to enable
> network configuration (use built-in dhcp client).
> 
> For the non systemd-resolved case select the openresolv package
> to fulfill the iwd resolvconf requirement (and adjust the
> configuration file accordingly).
> 
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>

I've applied, but I found things a bit too complicated, so I did some
simplifications.

> +define IWD_INSTALL_CONFIG_FILE
> +	mkdir -p $(TARGET_DIR)/etc/iwd

This is not needed if you use the -D option in $(INSTALL)

> +	$(INSTALL) -m 644 package/iwd/main.conf $(TARGET_DIR)/etc/iwd/main.conf
> +endef
> +
> +ifeq ($(BR2_PACKAGE_SYSTEMD_RESOLVED),y)
> +define IWD_CONFIG_FILE_NAME_RESOLV_SERVICE
> +	printf "[Network]\nNameResolvingService=systemd\n" \
> +		>> $(TARGET_DIR)/etc/iwd/main.conf
> +endef
> +else
> +define IWD_CONFIG_FILE_NAME_RESOLV_SERVICE
> +	printf "[Network]\nNameResolvingService=resolvconf\n" \
> +		>> $(TARGET_DIR)/etc/iwd/main.conf
> +endef
> +endif
> +
> +IWD_POST_INSTALL_TARGET_HOOKS += \
> +	IWD_INSTALL_CONFIG_FILE \
> +	IWD_CONFIG_FILE_NAME_RESOLV_SERVICE

This felt too complicated. I simplified like this:

ifeq ($(BR2_PACKAGE_SYSTEMD_RESOLVED),y)
IWD_RESOLV_SERVICE = systemd
else
IWD_RESOLV_SERVICE = resolvconf
endif

define IWD_INSTALL_CONFIG_FILE
	$(INSTALL) -D -m 644 package/iwd/main.conf $(TARGET_DIR)/etc/iwd/main.conf
	$(SED) 's,__RESOLV_SERVICE__,$(IWD_RESOLV_SERVICE),' $(TARGET_DIR)/etc/iwd/main.conf
endef

IWD_POST_INSTALL_TARGET_HOOKS += IWD_INSTALL_CONFIG_FILE

with of course main.conf containing:

# use built-in dhcp client
[General]
EnableNetworkConfiguration=true
[Network]
NameResolvingService=__RESOLV_SERVICE__

Applied with those changes. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH v4 2/2] package/iwd: add sysv init script
  2020-06-16  6:34 ` [Buildroot] [PATCH v4 2/2] package/iwd: add sysv init script Peter Seiderer
@ 2020-06-17 19:59   ` Thomas Petazzoni
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2020-06-17 19:59 UTC (permalink / raw)
  To: buildroot

On Tue, 16 Jun 2020 08:34:31 +0200
Peter Seiderer <ps.report@gmx.net> wrote:

> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v1 -> v2:
>   - use start-stop-daemon (Yann E. MORIN)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

end of thread, other threads:[~2020-06-17 19:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-06-16  6:34 [Buildroot] [PATCH v4 1/2] package/iwd: add basic configuration file Peter Seiderer
2020-06-16  6:34 ` [Buildroot] [PATCH v4 2/2] package/iwd: add sysv init script Peter Seiderer
2020-06-17 19:59   ` Thomas Petazzoni
2020-06-17 19:59 ` [Buildroot] [PATCH v4 1/2] package/iwd: add basic configuration file Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.