summaryrefslogtreecommitdiff
path: root/core/rfkill
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-08-22 00:02:51 +0000
committerroot <root@rshg054.dnsready.net>2012-08-22 00:02:51 +0000
commit297a042ac9a7bbd2b18a9551f5fa4fe43faf53b2 (patch)
tree75290bf7727659568bf50c0446db690d4888d908 /core/rfkill
parenta3669c04838b48b6891b2ffc4b296fa515f8174f (diff)
Wed Aug 22 00:02:51 UTC 2012
Diffstat (limited to 'core/rfkill')
-rw-r--r--core/rfkill/PKGBUILD54
-rw-r--r--core/rfkill/conf.d20
-rwxr-xr-xcore/rfkill/rc.d38
-rw-r--r--core/rfkill/rules.d1
-rw-r--r--core/rfkill/service11
5 files changed, 98 insertions, 26 deletions
diff --git a/core/rfkill/PKGBUILD b/core/rfkill/PKGBUILD
index 64c76c5f7..bf87f9627 100644
--- a/core/rfkill/PKGBUILD
+++ b/core/rfkill/PKGBUILD
@@ -1,37 +1,39 @@
-# $Id: PKGBUILD 156346 2012-04-17 15:19:00Z bisson $
-# Maintainer: Thomas Bächler <thomas@archlinux.org>
+# $Id: PKGBUILD 165479 2012-08-20 14:46:54Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Thomas Bächler <thomas@archlinux.org>
# Contributor: Giovanni Scafora <giovanni@archlinux.org>
pkgname=rfkill
pkgver=0.4
-pkgrel=4
-pkgdesc="A tool for enabling and disabling wireless devices"
-arch=('i686' 'x86_64')
-url="http://linuxwireless.org/en/users/Documentation/rfkill"
+pkgrel=5
+pkgdesc='Tool for enabling and disabling wireless devices'
+url='http://linuxwireless.org/en/users/Documentation/rfkill'
license=('custom')
-source=(http://wireless.kernel.org/download/${pkgname}/${pkgname}-${pkgver}.tar.bz2
- 60-rfkill.rules
- rfkill.conf.d
- rfkill.rc.d)
-backup=(etc/conf.d/rfkill)
-md5sums=('727892c0fb35c80ee3849fbe89b45350'
- '63f9bf9264911242e430867a41e8918c'
- '398e7cadf023e05e3e0c323aa33575b9'
- '793f0510e26547eb2632efce7d16e50e')
+arch=('i686' 'x86_64')
+source=("http://wireless.kernel.org/download/${pkgname}/${pkgname}-${pkgver}.tar.bz2"
+ 'rules.d'
+ 'service'
+ 'conf.d'
+ 'rc.d')
+sha1sums=('fccabf5a272ac2891f24dc35449dc6f4c45ff44b'
+ '6390eaa793b473098aaa11b13c5254d611a4c13a'
+ 'cadc563f967c5ac680e7cdfd764718b412201f8a'
+ 'd969fe927a9fb2926af43a311a7c1fa126fe59a9'
+ '380af0b002f51543557306ed68a27f0059fd5a6f')
+
+backup=('etc/conf.d/rfkill')
build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make
}
package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- # License
- install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
- # Udev rule
- install -Dm644 "${srcdir}/60-rfkill.rules" "${pkgdir}/usr/lib/udev/rules.d/60-rfkill.rules"
- # Init script
- install -Dm644 "${srcdir}/rfkill.conf.d" "${pkgdir}/etc/conf.d/rfkill"
- install -Dm755 "${srcdir}/rfkill.rc.d" "${pkgdir}/etc/rc.d/rfkill"
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+ install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm644 ../rules.d "${pkgdir}/usr/lib/udev/rules.d/60-rfkill.rules"
+ install -Dm644 ../service "${pkgdir}/usr/lib/systemd/system/rfkill.service"
+ install -Dm644 ../conf.d "${pkgdir}/etc/conf.d/rfkill"
+ install -Dm755 ../rc.d "${pkgdir}/etc/rc.d/rfkill"
}
diff --git a/core/rfkill/conf.d b/core/rfkill/conf.d
new file mode 100644
index 000000000..4483da26c
--- /dev/null
+++ b/core/rfkill/conf.d
@@ -0,0 +1,20 @@
+#
+# /etc/conf.d/rfkill
+# Configuration for the rfkill startup script
+#
+
+# List of devices to block on startup (space-separated)
+RFKILL_BLOCK=""
+
+# List of devices to unblock on startup (space-separated)
+RFKILL_UNBLOCK="all"
+
+# Supported device names are: all, wifi, bluetooth, umb, wimax, wwan, gps and specific device names like phy0, hci0, ...
+# See "rfkill list" for available devices
+# Examples:
+#
+# Block all bluetooth devices:
+# RFKILL_BLOCK="bluetooth"
+#
+# Unblock the phy0 wifi device and all wwan devices:
+# RFKILL_UNBLOCK="phy0 wwan"
diff --git a/core/rfkill/rc.d b/core/rfkill/rc.d
new file mode 100755
index 000000000..ce90ee150
--- /dev/null
+++ b/core/rfkill/rc.d
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/rfkill
+
+case "$1" in
+ start)
+ for device in ${RFKILL_BLOCK}; do
+ stat_busy "Blocking rfkill device: ${device}"
+ /usr/sbin/rfkill block ${device}
+ if [ $? -eq 0 ]; then
+ stat_done
+ else
+ stat_fail
+ fi
+ done
+ for device in ${RFKILL_UNBLOCK}; do
+ stat_busy "Unblocking rfkill device: ${device}"
+ /usr/sbin/rfkill unblock ${device}
+ if [ $? -eq 0 ]; then
+ stat_done
+ else
+ stat_fail
+ fi
+ done
+ ;;
+ stop)
+ ;;
+ restart)
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start}"
+ exit 1
+ ;;
+esac
+exit 0
diff --git a/core/rfkill/rules.d b/core/rfkill/rules.d
new file mode 100644
index 000000000..bc98a3bef
--- /dev/null
+++ b/core/rfkill/rules.d
@@ -0,0 +1 @@
+KERNEL=="rfkill", GROUP="rfkill", MODE="0664"
diff --git a/core/rfkill/service b/core/rfkill/service
new file mode 100644
index 000000000..decd5b6fc
--- /dev/null
+++ b/core/rfkill/service
@@ -0,0 +1,11 @@
+[Unit]
+Description=RFKill-Block Selected Devices
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/rfkill block 9999
+ExecStop=/usr/sbin/rfkill unblock all
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target