diff --git a/bluez.spec b/bluez.spec index fcec834..6f317cd 100644 --- a/bluez.spec +++ b/bluez.spec @@ -1,13 +1,18 @@ Summary: Bluetooth utilities Name: bluez Version: 4.37 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: Applications/System Source: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.gz Source1: bluetooth.init Source2: bluetooth.conf -Source3: bluez-uinput.modules +Source3: dund.init +Source4: dund.conf +Source5: pand.init +Source6: pand.conf +Source7: rfcomm.init +Source8: bluez-uinput.modules Patch1: bluez-utils-oui-usage.patch # https://bugzilla.redhat.com/show_bug.cgi?id=450081 # http://thread.gmane.org/gmane.linux.bluez.kernel/1687 @@ -80,6 +85,11 @@ Provides: bluez-utils-alsa = %{version}-%{release} Group: System Environment/Daemons Requires: bluez-libs = %{version} +%package compat +Summary: Compatibility utilities for Bluetooth devices +Group: System Environment/Daemons +Requires: bluez-libs = %{version} + %description cups This package contains the CUPS backend @@ -96,6 +106,10 @@ Libraries for use in Bluetooth applications. bluez-libs-devel contains development libraries and headers for use in Bluetooth applications. +%description compat +This package contains compatibility utilities for Bluetooth devices. +This includes hidd, dund and pand. + %prep %setup -q @@ -117,8 +131,12 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la \ $RPM_BUILD_ROOT/%{_libdir}/bluetooth/plugins/*.la \ $RPM_BUILD_ROOT/%{_libdir}/gstreamer-0.10/*.la -install -D -m0755 %SOURCE1 $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/bluetooth -install -D -m0644 %SOURCE2 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/bluetooth +for a in bluetooth dund pand rfcomm ; do + install -D -m0755 $RPM_SOURCE_DIR/$a.init $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/$a + if [ -e $RPM_SOURCE_DIR/$a.conf ] ; then + install -D -m0644 $RPM_SOURCE_DIR/$a.conf $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/$a + fi +done # Remove the cups backend from libdir, and install it in /usr/lib whatever the install if test -d ${RPM_BUILD_ROOT}/usr/lib64/cups ; then @@ -129,7 +147,7 @@ fi install -D -m0644 scripts/bluetooth.rules ${RPM_BUILD_ROOT}/%{_sysconfdir}/udev/rules.d/97-bluetooth-serial.rules install -D -m0755 scripts/bluetooth_serial ${RPM_BUILD_ROOT}/lib/udev/bluetooth_serial -install -D -m0755 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules/bluez-uinput.modules +install -D -m0755 %{SOURCE8} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules/bluez-uinput.modules install -d -m0755 $RPM_BUILD_ROOT/%{_localstatedir}/lib/bluetooth @@ -153,20 +171,47 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del bluetooth fi +%post compat +/sbin/chkconfig --add dund +/sbin/chkconfig --add pand +/sbin/chkconfig --add rfcomm +if [ "$1" -ge "1" ]; then + /sbin/service dund condrestart >/dev/null 2>&1 || : + /sbin/service pand condrestart >/dev/null 2>&1 || : + /sbin/service rfcomm condrestart >/dev/null 2>&1 || : +fi +exit 0 + +%preun compat +if [ "$1" = "0" ]; then + /sbin/service dund stop >/dev/null 2>&1 || : + /sbin/service pand stop >/dev/null 2>&1 || : + /sbin/service rfcomm stop >/dev/null 2>&1 || : + /sbin/chkconfig --del dund + /sbin/chkconfig --del pand + /sbin/chkconfig --del rfcomm +fi + %files %defattr(-, root, root) -%{_bindir}/* +%{_bindir}/ciptool +%{_bindir}/dfutool +%{_bindir}/hcitool +%{_bindir}/l2ping +%{_bindir}/rfcomm +%{_bindir}/sdptool %{_sbindir}/* %{_mandir}/man1/* %{_mandir}/man8/* %dir %{_sysconfdir}/bluetooth/ %config(noreplace) %{_sysconfdir}/bluetooth/* -%config(noreplace) %{_sysconfdir}/sysconfig/* +%config(noreplace) %{_sysconfdir}/sysconfig/bluetooth +%config(noreplace) %{_sysconfdir}/sysconfig/modules/bluez-uinput.modules %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf %{_libdir}/bluetooth/ /lib/udev/bluetooth_serial %{_sysconfdir}/udev/rules.d/97-bluetooth-serial.rules -/etc/rc.d/init.d/* +%{_sysconfdir}/rc.d/init.d/bluetooth %{_localstatedir}/lib/bluetooth %files libs @@ -194,7 +239,22 @@ fi %{_libdir}/alsa-lib/*.so %{_sysconfdir}/alsa/bluetooth.conf +%files compat +%defattr(-, root, root) +%{_bindir}/dund +%{_bindir}/pand +%{_bindir}/hidd +%{_sysconfdir}/rc.d/init.d/dund +%{_sysconfdir}/rc.d/init.d/rfcomm +%{_sysconfdir}/rc.d/init.d/pand +%config(noreplace) %{_sysconfdir}/sysconfig/dund +%config(noreplace) %{_sysconfdir}/sysconfig/pand + %changelog +* Wed Apr 29 2009 Bastien Nocera 4.37-2 +- Split off dund, pand, hidd, and rfcomm helper into a compat package + (#477890, #473892) + * Thu Apr 23 2009 - Bastien Nocera - 4.37-1 - Update to 4.37 diff --git a/dund.conf b/dund.conf new file mode 100644 index 0000000..dec4a84 --- /dev/null +++ b/dund.conf @@ -0,0 +1 @@ +#DUNDARGS='--search --persist' diff --git a/dund.init b/dund.init new file mode 100755 index 0000000..6b2e563 --- /dev/null +++ b/dund.init @@ -0,0 +1,70 @@ +#!/bin/sh + +# chkconfig: - 26 89 + +### BEGIN INIT INFO +# Required-Start: bluetooth +# Default-Start: +# Short-Description: Bluetooth Dial-Up-Networking Daemon. +# Description: Bluetooth Dial-Up-Networking Daemon. Provides PPP over RFCOMM +# services. +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network + +[ "${NETWORKING}" = "yes" ] || exit 0 + +[ -r /etc/sysconfig/dund ] && . /etc/sysconfig/dund + +start() +{ + [ -z "$DUNDARGS" ] && exit 6 + + echo -n $"Starting dund: " + daemon /usr/bin/dund $DUNDARGS + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch /var/lock/subsys/dund + return $RETVAL +} + +stop() +{ + echo -n $"Shutting down dund: " + /usr/bin/dund -K + killproc dund + RETVAL=$? + + rm -f /var/lock/subsys/dund + echo + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + force-reload|restart|reload) + stop + start + ;; + try-restart|condrestart) + [ -e /var/lock/subsys/dund ] && (stop; start) + ;; + status) + status dund + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" + exit 3 +esac + +exit $RETVAL diff --git a/pand.conf b/pand.conf new file mode 100644 index 0000000..ee1003a --- /dev/null +++ b/pand.conf @@ -0,0 +1,2 @@ +#PANDARGS='--listen --role NAP' +#PANDARGS='--search --cache --persist' diff --git a/pand.init b/pand.init new file mode 100755 index 0000000..5877e72 --- /dev/null +++ b/pand.init @@ -0,0 +1,73 @@ +#!/bin/sh + +# chkconfig: - 26 89 + +### BEGIN INIT INFO +# Required-Start: bluetooth +# Default-Start: +# Short-Description: Bluetooth Personal Area Networking Daemon. +# Description: Bluetooth Personal Area Networking Daemon. Provides network +# services over Bluetooth. +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network + +[ "${NETWORKING}" = "yes" ] || exit 0 + +[ -r /etc/sysconfig/pand ] && . /etc/sysconfig/pand + +start() +{ + [ -z "$PANDARGS" ] && exit 6 + [ -x /etc/bluetooth/pan/system-up ] && /etc/bluetooth/pan/system-up + + echo -n $"Starting pand: " + daemon /usr/bin/pand $PANDARGS + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch /var/lock/subsys/pand + return $RETVAL +} + +stop() +{ + echo -n $"Shutting down pand: " + /usr/bin/pand -K + killproc pand + RETVAL=$? + [ -x /etc/bluetooth/pan/system-down ] && /etc/bluetooth/pan/system-down + rm -f /var/lock/subsys/pand + echo + return $RETVAL +} + +[ -f /usr/bin/pand ] || exit 0 + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + force-reload|restart|reload) + stop + start + ;; + try-restart|condrestart) + [ -e /var/lock/subsys/pand ] && (stop; start) + ;; + status) + status pand + RETVAL=$? + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" + exit 3 +esac + +exit $RETVAL diff --git a/rfcomm.init b/rfcomm.init new file mode 100755 index 0000000..b1e53da --- /dev/null +++ b/rfcomm.init @@ -0,0 +1,65 @@ +#!/bin/sh + +# chkconfig: - 27 88 + +### BEGIN INIT INFO +# Required-Start: bluetooth +# Default-Start: +# Short-Description: Bluetooth RFCOMM setup. +# Description: Bluetooth RFCOMM setup. Sets up serial devices +# over Bluetooth. +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network + +[ "${NETWORKING}" = "yes" ] || exit 0 + +start() +{ + echo -n $"Starting rfcomm: " + rfcomm bind all + RETVAL=$? + echo + [ $RETVAL = 0 ] && touch /var/lock/subsys/rfcomm + return $RETVAL +} + +stop() +{ + echo -n $"Shutting down rfcomm: " + rfcomm release all + RETVAL=$? + + rm -f /var/lock/subsys/rfcomm + echo + return $RETVAL +} + +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + force-reload|restart|reload) + stop + start + ;; + try-restart|condrestart) + [ -e /var/lock/subsys/rfcomm ] && (stop; start) + ;; + status) + RETVAL=1 + [ -e /var/lock/subsys/rfcomm ] && RETVAL=0 + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" + exit 3 +esac + +exit $RETVAL