# # spec file for package bluez # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2010-2016 B1 Systems GmbH, Vohburg, Germany # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: bluez # FIXME: Do not mangle dbus service / systemd service once we support systemd user services BuildRequires: flex BuildRequires: libcap-ng-devel BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(dbus-1) >= 1.6 %{?systemd_requires} Version: 5.40 Release: 0 Summary: Bluetooth Stack for Linux License: GPL-2.0+ Group: Hardware/Mobile Url: http://www.bluez.org Source: http://www.kernel.org/pub/linux/bluetooth/bluez-%{version}.tar.xz Source5: baselibs.conf Source7: bluetooth.modprobe # fix some logitech HID devices, bnc#681049, bnc#850478 --seife+obs@b1-systems.com Patch1: bluez-5.11-logitech-hid2hci.patch Patch2: bluez-sdp-unix-path.patch BuildRequires: alsa-devel BuildRequires: automake BuildRequires: check-devel BuildRequires: libical-devel BuildRequires: libsndfile-devel BuildRequires: libtool BuildRequires: libudev-devel BuildRequires: pkg-config BuildRequires: readline-devel BuildRequires: udev BuildRequires: pkgconfig(glib-2.0) >= 2.28 Recommends: sbc Provides: bluez-utils = 3.36 Obsoletes: bluez-utils <= 3.36 Provides: bluez-audio = 3.36 Obsoletes: bluez-audio <= 3.36 Obsoletes: bluez-hcidump < 5.0 Provides: bluez-hcidump = %{version} Obsoletes: obexd-client < 5.0 Provides: obexd-client = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build # In openSUSE 11.3 there is upstream compliant CUPS 1.4 # which means to have a fixed "/usr/lib/cups/" directory # on all platforms (see Novell/Suse Bugzilla bnc#575544): %define cups_lib_dir %{_prefix}/lib/cups %description The Bluetooth stack for Linux. %package devel Summary: Files needed for BlueZ development License: GPL-2.0+ Group: Development/Sources Requires: libbluetooth3 = %{version} %description devel Files needed to develop applications for the BlueZ Bluetooth protocol stack. %package -n libbluetooth3 Summary: Bluetooth Libraries License: GPL-2.0+ Group: Hardware/Mobile Provides: bluez-libs = 3.36 Obsoletes: bluez-libs <= 3.36 %description -n libbluetooth3 Bluetooth protocol stack libraries. %package cups Summary: CUPS Driver for Bluetooth Printers License: GPL-2.0+ Group: Hardware/Printing %description cups Contains the files required by CUPS for printing to Bluetooth-connected printers. # disabled for now %package test Summary: Tools for testing of various Bluetooth-functions License: GPL-2.0+ and MIT Group: Development/Tools/Debuggers Requires: dbus-1-python Requires: python-gobject2 %description test Contains a few tools for testing various bluetooth functions. The BLUETOOTH trademarks are owned by Bluetooth SIG, Inc., U.S.A. %prep %setup -q %patch1 -p1 %patch2 -p1 mkdir dbus-apis cp -a doc/*.txt dbus-apis/ # FIXME: Change the dbus service to be a real service, not systemd launched sed -i "s:Exec=/bin/false:Exec=%{_libexecdir}/bluetooth/obexd:g" obexd/src/org.bluez.obex.service sed -i "/SystemdService=.*/d" obexd/src/org.bluez.obex.service # END FIXME %build # --enable-experimental is needed or btattach does not build (bug?) %configure --with-pic \ --enable-pie \ --enable-library \ --enable-tools \ --enable-cups \ --enable-test \ --enable-experimental \ --enable-datafiles \ --with-systemdsystemunitdir=%{_unitdir} \ --with-systemduserunitdir=%{_userunitdir} make %{?_smp_mflags} all V=1 %install %make_install rm -v %{buildroot}/%{_libdir}/*.la install --mode=0644 -D %{SOURCE7} %{buildroot}/%{_sysconfdir}/modprobe.d/50-bluetooth.conf # In openSUSE 11.3 there is upstream compliant CUPS 1.4 # which means to have a fixed "/usr/lib/cups/" directory # on all platforms (see Novell/Suse Bugzilla bnc#575544): if ! test -e %{buildroot}%{cups_lib_dir}/backend/bluetooth then if test -e %{buildroot}%{_libdir}/cups/backend/bluetooth then mkdir -p %{buildroot}%{cups_lib_dir}/backend mv %{buildroot}%{_libdir}/cups/backend/bluetooth %{buildroot}%{cups_lib_dir}/backend/bluetooth fi fi # no idea why this is suddenly necessary... install --mode 0755 -d %{buildroot}%{_localstatedir}/lib/bluetooth # FIXME: Do not delete the systemd service once we support systemd user/session services rm %{buildroot}%{_prefix}/lib/systemd/user/obex.service # end FIXME ## same as in fedora... # "make install" fails to install gatttool, used with Bluetooth Low Energy install -m0755 attrib/gatttool %{buildroot}%{_bindir} # rpmlint warnings... cd %{buildroot}%{_libdir}/bluez/test chmod 0644 *.py *.xml *.dtd %check %if ! 0%{?qemu_user_space_build} make %{?_smp_mflags} check %endif %clean rm -rf %{buildroot} %pre %service_add_pre bluetooth.service %post %{?udev_rules_update:%udev_rules_update} # todo: check if this is still obeyed / needed with systemd %{fillup_only -n bluetooth} # We need the bluez systemd service enabled at any time. It won't start up # on it's own, as it is triggered by udev in the end (bnc#796671) /bin/systemctl enable bluetooth.service 2>&1 || : /bin/systemctl daemon-reload >/dev/null 2>&1 || : %preun %service_del_preun bluetooth.service %postun %service_del_postun bluetooth.service %post -n libbluetooth3 -p /sbin/ldconfig %postun -n libbluetooth3 -p /sbin/ldconfig %files %defattr(-, root, root) %doc AUTHORS COPYING ChangeLog README dbus-apis %{_bindir}/bluemoon %{_bindir}/btattach %{_bindir}/gatttool %{_bindir}/hcitool %{_bindir}/l2ping %{_bindir}/rfcomm %{_bindir}/sdptool %{_bindir}/ciptool %{_bindir}/hciattach %{_bindir}/hciconfig %{_bindir}/hex2hcd %{_bindir}/mpris-proxy %dir /usr/lib/bluetooth /usr/lib/bluetooth/bluetoothd /usr/lib/bluetooth/obexd %{_bindir}/bluetoothctl %{_bindir}/btmon %{_bindir}/hcidump %{_bindir}/bccmd %{_prefix}/lib/udev/ %doc %{_mandir}/man1/btattach.1.gz %doc %{_mandir}/man1/hcidump.1.gz %doc %{_mandir}/man1/hciattach.1.gz %doc %{_mandir}/man1/hciconfig.1.gz %doc %{_mandir}/man8/bluetoothd.8.gz %doc %{_mandir}/man1/hid2hci.1.gz %doc %{_mandir}/man1/bccmd.1.gz %doc %{_mandir}/man1/l2ping.1.gz %doc %{_mandir}/man1/hcitool.1.gz %doc %{_mandir}/man1/sdptool.1.gz %doc %{_mandir}/man1/ciptool.1.gz %doc %{_mandir}/man1/rfcomm.1.gz %doc %{_mandir}/man1/rctest.1.gz %config %{_sysconfdir}/dbus-1/system.d/bluetooth.conf %dir %{_localstatedir}/lib/bluetooth %dir %{_sysconfdir}/modprobe.d %config(noreplace) %{_sysconfdir}/modprobe.d/50-bluetooth.conf %{_unitdir}/bluetooth.service %{_datadir}/dbus-1/system-services/org.bluez.service %{_datadir}/dbus-1/services/org.bluez.obex.service %files devel %defattr(-, root, root) %{_includedir}/bluetooth %{_libdir}/libbluetooth.so %{_libdir}/pkgconfig/bluez.pc %files -n libbluetooth3 %defattr(-, root, root) %{_libdir}/libbluetooth.so.* %doc AUTHORS COPYING ChangeLog README %files cups %defattr(-,root,root) %dir %{cups_lib_dir} %dir %{cups_lib_dir}/backend %{cups_lib_dir}/backend/bluetooth %files test %defattr(-,root,root) #{_bindir}/hciemu %{_bindir}/l2test %{_bindir}/rctest %dir %{_libdir}/bluez %{_libdir}/bluez/test %changelog