summaryrefslogtreecommitdiffstats
path: root/source/xap
diff options
context:
space:
mode:
Diffstat (limited to 'source/xap')
-rw-r--r--source/xap/blueman/30-blueman-netdev-allow-access.rules10
-rwxr-xr-xsource/xap/blueman/blueman.SlackBuild6
-rw-r--r--source/xap/blueman/doinst.sh1
3 files changed, 16 insertions, 1 deletions
diff --git a/source/xap/blueman/30-blueman-netdev-allow-access.rules b/source/xap/blueman/30-blueman-netdev-allow-access.rules
new file mode 100644
index 000000000..9ef313c75
--- /dev/null
+++ b/source/xap/blueman/30-blueman-netdev-allow-access.rules
@@ -0,0 +1,10 @@
+/* Allow users in netdev group to use blueman feature requiring root without authentication */
+polkit.addRule(function(action, subject) {
+ if ((action.id == "org.blueman.network.setup" ||
+ action.id == "org.blueman.dhcp.client" ||
+ action.id == "org.blueman.rfkill.setstate" ||
+ action.id == "org.blueman.pppd.pppconnect") &&
+ subject.isInGroup("netdev")) {
+ return polkit.Result.YES;
+ }
+});
diff --git a/source/xap/blueman/blueman.SlackBuild b/source/xap/blueman/blueman.SlackBuild
index 87d0134a8..fc7e8ca17 100755
--- a/source/xap/blueman/blueman.SlackBuild
+++ b/source/xap/blueman/blueman.SlackBuild
@@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=blueman
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -115,6 +115,10 @@ sed -i "s,#!/usr/bin/env python,#!/usr/bin/python${PYTHON3VER},g" module/_bluema
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# Install default rules allowing users in the netdev group to make changes:
+mkdir -p $PKG/etc/polkit-1/rules.d
+zcat $CWD/30-blueman-netdev-allow-access.rules.gz > $PKG/etc/polkit-1/rules.d/30-blueman-netdev-allow-access.rules.new
+
# Remove the AppIndicator.py plugin (we don't have libappindicator3
# nor will we be getting it in the foreseeable future)
rm ${PKG}$PYTHON3LIB/blueman/plugins/applet/AppIndicator.py
diff --git a/source/xap/blueman/doinst.sh b/source/xap/blueman/doinst.sh
index 808893690..16e49ab97 100644
--- a/source/xap/blueman/doinst.sh
+++ b/source/xap/blueman/doinst.sh
@@ -10,6 +10,7 @@ config() {
fi
# Otherwise, we leave the .new copy for the admin to consider...
}
+config etc/polkit-1/rules.d/30-blueman-netdev-allow-access.rules.new
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1