From: Jakub Bogusz Date: Sat, 5 Jan 2013 13:47:44 +0000 (+0100) Subject: - up to 5.0 (note: rather big changes, packaging needs finishing; bluez 4.x left... X-Git-Tag: auto/ti/bluez-5.3-0.1~3 X-Git-Url: https://git.pld-linux.org/?p=packages%2Fbluez.git;a=commitdiff_plain;h=886fa953e855c44ab249d623d132c72938695ce9 - up to 5.0 (note: rather big changes, packaging needs finishing; bluez 4.x left on bluez-4 branch) - updated wacom-mode-2,audio_socket patches - removed obsolete etc_dir patch (rfcomm no longer uses rfcomm.conf file) - added am patch (fixes build with automake 1.13) - no more dund,pand services, init scripts dropped - rfcomm init scripts needs work - base bluez package now includes hcidump and obexd - alsa and gstreamer plugins dropped upstream - bluez services rely on udev more than ever --- diff --git a/bluez-am.patch b/bluez-am.patch new file mode 100644 index 0000000..34bfa74 --- /dev/null +++ b/bluez-am.patch @@ -0,0 +1,11 @@ +--- bluez-5.0/configure.ac.orig 2012-12-24 18:46:54.000000000 +0100 ++++ bluez-5.0/configure.ac 2013-01-04 20:49:00.644452799 +0100 +@@ -3,7 +3,7 @@ + + AM_INIT_AUTOMAKE([foreign subdir-objects color-tests silent-rules + tar-pax no-dist-gzip dist-xz]) +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS(config.h) + AC_USE_SYSTEM_EXTENSIONS + + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) diff --git a/bluez-audio_socket.patch b/bluez-audio_socket.patch index 30ac613..3a3e0fc 100644 --- a/bluez-audio_socket.patch +++ b/bluez-audio_socket.patch @@ -1,6 +1,5 @@ -diff -urN bluez-4.99.orig/audio/audio.conf bluez-4.99/audio/audio.conf ---- bluez-4.99.orig/audio/audio.conf 2010-08-25 07:10:02.000000000 +0200 -+++ bluez-4.99/audio/audio.conf 2012-03-10 20:13:23.000000000 +0100 +--- bluez-5.0.orig/profiles/audio/audio.conf 2010-08-25 07:10:02.000000000 +0200 ++++ bluez-5.0/profiles/audio/audio.conf 2012-03-10 20:13:23.000000000 +0100 @@ -4,6 +4,9 @@ # particular interface [General] diff --git a/bluez-etc_dir.patch b/bluez-etc_dir.patch deleted file mode 100644 index 58fa99f..0000000 --- a/bluez-etc_dir.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Nru bluez-4.53/tools/parser.y.orig bluez-4.53/tools/parser.y ---- bluez-4.53/tools/parser.y.orig Thu Oct 31 10:09:48 2002 -+++ bluez-4.53/tools/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"); diff --git a/bluez-wacom-mode-2.patch b/bluez-wacom-mode-2.patch index 0f5b585..858dfbc 100644 --- a/bluez-wacom-mode-2.patch +++ b/bluez-wacom-mode-2.patch @@ -1,12 +1,12 @@ ---- a/input/device.c -+++ b/input/device.c +--- a/profiles/input/device.c ++++ b/profiles/input/device.c @@ -658,6 +658,19 @@ static int hidp_add_connection(const struct input_device *idev, err = write(sk, buf, sizeof(buf)); } + if (req->vendor == 0x056a && req->product == 0x81) { + unsigned char buf[3]; -+ int sk = g_io_channel_unix_get_fd(iconn->ctrl_io); ++ int sk = g_io_channel_unix_get_fd(idev->ctrl_io); + + buf[0] = 0x53; /* HIDP_TRANS_SET_REPORT | HIDP_DATA_RTYPE_FEATURE */ + buf[1] = 0x03; buf[2] = 0x00; diff --git a/bluez.spec b/bluez.spec index 8814339..28e7c93 100644 --- a/bluez.spec +++ b/bluez.spec @@ -1,39 +1,40 @@ +# TODO: +# - verify/update bluetooth init script +# - update (or drop if it's no longer applicable) rfcomm init script +# - separate obexd here? / separate -client in obexd.spec Summary: Bluetooth utilities Summary(pl.UTF-8): Narzędzia Bluetooth Name: bluez -Version: 4.101 -Release: 3 +Version: 5.0 +Release: 0.1 License: GPL v2+ Group: Applications/System #Source0Download: http://www.bluez.org/download.html -Source0: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.bz2 -# Source0-md5: 902b390af95c6c5d6d1a17d94c8344ab +Source0: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.xz +# Source0-md5: 03230ccf44536087653b56a45c99e2b4 Source1: %{name}.init Source2: %{name}.sysconfig -Source3: dund.init -Source4: pand.init +# FIXME: rfcomm.conf no longer supported Source5: rfcomm.init -Patch0: %{name}-etc_dir.patch -Patch1: %{name}-wacom-mode-2.patch -Patch2: %{name}-audio_socket.patch +Patch0: %{name}-wacom-mode-2.patch +Patch1: %{name}-audio_socket.patch +Patch2: %{name}-am.patch URL: http://www.bluez.org/ -BuildRequires: alsa-lib-devel >= 1.0.10-1 BuildRequires: autoconf >= 2.60 BuildRequires: automake -BuildRequires: bison BuildRequires: check-devel >= 0.9.6 BuildRequires: dbus-devel >= 1.4 BuildRequires: glib2-devel >= 1:2.28 -BuildRequires: gstreamer0.10-devel >= 0.10.30 -BuildRequires: gstreamer0.10-plugins-base-devel >= 0.10 -BuildRequires: libcap-ng-devel -BuildRequires: libsndfile-devel +BuildRequires: libical-devel BuildRequires: libtool -BuildRequires: libusb-compat-devel +BuildRequires: libusb-compat-devel >= 0.1 BuildRequires: pkgconfig >= 1:0.9.0 BuildRequires: readline-devel BuildRequires: rpmbuild(macros) >= 1.626 -BuildRequires: udev-devel +BuildRequires: systemd-units >= 38 +BuildRequires: tar >= 1:1.22 +BuildRequires: udev-devel >= 1:143 +BuildRequires: xz Requires(post,preun,postun): systemd-units >= 38 Requires: %{name}-libs = %{version}-%{release} Requires: dbus-libs >= 1.4 @@ -41,13 +42,23 @@ Requires: glib2 >= 1:2.28 Requires: hwdata >= 0.225 Requires: rc-scripts Requires: systemd-units >= 38 +Requires: udev >= 1:143 +Provides: bluez-hcidump = %{version} Provides: bluez-utils = %{version}-%{release} +Provides: obexd = %{version} +# moved somewhere or dropped? +#Obsoletes: alsa-plugins-bluetooth +Obsoletes: bluez-hcidump Obsoletes: bluez-hciemu Obsoletes: bluez-pan Obsoletes: bluez-sdp Obsoletes: bluez-systemd Obsoletes: bluez-utils Obsoletes: bluez-utils-init +Obsoletes: obexd +# moved somewhere or dropped? +#Obsoletes: gstreamer-bluetooth < 4.101-3 +#Obsoletes: gstreamer0.10-bluetooth < 5 Conflicts: bluez-bluefw ExcludeArch: s390 s390x BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -59,49 +70,27 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description Bluetooth utilities: - bluetoothd - - dund - - hcitool - hciattach - hciconfig - - hciemu - - hidd + - hcidump + - hcitool - l2ping - - pand - start scripts (PLD) - - PCMCIA configuration files The BLUETOOTH trademarks are owned by Bluetooth SIG, Inc., U.S.A. %description -l pl.UTF-8 Narzędzia Bluetooth: - bluetoothd - - dund - - hcitool - hciattach - hciconfig - - hciemu - - hidd + - hcidump + - hcitool - l2ping - - pand - skrypty startowe (PLD) - - pliki konfiguracji PCMCIA Znaki towarowe BLUETOOTH są własnością Bluetooth SIG, Inc. z USA. -%package -n alsa-plugins-bluetooth -Summary: ALSA plugins for Bluetooth audio devices -Summary(pl.UTF-8): Wtyczki systemu ALSA dla urządzeń dźwiękowych Bluetooth -Group: Libraries -# bluetoothd + audio service -Requires: %{name} = %{version}-%{release} -Requires: alsa-lib >= 1.0.10-1 - -%description -n alsa-plugins-bluetooth -ALSA plugins for Bluetooth audio devices. - -%description -n alsa-plugins-bluetooth -l pl.UTF-8 -Wtyczki systemu ALSA dla urządzeń dźwiękowych Bluetooth. - %package -n cups-backend-bluetooth Summary: Bluetooth backend for CUPS Summary(pl.UTF-8): Backend Bluetooth dla CUPS-a @@ -115,21 +104,6 @@ Bluetooth backend for CUPS. %description -n cups-backend-bluetooth -l pl.UTF-8 Backend Bluetooth dla CUPS-a. -%package -n gstreamer0.10-bluetooth -Summary: Bluetooth support for gstreamer -Summary(pl.UTF-8): Obsługa Bluetooth dla gstreamera -Group: Libraries -Requires: bluez-libs >= %{version}-%{release} -Requires: gstreamer0.10 >= 0.10.30 -Requires: gstreamer0.10-plugins-base >= 0.10 -Obsoletes: gstreamer-bluetooth < 4.101-3 - -%description -n gstreamer0.10-bluetooth -Bluetooth support for gstreamer. - -%description -n gstreamer0.10-bluetooth -l pl.UTF-8 -Obsługa Bluetooth dla gstreamera. - %package libs Summary: Bluetooth libraries Summary(pl.UTF-8): Biblioteki Bluetooth @@ -189,34 +163,12 @@ aplikacji Bluetooth. %{__autoheader} %{__automake} %configure \ - --with-ouifile=%{_datadir}/hwdata/oui.txt \ - --with-systemdunitdir=%{systemdunitdir} \ --disable-silent-rules \ - --enable-shared \ - --enable-static \ - --enable-alsa \ - --enable-audio \ - --enable-bccmd \ - --enable-capng \ - --enable-cups \ - --enable-dbusoob \ - --enable-dfutool \ - --enable-dund \ - --enable-gatt \ - --enable-gstreamer \ - --enable-health \ - --enable-hid2hci \ - --enable-hidd \ - --enable-input \ - --enable-network \ - --enable-pand \ - --enable-pcmcia \ - --enable-pnat \ - --enable-serial \ - --enable-thermometer \ - --enable-tools \ - --enable-usb \ - --enable-wiimote + --enable-library \ + --enable-static +# these options are broken; BR systemd instead +# --with-systemdsystemunitdir=%{systemdunitdir} \ +# --with-systemduserunitdir=%{_prefix}/lib/systemd/user \ %{__make} \ cupsdir=%{cupsdir} \ @@ -226,7 +178,7 @@ aplikacji Bluetooth. %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \ - $RPM_BUILD_ROOT%{_libdir}/bluetooth/plugins + $RPM_BUILD_ROOT{%{_libdir}/bluetooth/plugins,%{_sysconfdir}/bluetooth} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT \ @@ -236,42 +188,30 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \ install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/bluetooth install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/bluetooth -install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/dund -install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/pand install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/rfcomm -install audio/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/bluetooth -install input/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/bluetooth -install network/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/bluetooth -install serial/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/bluetooth - -mv -fT $RPM_BUILD_ROOT{%{_datadir},%{_sysconfdir}}/alsa +install profiles/audio/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/bluetooth +install profiles/input/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/bluetooth +install profiles/network/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/bluetooth +install profiles/proximity/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/bluetooth -%{__rm} $RPM_BUILD_ROOT%{_libdir}/{alsa-lib/*.{la,a},gstreamer*/libgstbluetooth.{la,a},libbluetooth.la} +%{__rm} $RPM_BUILD_ROOT%{_libdir}/libbluetooth.la %clean rm -rf $RPM_BUILD_ROOT %post /sbin/chkconfig --add bluetooth -/sbin/chkconfig --add dund -/sbin/chkconfig --add pand /sbin/chkconfig --add rfcomm %service bluetooth restart -%service dund restart -%service pand restart %service rfcomm restart %systemd_post bluetooth.service %preun if [ "$1" = "0" ]; then %service bluetooth stop - %service dund stop - %service pand stop %service rfcomm stop /sbin/chkconfig --del bluetooth - /sbin/chkconfig --del dund - /sbin/chkconfig --del pand /sbin/chkconfig --del rfcomm fi %systemd_preun bluetooth.service @@ -288,65 +228,55 @@ fi %files %defattr(644,root,root,755) %doc AUTHORS ChangeLog README +%attr(755,root,root) %{_bindir}/bccmd +%attr(755,root,root) %{_bindir}/bluetoothctl +%attr(755,root,root) %{_bindir}/btmon %attr(755,root,root) %{_bindir}/ciptool -%attr(755,root,root) %{_bindir}/dfutool -%attr(755,root,root) %{_bindir}/dund -%attr(755,root,root) %{_bindir}/gatttool +%attr(755,root,root) %{_bindir}/hciattach +%attr(755,root,root) %{_bindir}/hciconfig +%attr(755,root,root) %{_bindir}/hcidump %attr(755,root,root) %{_bindir}/hcitool -%attr(755,root,root) %{_bindir}/hidd %attr(755,root,root) %{_bindir}/l2ping -%attr(755,root,root) %{_bindir}/pand +%attr(755,root,root) %{_bindir}/l2test +%attr(755,root,root) %{_bindir}/rctest %attr(755,root,root) %{_bindir}/rfcomm %attr(755,root,root) %{_bindir}/sdptool -%attr(755,root,root) %{_sbindir}/bccmd -%attr(755,root,root) %{_sbindir}/bluetoothd -%attr(755,root,root) %{_sbindir}/hciattach -%attr(755,root,root) %{_sbindir}/hciconfig %dir %{_libdir}/bluetooth +%attr(755,root,root) %{_libdir}/bluetooth/bluetoothd +%attr(755,root,root) %{_libdir}/bluetooth/obexd %dir %{_libdir}/bluetooth/plugins %dir %{_sysconfdir}/bluetooth -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/*.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/audio.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/input.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/network.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/proximity.conf %attr(754,root,root) /etc/rc.d/init.d/bluetooth -%attr(754,root,root) /etc/rc.d/init.d/dund -%attr(754,root,root) /etc/rc.d/init.d/pand %attr(754,root,root) /etc/rc.d/init.d/rfcomm %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bluetooth %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/bluetooth.conf %{systemdunitdir}/bluetooth.service +%{_prefix}/lib/systemd/user/obex.service %{_datadir}/dbus-1/system-services/org.bluez.service -%attr(755,root,root) %{udevdir}/bluetooth_serial +%{_datadir}/dbus-1/services/org.bluez.obex.service %attr(755,root,root) %{udevdir}/hid2hci -%{udevdir}/rules.d/97-bluetooth-hid2hci.rules -%{udevdir}/rules.d/97-bluetooth-serial.rules +%{udevdir}/rules.d/97-hid2hci.rules +%{_mandir}/man1/bccmd.1* %{_mandir}/man1/ciptool.1* -%{_mandir}/man1/dfutool.1* -%{_mandir}/man1/dund.1* +%{_mandir}/man1/hciattach.1* +%{_mandir}/man1/hciconfig.1* +%{_mandir}/man1/hcidump.1* %{_mandir}/man1/hcitool.1* -%{_mandir}/man1/hidd.1* -%{_mandir}/man1/pand.1* +%{_mandir}/man1/hid2hci.1* +%{_mandir}/man1/l2ping.1* +%{_mandir}/man1/rctest.1* %{_mandir}/man1/rfcomm.1* %{_mandir}/man1/sdptool.1* -%{_mandir}/man8/bccmd.8* %{_mandir}/man8/bluetoothd.8* -%{_mandir}/man8/hciattach.8* -%{_mandir}/man8/hciconfig.8* -%{_mandir}/man8/hid2hci.8* -%{_mandir}/man8/l2ping.8* - -%files -n alsa-plugins-bluetooth -%defattr(644,root,root,755) -%{_sysconfdir}/alsa/bluetooth.conf -%attr(755,root,root) %{_libdir}/alsa-lib/libasound_module_ctl_bluetooth.so* -%attr(755,root,root) %{_libdir}/alsa-lib/libasound_module_pcm_bluetooth.so %files -n cups-backend-bluetooth %defattr(644,root,root,755) %attr(755,root,root) %{_prefix}/lib/cups/backend/bluetooth -%files -n gstreamer0.10-bluetooth -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/gstreamer*/libgstbluetooth.so - %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libbluetooth.so.*.*.* diff --git a/dund.init b/dund.init deleted file mode 100644 index d02aa21..0000000 --- a/dund.init +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# -# dund Bluetooth Dial-Up-Networking Daemon -# -# chkconfig: 345 26 89 -# -# description: Bluetooth Dial-Up-Networking Daemon. Provides PPP over RFCOMM services. -# -# $Id$ - - -# Source function library -. /etc/rc.d/init.d/functions - -[ -f /etc/sysconfig/bluetooth ] && . /etc/sysconfig/bluetooth - -is_no "${NETWORKING}" && exit 0 - -start() { - # Check if the service is already running? - if [ -f /var/lock/subsys/dund ]; then - msg_already_running dund - return - fi - - msg_starting dund - daemon /usr/bin/dund ${DUND_OPTIONS} - RETVAL=$? - touch /var/lock/subsys/dund -} - -stop() { - if [ ! -f /var/lock/subsys/dund ]; then - msg_not_running dund - return - fi - - msg_stopping dund - killproc /usr/bin/dund - rm -f /var/lock/subsys/dund -} - -condrestart() { - if [ ! -f /var/lock/subsys/dund ]; then - msg_not_running dund - RETVAL=$1 - return - fi - - stop - start -} - -status() { - if [ ! -f /var/lock/subsys/dund ]; then - msg_not_running dund - RETVAL=3 - return $RETVAL - fi - - nls "dund is running" -} - -RETVAL=0 -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload|force-reload) - stop - start - ;; - try-restart) - condrestart 0 - ;; - status) - status - RETVAL=$? - ;; - *) - msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}" - exit 3 -esac - -exit $RETVAL diff --git a/dund.upstart b/dund.upstart deleted file mode 100644 index 3addb40..0000000 --- a/dund.upstart +++ /dev/null @@ -1,10 +0,0 @@ -description "Bluetooth Dial-Up-Networking Daemon. Provides PPP over RFCOMM services." - -start on pld.sysinit-done -stop on pld.shutdown-started - -script - [ -f /etc/sysconfig/bluetooth ] && . /etc/sysconfig/bluetooth - - /usr/bin/dund ${DUND_OPTIONS} -end script diff --git a/pand.init b/pand.init deleted file mode 100644 index 85210ab..0000000 --- a/pand.init +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/sh -# -# pand Bluetooth Personal Area Networking Daemon -# -# chkconfig: 345 26 89 -# -# description: Bluetooth Personal Area Networking Daemon. Provides network services over Bluetooth. -# -# $Id$ - - -# Source function library -. /etc/rc.d/init.d/functions - -. /etc/sysconfig/network - -[ -f /etc/sysconfig/bluetooth ] && . /etc/sysconfig/bluetooth - -is_no "${NETWORKING}" && exit 0 - -start() { - # Check if the service is already running? - if [ -f /var/lock/subsys/pand ]; then - msg_already_running pand - return - fi - - msg_starting pand - daemon /usr/bin/pand ${PAND_OPTIONS} - RETVAL=$? - touch /var/lock/subsys/pand -} - -stop() { - if [ ! -f /var/lock/subsys/pand ]; then - msg_not_running pand - return - fi - - msg_stopping pand - killproc /usr/bin/pand - rm -f /var/lock/subsys/pand -} - -condrestart() { - if [ ! -f /var/lock/subsys/pand ]; then - msg_not_running pand - RETVAL=$1 - return - fi - - stop - start -} - -RETVAL=0 -# See how we were called. -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|reload|force-reload) - stop - start - ;; - try-restart) - condrestart 0 - ;; - status) - status pand - if [ -f /var/lock/subsys/pand ]; then - nls "pand is running" - exit 0 - else - msg_not_running pand - exit 3 - fi - ;; - *) - msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|status}" - exit 3 -esac - -exit $RETVAL diff --git a/pand.upstart b/pand.upstart deleted file mode 100644 index 87c5117..0000000 --- a/pand.upstart +++ /dev/null @@ -1,10 +0,0 @@ -description "Bluetooth Personal Area Networking Daemon. Provides network services over Bluetooth." - -start on pld.sysinit-done -stop on pld.shutdown-started - -script - [ -f /etc/sysconfig/bluetooth ] && . /etc/sysconfig/bluetooth - - /usr/bin/pand ${PAND_OPTIONS} -end script