From e618fdf22cf9abbc12901ec2535096a13bb378cb Mon Sep 17 00:00:00 2001 From: Sertonix Date: Tue, 12 Dec 2023 12:01:02 +0100 Subject: [PATCH] testing/eiwd: modernize based on iwd aport --- .../eiwd/0001-resolving-service-none.patch | 37 +++++++++++++++++++ testing/eiwd/APKBUILD | 11 +++--- testing/eiwd/eiwd.confd | 24 ++++++++++++ testing/eiwd/eiwd.initd | 19 ++++++++-- testing/eiwd/eiwd.post-upgrade | 6 --- 5 files changed, 83 insertions(+), 14 deletions(-) create mode 100644 testing/eiwd/0001-resolving-service-none.patch create mode 100644 testing/eiwd/eiwd.confd delete mode 100644 testing/eiwd/eiwd.post-upgrade diff --git a/testing/eiwd/0001-resolving-service-none.patch b/testing/eiwd/0001-resolving-service-none.patch new file mode 100644 index 00000000000..09851a53e95 --- /dev/null +++ b/testing/eiwd/0001-resolving-service-none.patch @@ -0,0 +1,37 @@ +--- a/src/resolve.c ++++ b/src/resolve.c +@@ -621,7 +621,7 @@ static int resolve_init(void) + method_name = l_settings_get_value(iwd_get_config(), "Network", + "NameResolvingService"); + if (!method_name) +- method_name = "resolvconf"; ++ method_name = "none"; + + for (i = 0; resolve_method_ops_list[i].name; i++) { + if (strcmp(resolve_method_ops_list[i].name, method_name)) +--- a/src/iwd.config.rst ++++ b/src/iwd.config.rst +@@ -226,7 +226,7 @@ The group ``[Network]`` contains network + by default. This setting can also be overridden on a per-network basis. + + * - NameResolvingService +- - Values: resolvconf, **systemd**, none ++ - Values: resolvconf, systemd, **none** + + Configures a DNS resolution method used by the system. + +@@ -234,10 +234,11 @@ The group ``[Network]`` contains network + ``EnableNetworkConfiguration`` and provides the choice of system + resolver integration. + +- If not specified, ``systemd`` is used as default. ++ If not specified, ``none`` is used as default and DNS and domain name ++ information is ignored. + +- If ``none`` is specified, then DNS and domain name information is +- ignored. ++ In Alpine Linux, ``resolvconf`` requires the openresolv aport to be ++ installed. + + * - RoutePriorityOffset + - Values: uint32 value (default: **300**) diff --git a/testing/eiwd/APKBUILD b/testing/eiwd/APKBUILD index d2958685a05..013157aade6 100644 --- a/testing/eiwd/APKBUILD +++ b/testing/eiwd/APKBUILD @@ -3,7 +3,7 @@ pkgname=eiwd _realpkgname=iwd pkgver=2.14 -pkgrel=0 +pkgrel=1 pkgdesc="Internet Wireless Daemon without dbus" url="https://github.com/illiliti/eiwd" arch="all" @@ -11,12 +11,13 @@ license="LGPL-2.1-or-later" depends="!iwd" replaces="iwd" options="!check" # doesn't work because of eapol issue -makedepends="linux-headers autoconf automake libtool coreutils" +makedepends="linux-headers readline-dev" +checkdepends="coreutils" subpackages="$pkgname-doc $pkgname-openrc" source="https://github.com/illiliti/eiwd/releases/download/$pkgver-1/iwd-$pkgver.tar.xz + 0001-resolving-service-none.patch eiwd.initd main.conf - eiwd.post-upgrade iwd_passphrase " builddir="$srcdir/iwd-$pkgver" @@ -51,8 +52,8 @@ package() { sha512sums=" e561f47c3aabcc50a4526f202f29d2cca8972f9c0d9d338aa299a42e886d7efbc9d0b1e5a1fb5da0419ead550486545d42d362c1671958cc6ff327eb00120737 iwd-2.14.tar.xz -cf4eca6baaf75cf345a4f8f13d27da65780ad67b64aa42b89b45199279b1ef794af0d28df952530bb7816ff2903801973f0592e8edc42ec221e6b49c7738edec eiwd.initd +aff4cd6bf4ae72aa64f9f5485bd310633f5219eb71532a8c0fa9a05abaaf50f7636a70a63e533370cd12a702854340e18b27b0537b26ead846fa9c351ec03b42 0001-resolving-service-none.patch +b78d19f5a3ef5f12d33b4fab11ed348b1b2fe309310c33fe278d302cadf065dba72c13214bd760576ecb47f6681d012adcb4997e17a75778d41e3c4fd6a0eb01 eiwd.initd 33517c2c72c43440ed2e68e53bb937d7d557efdf19a6f7fa9cceb87be4b64499f8b9bd6f981f5e413dc3d724eb13ec08b50a129dd81cf64872c362fc5e1d1321 main.conf -414cb08e01735a66dfb57eac7f308ce75f8f7adf679c5e38418293a0acb2398f9b4df4dd50a6756e48eb03b86de1546e2f852a28677842f2c453a0db86d49f71 eiwd.post-upgrade 06d0258e9e4d13a5cd7cb47cc30c122e2ea950c84b18352fef4982bef41961295316de396b7e6d0a33b949436da40d08fdd76230c7c228d8bdd0e33751cad26c iwd_passphrase " diff --git a/testing/eiwd/eiwd.confd b/testing/eiwd/eiwd.confd new file mode 100644 index 00000000000..bf771adcd3a --- /dev/null +++ b/testing/eiwd/eiwd.confd @@ -0,0 +1,24 @@ +# Configuration for /etc/init.d/eiwd + +# A comma-separated list of patterns specifying the network interfaces that +# eiwd is allowed to manage. Defaults to any wireless interfaces. +#allowed_interfaces= + +# A comma-separated list of patterns specifying the network interfaces that +# eiwd should ignore. +#ignored_interfaces= + +# Extra options for eiwd(8). +#command_args= + +# Log messages are redirected to syslog. Set to empty string to disable. +#error_logger="logger -t eiwd -p daemon.info >/dev/null 2>&1" + +# Number of milliseconds to wait after starting and check that daemon is +# still running. Set to empty string to disable. +# NOTE: If you use eiwd together with ConnMan and ConnMan crashes when started +# right after eiwd, increase this period to e.g. 200 ms. +#start_wait=50 + +# Uncomment to use process supervisor. +# supervisor="supervise-daemon" diff --git a/testing/eiwd/eiwd.initd b/testing/eiwd/eiwd.initd index e59417c911e..b72f5e8583f 100644 --- a/testing/eiwd/eiwd.initd +++ b/testing/eiwd/eiwd.initd @@ -1,12 +1,25 @@ #!/sbin/openrc-run -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -pidfile="/run/iwd.pid" +description="iNet wireless daemon without dbus" + +: ${error_logger="logger -t eiwd -p daemon.info >/dev/null 2>&1"} +: ${start_wait=50} # milliseconds + command="/usr/libexec/iwd" command_background="yes" +command_args=" + ${allowed_interfaces:+"--interfaces \"$allowed_interfaces\""} + ${ignored_interfaces:+"--nointerfaces \"$ignored_interfaces\""} + ${command_args:-} + " +start_stop_daemon_args=" + ${start_wait:+--wait $start_wait} + ${start_stop_daemon_args:-} + " +pidfile="/run/iwd.pid" depend() { before net keyword -shutdown + provide wlan } diff --git a/testing/eiwd/eiwd.post-upgrade b/testing/eiwd/eiwd.post-upgrade deleted file mode 100644 index ec087304ac0..00000000000 --- a/testing/eiwd/eiwd.post-upgrade +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -if [ -f /etc/iwd/main.conf ]; then - sed -i -e s/enable_network_config=True/EnableNetworkConfiguration=True/ /etc/iwd/main.conf - sed -i -e s/resolve_method=resolvconf/NameResolvingService=resolvconf/ /etc/iwd/main.conf -fi