SOURCES: bluez.sysconfig (NEW), bluez.init (NEW), bluez-udev.script (NEW), ...

arekm arekm at pld-linux.org
Sun Aug 31 18:06:44 CEST 2008


Author: arekm                        Date: Sun Aug 31 16:06:44 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- from bluez-utils

---- Files affected:
SOURCES:
   bluez.sysconfig (NONE -> 1.1)  (NEW), bluez.init (NONE -> 1.1)  (NEW), bluez-udev.script (NONE -> 1.1)  (NEW), bluez-udev.rules (NONE -> 1.1)  (NEW), bluez-etc_dir.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/bluez.sysconfig
diff -u /dev/null SOURCES/bluez.sysconfig:1.1
--- /dev/null	Sun Aug 31 18:06:45 2008
+++ SOURCES/bluez.sysconfig	Sun Aug 31 18:06:37 2008
@@ -0,0 +1,19 @@
+# Customized settings for Bluetooth
+
+# Define nice level for Bluetooth services
+SERVICE_RUN_NICE_LEVEL="+0"
+
+# remove if you have serial Bluetooth dongles configured in /etc/bluetooth/uart
+# (alternatively you can pass uart configuration file path here)
+UART_CONF="no"
+
+#HID2HCI_ENABLE=yes
+HCID_ENABLE=yes
+SDPD_ENABLE=yes
+HIDD_ENABLE=yes
+#HIDD_OPTIONS=""
+RFCOMM_ENABLE=yes
+#DUND_ENABLE=yes
+#DUND_OPTIONS=""
+#PAND_ENABLE=yes
+#PAND_OPTIONS=""

================================================================
Index: SOURCES/bluez.init
diff -u /dev/null SOURCES/bluez.init:1.1
--- /dev/null	Sun Aug 31 18:06:45 2008
+++ SOURCES/bluez.init	Sun Aug 31 18:06:38 2008
@@ -0,0 +1,155 @@
+#!/bin/sh
+#
+# bluetooth	Bluetooth subsystem starting and stopping
+#
+# chkconfig:	345 25 90
+#
+# description:	Bluetooth subsystem
+#
+# $Id$
+
+
+# Source function library
+. /etc/rc.d/init.d/functions
+
+UART_CONF="/etc/bluetooth/uart"
+[ -f /etc/sysconfig/bluetooth ] && . /etc/sysconfig/bluetooth
+
+if [ "$UART_CONF" != "no" -a ! -f "$UART_CONF" ]; then
+	UART_CONF="no"
+fi
+
+start() {
+	# Check if the service is already running?
+	if [ ! -f /var/lock/subsys/bluetooth ]; then
+		msg_starting bluetooth; started
+		if is_yes "${HID2HCI_ENABLE}" && [ -x /usr/sbin/hid2hci ]; then
+			msg_starting hid2hci
+			daemon /usr/sbin/hid2hci -0 -q    #be quiet
+			RETVAL=$?
+			/bin/sleep 1 # delay for hid's to be detected by hotplug
+		fi
+		
+		if is_yes "${HCID_ENABLE}" && [ -x /usr/sbin/hcid ]; then
+			HCID_FLAGS="-f /etc/bluetooth/hcid.conf"
+
+			if is_yes "${SDPD_ENABLE}" ; then
+				HCID_FLAGS="$HCID_FLAGS -s"
+			fi
+			msg_starting hcid
+			daemon /usr/sbin/hcid $HCID_FLAGS
+			RETVAL=$?
+		fi
+		
+		if is_yes "${HIDD_ENABLE}" && [ -x /usr/bin/hidd ]; then
+			msg_starting hidd
+			daemon /usr/bin/hidd ${HIDD_OPTIONS} --server
+			RETVAL=$?
+		fi
+
+		if is_yes "${RFCOMM_ENABLE}" && [ -x /usr/bin/rfcomm ]; then
+			msg_starting rfcomm
+			daemon /usr/bin/rfcomm -f /etc/bluetooth/rfcomm.conf bind all
+			RETVAL=$?
+		fi
+	
+		if is_yes "${DUND_ENABLE}" && [ -x /usr/bin/dund ]; then
+			msg_starting dund
+			daemon /usr/bin/dund ${DUND_OPTIONS}
+			RETVAL=$?
+		fi
+	
+		if is_yes "${PAND_ENABLE}" && [ -x /usr/bin/pand ]; then
+			msg_starting pand
+			daemon /usr/bin/pand ${PAND_OPTIONS}
+			RETVAL=$?
+		fi
+
+		if [ -f /usr/sbin/hciattach -a "$UART_CONF" != "no" ]; then
+			grep -v '^#' $UART_CONF | while read i; do
+				/usr/sbin/hciattach $i
+			done
+		fi
+		touch /var/lock/subsys/bluetooth
+	else
+		msg_already_running bluetooth
+	fi
+}
+
+stop() {
+	if [ -f /var/lock/subsys/bluetooth ]; then
+		if is_yes "${PAND_ENABLE}" && [ -x /usr/bin/pand ]; then
+			msg_stopping pand
+			killproc /usr/bin/pand
+		fi
+
+		if is_yes "${DUND_ENABLE}" && [ -x /usr/bin/dund ]; then
+			msg_stopping dund
+			killproc /usr/bin/dund
+		fi
+
+		if is_yes "${RFCOMM_ENABLE}" && [ -x /usr/bin/rfcomm ]; then
+			msg_stopping rfcomm
+			daemon /usr/bin/rfcomm release all
+		fi
+
+		if is_yes "${HIDD_ENABLE}" && [ -x  /usr/bin/hidd ]; then
+			msg_stopping hidd
+			killproc /usr/bin/hidd
+		fi
+	
+		if is_yes "${HCID_ENABLE}" && [ -x /usr/sbin/hcid ]; then
+			msg_stopping hcid
+			killproc /usr/sbin/hcid
+		fi
+
+		if [ "$UART_CONF" != "no" ]; then
+			killproc hciattach >/dev/null 2>&1
+		fi
+		rm -f /var/lock/subsys/bluetooth
+	else
+		msg_not_running bluetooth
+	fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+  start)
+  	start
+	;;
+  stop)
+  	stop
+	;;
+  restart)
+	stop
+	start
+	;;
+  reload|force-reload)
+	if [ -f /var/lock/subsys/bluetooth ]; then
+		msg_reloading hcid
+		killproc hcid -HUP
+		RETVAL=$?
+	else
+		msg_not_running bluetooth
+		exit 7
+	fi
+	;;
+  status)
+	is_yes "${HID2HCI_ENABLE}" && status hid2hci
+	is_yes "${HCID_ENABLE}" && status hcid
+	is_yes "${SDPD_ENABLE}" && status sdpd
+	is_yes "${HIDD_ENABLE}" && status hidd
+	is_yes "${DUND_ENABLE}" && status dund
+	if [ -f /var/lock/subsys/bluetooth ]; then
+		exit 0
+	else
+		exit 1
+	fi		
+	;;
+  *)
+	msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
+	exit 3
+esac
+
+exit $RETVAL

================================================================
Index: SOURCES/bluez-udev.script
diff -u /dev/null SOURCES/bluez-udev.script:1.1
--- /dev/null	Sun Aug 31 18:06:46 2008
+++ SOURCES/bluez-udev.script	Sun Aug 31 18:06:38 2008
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# bluetooth.sh: udev external RUN script
+#
+# Copyright 2005-2006 Henrik Brix Andersen <brix at gentoo.org>
+# Distributed under the terms of the GNU General Public License v2
+
+script=/etc/rc.d/init.d/bluetooth
+
+# Find out where sysfs is mounted. Exit if not available
+sysfs=`grep -F sysfs /proc/mounts | awk '{print $2}'`
+if [ "$sysfs" = "" ]; then
+    echo "sysfs is required"
+    exit 1
+fi
+
+if [ ! -d $sysfs/class/bluetooth/hci[0-9]* ]; then
+    if $script status; then
+	$script stop
+    fi
+else
+    if ! $script status; then
+	$script start
+    fi
+fi

================================================================
Index: SOURCES/bluez-udev.rules
diff -u /dev/null SOURCES/bluez-udev.rules:1.1
--- /dev/null	Sun Aug 31 18:06:46 2008
+++ SOURCES/bluez-udev.rules	Sun Aug 31 18:06:39 2008
@@ -0,0 +1,3 @@
+# Bluetooth devices:
+#
+KERNEL=="hci[0-9]*", RUN+="/lib/udev/bluetooth.sh"

================================================================
Index: SOURCES/bluez-etc_dir.patch
diff -u /dev/null SOURCES/bluez-etc_dir.patch:1.1
--- /dev/null	Sun Aug 31 18:06:47 2008
+++ SOURCES/bluez-etc_dir.patch	Sun Aug 31 18:06:39 2008
@@ -0,0 +1,16 @@
+diff -Nru bluez-utils-2.2/rfcomm/parser.y bluez-utils-2.2.new/rfcomm/parser.y
+--- bluez-utils-2.2/rfcomm/parser.y	Thu Oct 31 10:09:48 2002
++++ bluez-utils-2.2.new/rfcomm/parser.y	Sun Mar 23 18:18:14 2003
+@@ -147,7 +147,11 @@
+ 	if (filename) {
+ 		snprintf(file, MAXPATHLEN,  "%s", filename);
+ 	} else {
+-		snprintf(file, MAXPATHLEN, "%s/.bluetooth/rfcomm.conf", getenv("HOME"));
++		char *etc_dir = getenv("HOME_ETC");
++		if (etc_dir)
++			snprintf(file, MAXPATHLEN, "%s/.bluetooth/rfcomm.conf", etc_dir);
++		else
++			snprintf(file, MAXPATHLEN, "%s/.bluetooth/rfcomm.conf", getenv("HOME"));
+ 
+ 		if ((getuid() == 0) || (access(file, R_OK) < 0))
+ 			snprintf(file, MAXPATHLEN, "/etc/bluetooth/rfcomm.conf");
================================================================


More information about the pld-cvs-commit mailing list