X-Git-Url: http://git.pld-linux.org/?p=packages%2Fbluez.git;a=blobdiff_plain;f=bluez.spec;h=89e1635e266fa944f23890c59dd062332f6228a7;hp=444b17c0b48c9f186112a18a95d3928cb37754f9;hb=HEAD;hpb=c768603394939cadc9992da559d0ecfc8321a841 diff --git a/bluez.spec b/bluez.spec index 444b17c..3d1bd68 100644 --- a/bluez.spec +++ b/bluez.spec @@ -1,39 +1,60 @@ # TODO: # - verify/update bluetooth init script # - separate obex? +# +# Conditional build: +%bcond_without deprecated # deprecated tools (ciptool,hciattach,hciconfig,hcidump,hcitool,rfcomm,sdptool) +%bcond_without static_libs # static library +%bcond_without systemd # systemd +# Summary: Bluetooth utilities Summary(pl.UTF-8): Narzędzia Bluetooth Name: bluez -Version: 5.40 +Version: 5.75 Release: 1 License: GPL v2+ Group: Applications/System Source0: https://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.xz -# Source0-md5: eb24c0d9eaeb1fb69833f322ec669e8b +# Source0-md5: e6a640a70a808a2dd46b9ad44a888602 Source1: %{name}.init Source2: %{name}.sysconfig +# Scripts for automatically btattach-ing serial ports connected to Broadcom HCIs +# as found on some Atom based x86 hardware +Source3: 69-btattach-bcm.rules +Source4: btattach-bcm@.service +Source5: btattach-bcm-service.sh +Patch0: 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch URL: http://www.bluez.org/ +BuildRequires: alsa-lib-devel >= 1.0 BuildRequires: autoconf >= 2.60 BuildRequires: automake BuildRequires: check-devel >= 0.9.6 -BuildRequires: dbus-devel >= 1.6 +BuildRequires: cups-devel +BuildRequires: dbus-devel >= 1.10 +BuildRequires: docutils +BuildRequires: ell-devel >= 0.39 BuildRequires: glib2-devel >= 1:2.28 +BuildRequires: json-c-devel >= 0.13 BuildRequires: libical-devel BuildRequires: libtool BuildRequires: pkgconfig >= 1:0.9.0 BuildRequires: readline-devel -BuildRequires: rpmbuild(macros) >= 1.682 +BuildRequires: rpm-build >= 4.6 +BuildRequires: rpmbuild(macros) >= 2.011 +%{?with_systemd:BuildRequires: systemd-devel} BuildRequires: tar >= 1:1.22 -BuildRequires: udev-devel >= 1:172 +BuildRequires: udev-devel >= 1:196 BuildRequires: xz -Requires(post,preun,postun): systemd-units >= 38 +Requires(post,preun,postun): systemd-units >= 1:250.1 Requires: %{name}-libs = %{version}-%{release} -Requires: dbus-libs >= 1.6 +Requires: dbus-libs >= 1.10 +Requires: ell >= 0.39 Requires: glib2 >= 1:2.28 Requires: hwdata >= 0.225 +Requires: json-c >= 0.13 Requires: rc-scripts -Requires: systemd-units >= 38 -Requires: udev >= 1:172 +Requires: systemd-units >= 1:250.1 +Requires: udev >= 1:196 Provides: bluez-hcidump = %{version} Provides: bluez-utils = %{version}-%{release} Provides: obexd = %{version} @@ -41,15 +62,15 @@ 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 +Obsoletes: bluez-hcidump < 3 +Obsoletes: bluez-hciemu < 2 +Obsoletes: bluez-pan < 2 +Obsoletes: bluez-sdp < 2 +Obsoletes: bluez-systemd < 4.98-3 +Obsoletes: bluez-utils < 4 +Obsoletes: bluez-utils-init < 4 +Obsoletes: obexd < 1 +Obsoletes: obex-data-server < 1 # moved somewhere or dropped? #Obsoletes: gstreamer-bluetooth < 4.101-3 #Obsoletes: gstreamer0.10-bluetooth < 5 @@ -89,7 +110,7 @@ Znaki towarowe BLUETOOTH są własnością Bluetooth SIG, Inc. z USA. Summary: Bluetooth backend for CUPS Summary(pl.UTF-8): Backend Bluetooth dla CUPS-a Group: Applications/Printing -Requires: bluez-libs >= %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} Requires: cups %description -n cups-backend-bluetooth @@ -98,11 +119,26 @@ Bluetooth backend for CUPS. %description -n cups-backend-bluetooth -l pl.UTF-8 Backend Bluetooth dla CUPS-a. +%package -n zsh-completion-bluez +Summary: Zsh completion for bluez commands +Summary(pl.UTF-8): Dopełnianie parametrów w zsh dla poleceń z pakietu bluez +Group: Applications/Shells +Requires: %{name} = %{version}-%{release} +Requires: zsh +BuildArch: noarch + +%description -n zsh-completion-bluez +Zsh completion for bluez commands (bluezctl utility). + +%description -n zsh-completion-bluez -l pl.UTF-8 +Dopełnianie parametrów w zsh dla poleceń z pakietu bluez (narzędzia +bluezctl). + %package libs Summary: Bluetooth libraries Summary(pl.UTF-8): Biblioteki Bluetooth Group: Libraries -Obsoletes: bluez-sdp +Obsoletes: bluez-sdp < 2 %description libs Libraries for use in Bluetooth applications. @@ -119,7 +155,7 @@ Summary: Header files for Bluetooth applications Summary(pl.UTF-8): Pliki nagłówkowe dla aplikacji Bluetooth Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} -Obsoletes: bluez-sdp-devel +Obsoletes: bluez-sdp-devel < 2 %description libs-devel bluez-libs-devel contains header files for use in Bluetooth @@ -134,7 +170,7 @@ Summary: Static Bluetooth libraries Summary(pl.UTF-8): Biblioteki statyczne Bluetooth Group: Development/Libraries Requires: %{name}-libs-devel = %{version}-%{release} -Obsoletes: bluez-sdp-static +Obsoletes: bluez-sdp-static < 2 %description libs-static bluez-libs-static contains development static libraries for use in @@ -146,6 +182,10 @@ aplikacji Bluetooth. %prep %setup -q +%patch0 -p1 + +# external ell is broken if ell/ell.h is in place due to deps generation and Makefile.am rules +%{__rm} -r ell %build %{__libtoolize} @@ -155,17 +195,30 @@ aplikacji Bluetooth. %{__automake} %configure \ --disable-silent-rules \ + --enable-btpclient \ + %{?with_deprecated:--enable-deprecated} \ --enable-experimental \ + --enable-external-ell \ + --enable-external-plugins \ + --enable-health \ + --enable-hid2hci \ --enable-library \ + --enable-tools \ + --enable-cups \ + --enable-testing \ + --enable-mesh \ + --enable-midi \ + --enable-nfc \ + --enable-sap \ --enable-sixaxis \ - --enable-static \ - --with-systemdsystemunitdir=%{systemdunitdir} \ - --with-systemduserunitdir=%{systemduserunitdir} + %{__enable_disable static_libs static} \ + --with-udevdir=%{udevdir} \ + %{?with_systemd:--with-systemdsystemunitdir=%{systemdunitdir}} \ + %{?with_systemd:--with-systemduserunitdir=%{systemduserunitdir}} \ + %{!?with_systemd:--disable-systemd} %{__make} \ - cupsdir=%{cupsdir} \ - rulesdir=%{udevdir}/rules.d \ - udevdir=%{udevdir} + cupsdir=%{cupsdir} %install rm -rf $RPM_BUILD_ROOT @@ -178,14 +231,16 @@ install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig} \ rulesdir=%{udevdir}/rules.d \ udevdir=%{udevdir} -%{__rm} $RPM_BUILD_ROOT%{_libdir}/bluetooth/plugins/*.{la,a} - install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/bluetooth install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/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 +#serial port connected Broadcom HCIs scripts +install %{SOURCE3} $RPM_BUILD_ROOT%{udevdir}/rules.d +%{?with_systemd:install %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}} +install %{SOURCE5} $RPM_BUILD_ROOT%{_libexecdir}/bluetooth + +# Install the HCI emulator, useful for testing +install emulator/btvirt $RPM_BUILD_ROOT%{_libexecdir}/bluetooth %{__rm} $RPM_BUILD_ROOT%{_libdir}/libbluetooth.la @@ -196,6 +251,7 @@ rm -rf $RPM_BUILD_ROOT /sbin/chkconfig --add bluetooth %service bluetooth restart %systemd_post bluetooth.service +%systemd_user_post obex.service %preun if [ "$1" = "0" ]; then @@ -203,16 +259,16 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del bluetooth fi %systemd_preun bluetooth.service +%systemd_user_preun obex.service %postun %systemd_reload -%triggerpostun -- bluez < 4.98-3 -%systemd_trigger bluetooth.service - %triggerpostun -- bluez < 5.13-1 %service rfcomm stop /sbin/chkconfig --del rfcomm +# bluez < 4.98-3 +%systemd_trigger bluetooth.service %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig @@ -220,61 +276,100 @@ fi %files %defattr(644,root,root,755) %doc AUTHORS ChangeLog README -%attr(755,root,root) %{_bindir}/bccmd %attr(755,root,root) %{_bindir}/bluemoon %attr(755,root,root) %{_bindir}/bluetoothctl %attr(755,root,root) %{_bindir}/btattach %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}/hex2hcd +%attr(755,root,root) %{_bindir}/isotest %attr(755,root,root) %{_bindir}/l2ping %attr(755,root,root) %{_bindir}/l2test +%attr(755,root,root) %{_bindir}/mesh-cfgclient +%attr(755,root,root) %{_bindir}/mesh-cfgtest +%attr(755,root,root) %{_bindir}/meshctl %attr(755,root,root) %{_bindir}/mpris-proxy %attr(755,root,root) %{_bindir}/rctest +%if %{with deprecated} +%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}/rfcomm %attr(755,root,root) %{_bindir}/sdptool +%endif +%if "%{_libexecdir}" != "%{_libdir}" +%dir %{_libexecdir}/bluetooth +%endif +%attr(755,root,root) %{_libexecdir}/bluetooth/bluetooth-meshd +%attr(755,root,root) %{_libexecdir}/bluetooth/bluetoothd +%attr(755,root,root) %{_libexecdir}/bluetooth/btattach-bcm-service.sh +%attr(755,root,root) %{_libexecdir}/bluetooth/btvirt +%attr(755,root,root) %{_libexecdir}/bluetooth/obexd %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/sixaxis.so %dir %{_libdir}/obex %dir %{_libdir}/obex/plugins %dir %{_sysconfdir}/bluetooth %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/input.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/main.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bluetooth/mesh-main.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(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 +%if %{with systemd} %{systemdunitdir}/bluetooth.service +%{systemdunitdir}/bluetooth-mesh.service +%{systemdunitdir}/btattach-bcm@.service +%{systemduserunitdir}/dbus-org.bluez.obex.service %{systemduserunitdir}/obex.service %{_datadir}/dbus-1/services/org.bluez.obex.service %{_datadir}/dbus-1/system-services/org.bluez.service +%{_datadir}/dbus-1/system-services/org.bluez.mesh.service +%{_datadir}/dbus-1/system.d/bluetooth.conf +%{_datadir}/dbus-1/system.d/bluetooth-mesh.conf +%endif %attr(755,root,root) %{udevdir}/hid2hci +%{udevdir}/rules.d/69-btattach-bcm.rules %{udevdir}/rules.d/97-hid2hci.rules -%{_mandir}/man1/bccmd.1* +%{_mandir}/man1/bluetoothctl.1* +%{_mandir}/man1/bluetoothctl-admin.1* +%{_mandir}/man1/bluetoothctl-advertise.1* +%{_mandir}/man1/bluetoothctl-endpoint.1* +%{_mandir}/man1/bluetoothctl-gatt.1* +%{_mandir}/man1/bluetoothctl-mgmt.1* +%{_mandir}/man1/bluetoothctl-monitor.1* +%{_mandir}/man1/bluetoothctl-player.1* +%{_mandir}/man1/bluetoothctl-scan.1* +%{_mandir}/man1/bluetoothctl-transport.1* %{_mandir}/man1/btattach.1* +%{_mandir}/man1/btmgmt.1* +%{_mandir}/man1/btmon.1* +%{_mandir}/man1/hid2hci.1* +%{_mandir}/man1/isotest.1* +%{_mandir}/man1/l2ping.1* +%{_mandir}/man1/rctest.1* +%if %{with deprecated} %{_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* +%endif +%{_mandir}/man5/org.bluez.*.5* +%{_mandir}/man8/bluetooth-meshd.8* %{_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 zsh-completion-bluez +%defattr(644,root,root,755) +%{zsh_compdir}/_bluetoothctl + %files libs %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/libbluetooth.so.*.*.* @@ -286,6 +381,8 @@ fi %{_includedir}/bluetooth %{_pkgconfigdir}/bluez.pc +%if %{with static_libs} %files libs-static %defattr(644,root,root,755) %{_libdir}/libbluetooth.a +%endif