summaryrefslogtreecommitdiff
path: root/nonsystemd
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd')
-rw-r--r--nonsystemd/wpa_supplicant-openrc/PKGBUILD29
-rw-r--r--nonsystemd/wpa_supplicant-openrc/wpa_cli.sh46
-rw-r--r--nonsystemd/wpa_supplicant-openrc/wpa_supplicant.confd10
-rw-r--r--nonsystemd/wpa_supplicant-openrc/wpa_supplicant.initd70
4 files changed, 155 insertions, 0 deletions
diff --git a/nonsystemd/wpa_supplicant-openrc/PKGBUILD b/nonsystemd/wpa_supplicant-openrc/PKGBUILD
new file mode 100644
index 000000000..042de615c
--- /dev/null
+++ b/nonsystemd/wpa_supplicant-openrc/PKGBUILD
@@ -0,0 +1,29 @@
+# Maintainer: artoo <artoo@artixlinux.org>
+
+pkgname=wpa_supplicant-openrc
+pkgver=20210505
+pkgrel=1
+pkgdesc="OpenRC wpa_supplicant init script"
+arch=('any')
+url="https://gitea.artixlinux.org/artixlinux/packages-openrc"
+license=('GPL2')
+groups=('openrc-system')
+provides=('init-wpa_supplicant')
+depends=('openrc' 'wpa_supplicant')
+conflicts=('init-wpa_supplicant')
+backup=('etc/conf.d/wpa_supplicant')
+source=("wpa_supplicant.confd"
+ "wpa_supplicant.initd"
+ "wpa_cli.sh")
+sha256sums=('27833f60a091464612e74e6171cc98c3e3f994e2fde0ccc4535dd0d84ed041fa'
+ '7789b54cabb7317d9368531f4832ae7b256e26ce0e5ac7ab8d0a251ade18342a'
+ '300d0b54280c2582e74f78087edad3b0da19b9e4e0440f7f320f523a46da8373')
+
+package() {
+ install -Dm755 "${srcdir}"/wpa_supplicant.initd "${pkgdir}"/etc/init.d/wpa_supplicant
+ install -Dm644 "${srcdir}"/wpa_supplicant.confd "${pkgdir}"/etc/conf.d/wpa_supplicant
+
+ install -Dm755 "${srcdir}"/wpa_cli.sh "${pkgdir}"/etc/wpa_supplicant/wpa_cli.sh
+}
+
+
diff --git a/nonsystemd/wpa_supplicant-openrc/wpa_cli.sh b/nonsystemd/wpa_supplicant-openrc/wpa_cli.sh
new file mode 100644
index 000000000..a60a13c4f
--- /dev/null
+++ b/nonsystemd/wpa_supplicant-openrc/wpa_cli.sh
@@ -0,0 +1,46 @@
+#!/bin/sh
+# Copyright 1999-2011 Gentoo Foundation
+# Written by Roy Marples <uberlord@gentoo.org>
+# Distributed under the terms of the GNU General Public License v2
+# Alternatively, this file may be distributed under the terms of the BSD License
+
+if [ -z "$1" -o -z "$2" ]; then
+ logger -t wpa_cli "Insufficient parameters"
+ exit 1
+fi
+
+INTERFACE="$1"
+ACTION="$2"
+
+# Note, the below action must NOT mark the interface down via ifconfig, ip or
+# similar. Addresses can be removed, changed and daemons can be stopped, but
+# the interface must remain up for wpa_supplicant to work.
+
+if [ -f /etc/parabola-release ]; then
+ EXEC="/etc/init.d/net.${INTERFACE} --quiet"
+else
+ logger -t wpa_cli "I don't know what to do with this distro!"
+ exit 1
+fi
+
+case ${ACTION} in
+ CONNECTED)
+ EXEC="${EXEC} start"
+ ;;
+ DISCONNECTED)
+ # Deactivated, since stopping /etc/init.d/net.wlanX
+ # stops the network completly.
+ EXEC="false ${EXEC} stop"
+ ;;
+ *)
+ logger -t wpa_cli "Unknown action ${ACTION}"
+ exit 1
+ ;;
+esac
+
+# ${EXEC} can use ${IN_BACKGROUND} so that it knows that the user isn't
+# stopping the interface and a background process - like wpa_cli - is.
+export IN_BACKGROUND=true
+
+logger -t wpa_cli "interface ${INTERFACE} ${ACTION}"
+${EXEC} || logger -t wpa_cli "executing '${EXEC}' failed"
diff --git a/nonsystemd/wpa_supplicant-openrc/wpa_supplicant.confd b/nonsystemd/wpa_supplicant-openrc/wpa_supplicant.confd
new file mode 100644
index 000000000..5381c8c74
--- /dev/null
+++ b/nonsystemd/wpa_supplicant-openrc/wpa_supplicant.confd
@@ -0,0 +1,10 @@
+# conf.d file for wpa_supplicant
+
+# uncomment this if wpa_supplicant starts up before your network interface
+# is ready and it causes issues
+# rc_want="dev-settle"
+
+# Please check man 8 wpa_supplicant for more information about the options
+# wpa_supplicant accepts.
+#
+wpa_supplicant_args=""
diff --git a/nonsystemd/wpa_supplicant-openrc/wpa_supplicant.initd b/nonsystemd/wpa_supplicant-openrc/wpa_supplicant.initd
new file mode 100644
index 000000000..1e107c6c6
--- /dev/null
+++ b/nonsystemd/wpa_supplicant-openrc/wpa_supplicant.initd
@@ -0,0 +1,70 @@
+#!/usr/bin/openrc-run
+# Copyright (c) 2009 Roy Marples <roy@marples.name>
+# All rights reserved. Released under the 2-clause BSD license.
+
+command=/usr/bin/wpa_supplicant
+: ${wpa_supplicant_conf:=/etc/wpa_supplicant/wpa_supplicant.conf}
+wpa_supplicant_if=${wpa_supplicant_if:+-i}$wpa_supplicant_if
+command_args="$wpa_supplicant_args -B -c$wpa_supplicant_conf $wpa_supplicant_if"
+name="WPA Supplicant Daemon"
+
+depend()
+{
+ need localmount
+ use logger
+ after bootmisc modules
+ before dns dhcpcd net
+ keyword -shutdown
+}
+
+find_wireless()
+{
+ local iface=
+
+ case "$RC_UNAME" in
+ Linux)
+ for iface in /sys/class/net/*; do
+ if [ -e "$iface"/wireless -o \
+ -e "$iface"/phy80211 ]
+ then
+ echo "${iface##*/}"
+ return 0
+ fi
+ done
+ ;;
+ *)
+ for iface in /dev/net/* $(ifconfig -l 2>/dev/null); do
+ if ifconfig "${iface##*/}" 2>/dev/null | \
+ grep -q "[ ]*ssid "
+ then
+ echo "${iface##*/}"
+ return 0
+ fi
+ done
+ ;;
+ esac
+
+ return 1
+}
+
+append_wireless()
+{
+ local iface= i=
+
+ iface=$(find_wireless)
+ if [ -n "$iface" ]; then
+ for i in $iface; do
+ command_args="$command_args -i$i"
+ done
+ else
+ eerror "Could not find a wireless interface"
+ fi
+}
+
+start_pre()
+{
+ case " $command_args" in
+ *" -i"*) ;;
+ *) append_wireless;;
+ esac
+}