mirror of
https://abf.rosa.ru/djam/bluez.git
synced 2025-02-22 22:52:55 +00:00
303 lines
8.7 KiB
RPMSpec
303 lines
8.7 KiB
RPMSpec
%define major 3
|
|
%define libname %mklibname %{name} %{major}
|
|
%define devname %mklibname %{name} -d
|
|
%define mesh 0
|
|
|
|
Summary: Official Linux Bluetooth protocol stack
|
|
Name: bluez
|
|
Version: 5.73
|
|
Release: 1
|
|
Epoch: 2
|
|
License: GPLv2+
|
|
Group: Communications
|
|
URL: https://www.bluez.org
|
|
Source0: http://www.kernel.org/pub/linux/bluetooth/%{name}-%{version}.tar.xz
|
|
Source1: pand.conf
|
|
Source2: dund.conf
|
|
Source3: hidd.conf
|
|
Source4: rfcomm.conf
|
|
Source5: 97-bluetooth.rules
|
|
Source10: bluez-uinput.modules
|
|
# Revert this commit, it leads to huge delay on boot in Plasma 5
|
|
Patch0: bluez-5.36-systemd-conditional.patch
|
|
## Ubuntu patches
|
|
Patch1: 0001-work-around-Logitech-diNovo-Edge-keyboard-firmware-i.patch
|
|
# Non-upstream
|
|
Patch2: 0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch
|
|
Patch3: 0001-obex-Use-GLib-helper-function-to-manipulate-paths.patch
|
|
Patch4: 0004-agent-Assert-possible-infinite-loop.patch
|
|
BuildRequires: bison
|
|
BuildRequires: flex
|
|
BuildRequires: cups-devel
|
|
BuildRequires: elfutils-devel
|
|
BuildRequires: readline-devel
|
|
BuildRequires: sbc-devel
|
|
BuildRequires: speexdsp-devel
|
|
BuildRequires: json-c-devel
|
|
BuildRequires: python3-docutils
|
|
BuildRequires: pkgconfig(alsa)
|
|
BuildRequires: pkgconfig(dbus-1)
|
|
BuildRequires: pkgconfig(expat)
|
|
BuildRequires: pkgconfig(glib-2.0)
|
|
BuildRequires: pkgconfig(libcap-ng)
|
|
BuildRequires: pkgconfig(libical)
|
|
BuildRequires: pkgconfig(libusb)
|
|
BuildRequires: pkgconfig(libusb-1.0)
|
|
BuildRequires: pkgconfig(systemd)
|
|
BuildRequires: pkgconfig(udev) >= 186
|
|
BuildRequires: pkgconfig(json-c) >= 0.13
|
|
Obsoletes: bluez-alsa < 5.0
|
|
Obsoletes: bluez-gstreamer < 5.0
|
|
|
|
%description
|
|
These are the official Bluetooth communication libraries for Linux.
|
|
|
|
%files
|
|
%{_bindir}/ciptool
|
|
#{_bindir}/bccmd
|
|
%{_bindir}/bluemoon
|
|
%{_bindir}/bluetoothctl
|
|
%{_bindir}/btattach
|
|
%{_bindir}/btmon
|
|
%{_bindir}/hciattach
|
|
%{_bindir}/hciconfig
|
|
%{_bindir}/hcidump
|
|
%{_bindir}/hcitool
|
|
%{_bindir}/hex2hcd
|
|
%{_bindir}/l2ping
|
|
%{_bindir}/mpris-proxy
|
|
%{_bindir}/rfcomm
|
|
%{_bindir}/sdptool
|
|
%{_libexecdir}/bluetooth/bluetoothd
|
|
%{_libexecdir}/bluetooth/obexd
|
|
%{_unitdir}/bluetooth.service
|
|
%{_unitdir}/dbus-org.bluez.service
|
|
%{_userunitdir}/obex.service
|
|
#{_mandir}/man1/bccmd.1*
|
|
%{_mandir}/man1/btattach.1*
|
|
%{_mandir}/man1/ciptool.1*
|
|
%{_mandir}/man1/hciattach.1*
|
|
%{_mandir}/man1/hciconfig.1*
|
|
%{_mandir}/man1/hcitool.1*
|
|
%{_mandir}/man1/hcidump.1*
|
|
%{_mandir}/man1/l2ping.1*
|
|
%{_mandir}/man1/rctest.1*
|
|
%{_mandir}/man1/rfcomm.1*
|
|
%{_mandir}/man1/sdptool.1*
|
|
%{_mandir}/man1/btmon.1*
|
|
%{_mandir}/man8/*
|
|
%config(noreplace) %{_sysconfdir}/sysconfig/*
|
|
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/*.conf
|
|
%config(noreplace) %{_sysconfdir}/bluetooth
|
|
%{_datadir}/dbus-1/system-services/org.bluez.service
|
|
%{_datadir}/dbus-1/services/org.bluez.obex.service
|
|
%{_datadir}/zsh/site-functions/_bluetoothctl
|
|
%{_localstatedir}/lib/bluetooth
|
|
%dir %{_libdir}/bluetooth
|
|
%dir %{_libdir}/bluetooth/plugins
|
|
%{_libdir}/bluetooth/plugins/sixaxis.so
|
|
%{_udevrulesdir}/97-bluetooth.rules
|
|
|
|
%post
|
|
%systemd_post bluetooth.service
|
|
|
|
%postun
|
|
%systemd_post bluetooth.service
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package cups
|
|
Summary: CUPS printer backend for Bluetooth printers
|
|
Group: System/Servers
|
|
Requires: cups
|
|
|
|
%description cups
|
|
This package contains the CUPS backend for Bluetooth printers.
|
|
|
|
%files cups
|
|
%{_libdir}/cups/backend/bluetooth
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package -n %{libname}
|
|
Summary: Official Linux Bluetooth protocol stack
|
|
Group: System/Libraries
|
|
|
|
%description -n %{libname}
|
|
These are the official Bluetooth communication libraries for Linux.
|
|
|
|
%files -n %{libname}
|
|
%{_libdir}/libbluetooth.so.%{major}*
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package -n %{devname}
|
|
Summary: Headers for developing programs that will use %{name}
|
|
Group: Development/C++
|
|
Requires: %{libname} = %{EVRD}
|
|
Provides: %{name}-devel = %{EVRD}
|
|
|
|
%description -n %{devname}
|
|
This package contains the headers that programmers will need to develop
|
|
applications which will use libraries from %{name}.
|
|
|
|
%files -n %{devname}
|
|
%doc AUTHORS ChangeLog README
|
|
%dir %{_includedir}/bluetooth
|
|
%{_includedir}/bluetooth/*.h
|
|
%{_libdir}/*.so
|
|
%{_libdir}/pkgconfig/bluez.pc
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package hid2hci
|
|
Summary: Put HID proxying bluetooth HCI's into HCI mode
|
|
Group: Communications
|
|
Requires(post): udev
|
|
|
|
%description hid2hci
|
|
Most allinone PC's and bluetooth keyboard / mouse sets which include a
|
|
bluetooth dongle, ship with a so called HID proxying bluetooth HCI.
|
|
The HID proxying makes the keyboard / mouse show up as regular USB HID
|
|
devices (after connecting using the connect button on the device + keyboard),
|
|
which makes them work without requiring any manual configuration.
|
|
|
|
The bluez-hid2hci package contains the hid2hci utility and udev rules to
|
|
automatically switch supported Bluetooth devices into regular HCI mode.
|
|
|
|
Install this package if you want to use the bluetooth function of the HCI
|
|
with other bluetooth devices like for example a mobile phone.
|
|
|
|
Note that after installing this package you will first need to pair your
|
|
bluetooth keyboard and mouse with the bluetooth adapter before you can use
|
|
them again. Since you cannot use your bluetooth keyboard and mouse until
|
|
they are paired, this will require the use of a regular (wired) USB keyboard
|
|
and mouse.
|
|
|
|
%files hid2hci
|
|
/lib/udev/hid2hci
|
|
%{_mandir}/man1/hid2hci.1*
|
|
/lib/udev/rules.d/97-hid2hci.rules
|
|
|
|
%post hid2hci
|
|
%{_bindir}/udevadm trigger --subsystem-match=usb
|
|
|
|
#----------------------------------------------------------------------------
|
|
%if %{mesh}
|
|
|
|
%package mesh
|
|
Summary: Bluetooth MESH
|
|
Group: Communications
|
|
|
|
%description mesh
|
|
Bluetooth MESH
|
|
|
|
%files mesh
|
|
%{_unitdir}/bluetooth-mesh.service
|
|
%{_bindir}/mesh-cfgclient
|
|
%{_bindir}/meshctl
|
|
%{_libdir}/bluetooth/bluetooth-meshd
|
|
%{_datadir}/dbus-1/system-services/org.bluez.mesh.service
|
|
%endif
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%package test
|
|
Summary: Tools for testing of various Bluetooth-functions
|
|
Group: System/Servers
|
|
Requires: python-dbus
|
|
Requires: python-gobject
|
|
|
|
%description test
|
|
Contains a few tools for testing various bluetooth functions. The
|
|
BLUETOOTH trademarks are owned by Bluetooth SIG, Inc., U.S.A.
|
|
|
|
%files test
|
|
%{_bindir}/simple-agent
|
|
%{_bindir}/l2test
|
|
%{_bindir}/rctest
|
|
%{_bindir}/test-*
|
|
%{_bindir}/isotest
|
|
%{_mandir}/man1/isotest.1*
|
|
|
|
#----------------------------------------------------------------------------
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch0 -p1 -R
|
|
%patch1 -p1
|
|
#patch2 -p1
|
|
#patch3 -p1
|
|
%patch4 -p1
|
|
|
|
libtoolize -f -c
|
|
autoreconf -fi
|
|
|
|
%build
|
|
%configure2_5x \
|
|
--with-systemdsystemunitdir=%{_unitdir} \
|
|
--with-systemduserunitdir=%{_userunitdir} \
|
|
--with-udevdir=/lib/udev \
|
|
--enable-hid2hci \
|
|
--enable-tools \
|
|
--enable-cups \
|
|
--enable-datafiles \
|
|
--enable-debug \
|
|
--enable-library \
|
|
--enable-monitor \
|
|
--enable-udev \
|
|
--enable-obex \
|
|
--enable-client \
|
|
--enable-systemd \
|
|
--enable-threads \
|
|
--enable-sixaxis \
|
|
--enable-nfc \
|
|
--enable-sap \
|
|
--enable-a2dp \
|
|
--enable-health \
|
|
--enable-midi \
|
|
--enable-avrcp \
|
|
--enable-network \
|
|
--enable-hid \
|
|
--enable-hog \
|
|
--enable-experimental \
|
|
--enable-deprecated \
|
|
--enable-testing \
|
|
--disable-mesh \
|
|
--enable-manpages
|
|
|
|
%make
|
|
|
|
%install
|
|
%makeinstall_std rulesdir=%{_sysconfdir}/udev/rules.d udevdir=/lib/udev
|
|
|
|
mkdir -p %{buildroot}%{_sysconfdir}/bluetooth
|
|
echo "1234" > %{buildroot}%{_sysconfdir}/bluetooth/pin
|
|
|
|
chmod 600 %{buildroot}%{_sysconfdir}/bluetooth/pin
|
|
|
|
install -m644 %{SOURCE1} -D %{buildroot}%{_sysconfdir}/sysconfig/pand
|
|
install -m644 %{SOURCE2} -D %{buildroot}%{_sysconfdir}/sysconfig/dund
|
|
install -m644 %{SOURCE3} -D %{buildroot}%{_sysconfdir}/sysconfig/hidd
|
|
install -m644 %{SOURCE4} -D %{buildroot}%{_sysconfdir}/sysconfig/rfcomm
|
|
|
|
cp test/test-* %{buildroot}%{_bindir}
|
|
cp test/simple-agent %{buildroot}%{_bindir}/simple-agent
|
|
|
|
rm %{buildroot}%{_sysconfdir}/udev/rules.d/*.rules
|
|
install -p -m644 tools/hid2hci.rules -D %{buildroot}/lib/udev/rules.d/97-hid2hci.rules
|
|
install -m644 %{SOURCE5} -D %{buildroot}%{_udevrulesdir}/97-bluetooth.rules
|
|
sed s,"/usr/bin/bluetoothd","%{_libexecdir}/bluetooth/bluetoothd",g -i %{buildroot}%{_udevrulesdir}/97-bluetooth.rules
|
|
sed s,"@libexecdir@","%{_libexecdir}/bluetooth",g -i %{buildroot}%{_datadir}/dbus-1/services/org.bluez.obex.service
|
|
|
|
#install more config files
|
|
install -m0644 profiles/network/network.conf %{buildroot}%{_sysconfdir}/bluetooth/
|
|
install -m0644 src/main.conf %{buildroot}%{_sysconfdir}/bluetooth/
|
|
install -m0644 profiles/input/input.conf %{buildroot}%{_sysconfdir}/bluetooth/
|
|
|
|
install -d -m0755 %{buildroot}%{_localstatedir}/lib/bluetooth
|
|
|
|
ln -s bluetooth.service %{buildroot}%{_unitdir}/dbus-org.bluez.service
|
|
|
|
sed 's|#AutoEnable=false|AutoEnable=true|' -i %{buildroot}%{_sysconfdir}/bluetooth/main.conf
|
|
|