]> git.pld-linux.org Git - packages/bluez.git/blobdiff - bluez.spec
up to 5.75
[packages/bluez.git] / bluez.spec
index 444b17c0b48c9f186112a18a95d3928cb37754f9..3d1bd685417d2b457979c948b4606be7bf67657d 100644 (file)
@@ -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
This page took 0.064584 seconds and 4 git commands to generate.