+# 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.27
+Version: 5.11
Release: 1
-Epoch: 0
License: GPL v2+
Group: Applications/System
-#Source0Download: http://www.bluez.org/download.html
-Source0: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.gz
-# Source0-md5: 4f0bd19dd04a32eba6149b82b26c3f30
+Source0: https://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.xz
+# Source0-md5: 8a2544d8c88e1f4bd3abe9525282b13c
Source1: %{name}.init
Source2: %{name}.sysconfig
-Source3: %{name}-udev.rules
-Source4: %{name}-udev.script
-Patch0: %{name}-etc_dir.patch
+# FIXME: rfcomm.conf no longer supported
+Source5: rfcomm.init
+Patch0: %{name}-wacom-mode-2.patch
URL: http://www.bluez.org/
-BuildRequires: alsa-lib-devel >= 1.0.10-1
-BuildRequires: autoconf >= 2.50
+BuildRequires: autoconf >= 2.60
BuildRequires: automake
-BuildRequires: bison
-BuildRequires: dbus-glib-devel >= 0.60
-BuildRequires: glib2-devel >= 2.0
-BuildRequires: gstreamer-devel >= 0.10
-BuildRequires: gstreamer-plugins-base-devel >= 0.10
-BuildRequires: libsndfile-devel
+BuildRequires: check-devel >= 0.9.6
+BuildRequires: dbus-devel >= 1.4
+BuildRequires: glib2-devel >= 1:2.28
+BuildRequires: libical-devel
BuildRequires: libtool
-BuildRequires: libusb-devel
-BuildRequires: openobex-devel >= 1.1
BuildRequires: pkgconfig >= 1:0.9.0
-BuildRequires: rpmbuild(macros) >= 1.268
-Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+BuildRequires: readline-devel
+BuildRequires: rpmbuild(macros) >= 1.626
+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
+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}
+Provides: dbus(org.openobex.client)
+Provides: obex-data-server = %{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
+Obsoletes: obex-data-server
+# moved somewhere or dropped?
+#Obsoletes: gstreamer-bluetooth < 4.101-3
+#Obsoletes: gstreamer0.10-bluetooth < 5
Conflicts: bluez-bluefw
-Provides: bluez-utils = %{epoch}:%{version}-%{release}
ExcludeArch: s390 s390x
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Bluetooth utilities:
- - hcitool
+ - bluetoothd
- hciattach
- hciconfig
- - hcid
- - 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:
- - hcitool
+ - bluetoothd
- hciattach
- hciconfig
- - hcid
- - 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} = %{epoch}:%{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
Group: Applications/Printing
-Requires: bluez-libs >= %{epoch}:%{version}-%{release}
+Requires: bluez-libs >= %{version}-%{release}
Requires: cups
%description -n cups-backend-bluetooth
%description -n cups-backend-bluetooth -l pl.UTF-8
Backend Bluetooth dla CUPS-a.
-%package -n gstreamer-bluetooth
-Summary: Bluetooth support for gstreamer
-Summary(pl.UTF-8): Obsługa Bluetooth dla gstreamera
-Group: Libraries
-Requires: bluez-libs >= %{epoch}:%{version}-%{release}
-Requires: gstreamer >= 0.10
-Requires: gstreamer-plugins-base >= 0.10
-
-%description -n gstreamer-bluetooth
-Bluetooth support for gstreamer.
-
-%description -n gstreamer-bluetooth -l pl.UTF-8
-Obsługa Bluetooth dla gstreamera.
-
%package libs
Summary: Bluetooth libraries
Summary(pl.UTF-8): Biblioteki Bluetooth
-Group: Development/Libraries
+Group: Libraries
Obsoletes: bluez-sdp
%description libs
Summary: Header files for Bluetooth applications
Summary(pl.UTF-8): Pliki nagłówkowe dla aplikacji Bluetooth
Group: Development/Libraries
-Requires: %{name}-libs = %{epoch}:%{version}-%{release}
+Requires: %{name}-libs = %{version}-%{release}
Obsoletes: bluez-sdp-devel
%description libs-devel
Summary: Static Bluetooth libraries
Summary(pl.UTF-8): Biblioteki statyczne Bluetooth
Group: Development/Libraries
-Requires: %{name}-libs-devel = %{epoch}:%{version}-%{release}
+Requires: %{name}-libs-devel = %{version}-%{release}
Obsoletes: bluez-sdp-static
%description libs-static
%{__autoheader}
%{__automake}
%configure \
- --enable-shared \
- --enable-static \
- --enable-alsa \
- --enable-audio \
- --enable-bccmd \
- --enable-configfiles \
- --enable-cups \
- --enable-dfutool \
- --enable-dund \
- --enable-gstreamer \
- --enable-hid2hci \
- --enable-hidd \
- --enable-input \
- --enable-manpages \
- --enable-netlink \
- --enable-network \
- --enable-pand \
- --enable-pcmciarules \
- --enable-serial \
- --enable-tools \
- --enable-usb
+ --disable-silent-rules \
+ --enable-library \
+ --enable-static
+# these options are broken; BR systemd instead
+# --with-systemdsystemunitdir=%{systemdunitdir} \
+# --with-systemduserunitdir=%{_prefix}/lib/systemd/user \
%{__make} \
cupsdir=%{cupsdir} \
+ rulesdir=%{udevdir}/rules.d \
udevdir=%{udevdir}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig}
-install -d $RPM_BUILD_ROOT{/etc/udev/rules.d,%{udevdir}}
+install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \
+ $RPM_BUILD_ROOT{%{_libdir}/bluetooth/plugins,%{_sysconfdir}/bluetooth}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
cupsdir=%{cupsdir} \
+ rulesdir=%{udevdir}/rules.d \
udevdir=%{udevdir}
-# noinst
-#install sync/bluetoothd-service-sync $RPM_BUILD_ROOT%{_libdir}/bluetooth
-
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/udev/rules.d/70-bluetooth.rules
-install %{SOURCE4} $RPM_BUILD_ROOT%{udevdir}/bluetooth.sh
-mv $RPM_BUILD_ROOT/etc/udev/bluetooth.rules \
- $RPM_BUILD_ROOT/etc/udev/rules.d/71-bluetooth.rules
+install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/rfcomm
+
+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 -f $RPM_BUILD_ROOT%{_libdir}/alsa-lib/*.{,l}a
-rm -f $RPM_BUILD_ROOT%{_libdir}/bluetooth/plugins/*.{,l}a
-rm -f $RPM_BUILD_ROOT%{_libdir}/gstreamer*/libgstbluetooth.{,l}a
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libbluetooth.la
%clean
rm -rf $RPM_BUILD_ROOT
%post
/sbin/chkconfig --add bluetooth
+/sbin/chkconfig --add rfcomm
%service bluetooth restart
+%service rfcomm restart
+%systemd_post bluetooth.service
%preun
if [ "$1" = "0" ]; then
%service bluetooth stop
+ %service rfcomm stop
/sbin/chkconfig --del bluetooth
+ /sbin/chkconfig --del rfcomm
fi
+%systemd_preun bluetooth.service
+
+%postun
+%systemd_reload
-%post libs -p /sbin/ldconfig
+%triggerpostun -- bluez < 4.98-3
+%systemd_trigger bluetooth.service
+
+%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc AUTHORS ChangeLog README
-%attr(755,root,root) %{_bindir}/*
-%attr(755,root,root) %{_sbindir}/*
+%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}/hciattach
+%attr(755,root,root) %{_bindir}/hciconfig
+%attr(755,root,root) %{_bindir}/hcidump
+%attr(755,root,root) %{_bindir}/hcitool
+%attr(755,root,root) %{_bindir}/l2ping
+%attr(755,root,root) %{_bindir}/l2test
+%attr(755,root,root) %{_bindir}/rctest
+%attr(755,root,root) %{_bindir}/rfcomm
+%attr(755,root,root) %{_bindir}/sdptool
%dir %{_libdir}/bluetooth
+%attr(755,root,root) %{_libdir}/bluetooth/bluetoothd
+%attr(755,root,root) %{_libdir}/bluetooth/obexd
%dir %{_libdir}/bluetooth/plugins
-%attr(755,root,root) %{_libdir}/bluetooth/plugins/*.so
%dir %{_sysconfdir}/bluetooth
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/main.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/rfcomm.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/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
-%attr(755,root,root) %{udevdir}/bluetooth.sh
-%attr(755,root,root) %{udevdir}/bluetooth_serial
-%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/70-bluetooth.rules
-%config(noreplace) %verify(not md5 mtime size) /etc/udev/rules.d/71-bluetooth.rules
-%{_mandir}/man[18]/*
-
-%files -n alsa-plugins-bluetooth
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/alsa-lib/libasound_module_ctl_bluetooth.so
-%attr(755,root,root) %{_libdir}/alsa-lib/libasound_module_pcm_bluetooth.so
+%{systemdunitdir}/bluetooth.service
+%{_prefix}/lib/systemd/user/obex.service
+%{_datadir}/dbus-1/system-services/org.bluez.service
+%{_datadir}/dbus-1/services/org.bluez.obex.service
+%attr(755,root,root) %{udevdir}/hid2hci
+%{udevdir}/rules.d/97-hid2hci.rules
+%{_mandir}/man1/bccmd.1*
+%{_mandir}/man1/ciptool.1*
+%{_mandir}/man1/hciattach.1*
+%{_mandir}/man1/hciconfig.1*
+%{_mandir}/man1/hcidump.1*
+%{_mandir}/man1/hcitool.1*
+%{_mandir}/man1/hid2hci.1*
+%{_mandir}/man1/l2ping.1*
+%{_mandir}/man1/rctest.1*
+%{_mandir}/man1/rfcomm.1*
+%{_mandir}/man1/sdptool.1*
+%{_mandir}/man8/bluetoothd.8*
%files -n cups-backend-bluetooth
%defattr(644,root,root,755)
%attr(755,root,root) %{_prefix}/lib/cups/backend/bluetooth
-%files -n gstreamer-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.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libbluetooth.so.[0-9]
+%attr(755,root,root) %ghost %{_libdir}/libbluetooth.so.3
%files libs-devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libbluetooth.so
-%{_libdir}/libbluetooth.la
%{_includedir}/bluetooth
%{_pkgconfigdir}/bluez.pc