commit: c0f36e9995b6e07b6691fa0c2d5c3a13223f9815 Author: Hans Fernhout <hfern <AT> fernhout <DOT> info> AuthorDate: Sun May 31 05:27:16 2020 +0000 Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org> CommitDate: Sun May 31 05:29:36 2020 +0000 URL: https://gitweb.gentoo.org/proj/netifrc.git/commit/?id=c0f36e99
net/iwd: add iwd helper Bug: https://bugs.gentoo.org/690808 Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org> net/iwd.sh | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/net/iwd.sh b/net/iwd.sh new file mode 100644 index 0000000..afb5b22 --- /dev/null +++ b/net/iwd.sh @@ -0,0 +1,53 @@ +# Original copyright (c) 2007-2009 Roy Marples <[email protected]> +# Released under the 2-clause BSD license. + +iwd_depend() +{ + need dbus + after macnet plug + before interface + provide wireless + after iwconfig +} + +_config_vars="$_config_vars iwd" + +iwd_pre_start() +{ + local iwds=/usr/libexec/iwd + local args= opt= opts= + eval opts=\$iwd_${IFVAR} + + #set a "safe" default in case phy was not defined + PHY="phy0" + + for opt in ${opts}; do + case "${opt}" in + phy* ) PHY="${opt}" + einfo "Assigned PHY to be ${PHY}" + ;; + * ) ;; + esac + done + ebegin "Starting iwd on ${PHY} and ${IFVAR}" + pidfile="/run/iwd-${IFVAR}.pid" + start-stop-daemon --start --exec "${iwds}" --pidfile "${pidfile}" --background --verbose --make-pidfile -- -p ${PHY} -i "${IFVAR}" + return $? +} + + +iwd_post_stop() +{ + local iwds=/usr/libexec/iwd + pidfile="/run/iwd-${IFVAR}.pid" + if [ -f ${pidfile} ]; then + ebegin "Stopping iwd on ${IFACE}" + start-stop-daemon --stop --exec "${iwds}" --pidfile "${pidfile}" + eend $? + fi + + # If iwd exits uncleanly, we need to remove the stale dir + [ -S "/run/iwd/${IFACE}" ] \ + && rm -f "/run/iwd/${IFACE}" +} +
