Browse Source

git subrepo clone gitea@gitea.artixlinux.org:packagesB/bluez.git bluez

subrepo:
  subdir:   "bluez"
  merged:   "64edaef"
upstream:
  origin:   "gitea@gitea.artixlinux.org:packagesB/bluez.git"
  branch:   "master"
  commit:   "64edaef"
git-subrepo:
  version:  "0.4.0"
  origin:   "???"
  commit:   "???"
master
artoo 3 years ago
parent
commit
1229722493
Signed by: artoo
GPG Key ID: 3292CD0BB0DB310B
  1. 5
      bluez/.artixlinux/agent.yaml
  2. 33
      bluez/.gitignore
  3. 12
      bluez/.gitrepo
  4. 3
      bluez/Jenkinsfile
  5. 2
      bluez/README.md
  6. 58
      bluez/repos/extra-x86_64/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
  7. 163
      bluez/repos/extra-x86_64/PKGBUILD
  8. 3
      bluez/repos/extra-x86_64/bluetooth.modprobe
  9. 10
      bluez/repos/extra-x86_64/bluez-5.50-btpclient-header.patch
  10. 52
      bluez/repos/extra-x86_64/refresh_adv_manager_for_non-LE_devices.diff
  11. 58
      bluez/trunk/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
  12. 163
      bluez/trunk/PKGBUILD
  13. 3
      bluez/trunk/bluetooth.modprobe
  14. 10
      bluez/trunk/bluez-5.50-btpclient-header.patch
  15. 52
      bluez/trunk/refresh_adv_manager_for_non-LE_devices.diff

5
bluez/.artixlinux/agent.yaml

@ -0,0 +1,5 @@
%YAML 1.2
---
label: master

33
bluez/.gitignore vendored

@ -0,0 +1,33 @@
# ---> ArchLinuxPackages
*.tar
*.tar.*
*.jar
*.exe
*.msi
*.zip
*.tgz
*.log
*.log.*
*.sig
pkg/
src/
# ---> Archives
*.7z
*.rar
*.gz
*.bzip
*.bz2
*.xz
*.lzma
*.cab
# ---> systemd
*.service
*.socket
*.timer
# ---> snap
*.snap

12
bluez/.gitrepo

@ -0,0 +1,12 @@
; DO NOT EDIT (unless you know what you are doing)
;
; This subdirectory is a git "subrepo", and this file is maintained by the
; git-subrepo command. See https://github.com/git-commands/git-subrepo#readme
;
[subrepo]
remote = gitea@gitea.artixlinux.org:packagesB/bluez.git
branch = master
commit = 64edaef3b1934190b81e4b4e1ed6481e979fc804
parent = 7830b068f87da100877ae229b937788b7c294bf6
method = merge
cmdver = 0.4.0

3
bluez/Jenkinsfile vendored

@ -0,0 +1,3 @@
@Library('artix-ci') import org.artixlinux.RepoPackage
PackagePipeline(new RepoPackage(this))

2
bluez/README.md

@ -0,0 +1,2 @@
# bluez

58
bluez/repos/extra-x86_64/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch

@ -0,0 +1,58 @@
From 3027cb7141fb65cf3eeda69c688db8c4045e2d3f Mon Sep 17 00:00:00 2001
From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org>
Date: Sat, 12 Oct 2013 17:45:25 +0200
Subject: [PATCH] Allow using obexd without systemd in the user session
Not all sessions run systemd --user (actually, the majority
doesn't), so the dbus daemon must be able to spawn obexd
directly, and to do so it needs the full path of the daemon.
---
Makefile.obexd | 4 ++--
obexd/src/org.bluez.obex.service | 4 ----
obexd/src/org.bluez.obex.service.in | 4 ++++
3 files changed, 6 insertions(+), 6 deletions(-)
delete mode 100644 obexd/src/org.bluez.obex.service
create mode 100644 obexd/src/org.bluez.obex.service.in
diff --git a/Makefile.obexd b/Makefile.obexd
index 3760867..142e7c3 100644
--- a/Makefile.obexd
+++ b/Makefile.obexd
@@ -2,12 +2,12 @@
if SYSTEMD
systemduserunitdir = @SYSTEMD_USERUNITDIR@
systemduserunit_DATA = obexd/src/obex.service
+endif
dbussessionbusdir = @DBUS_SESSIONBUSDIR@
dbussessionbus_DATA = obexd/src/org.bluez.obex.service
-endif
-EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
obex_plugindir = $(libdir)/obex/plugins
diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
deleted file mode 100644
index a538088..0000000
--- a/obexd/src/org.bluez.obex.service
+++ /dev/null
@@ -1,4 +0,0 @@
-[D-BUS Service]
-Name=org.bluez.obex
-Exec=/bin/false
-SystemdService=dbus-org.bluez.obex.service
diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
new file mode 100644
index 0000000..9c815f2
--- /dev/null
+++ b/obexd/src/org.bluez.obex.service.in
@@ -0,0 +1,4 @@
+[D-BUS Service]
+Name=org.bluez.obex
+Exec=@libexecdir@/obexd
+SystemdService=dbus-org.bluez.obex.service
--
1.8.3.1

163
bluez/repos/extra-x86_64/PKGBUILD

@ -0,0 +1,163 @@
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Geoffroy Carrier <geoffroy@archlinux.org>
pkgbase=bluez
pkgname=('bluez' 'bluez-utils' 'bluez-libs' 'bluez-cups' 'bluez-hid2hci' 'bluez-plugins')
pkgver=5.50
pkgrel=6.1
url="http://www.bluez.org/"
arch=('x86_64')
license=('GPL2')
makedepends=('dbus' 'libical' 'eudev' 'alsa-lib' 'ell' 'json-c')
source=(https://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.{xz,sign}
bluetooth.modprobe
refresh_adv_manager_for_non-LE_devices.diff
0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
bluez-5.50-btpclient-header.patch)
# see https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc
sha512sums=('64a680e4b3c270bc2439610c91ad2aef36131d84401e4bbdf6c2b7ec8708a19dfc942b31b9189c38a97ca072c761c669ae1aace5f4ff5d06de3ccbf33184be45'
'SKIP'
'5370ea87fc3f76ab46f2d549c5396b6204a21b629d4765de658fe8e90331b936a36aa8624de8bb2304cc1b78ac2fa6e84f2411f247dff1aab2daf7aa21b2c650'
'c6ef673956963725edc52d667648e51df5b99f820e87705096b4b9338e8a4540722e734f1e8e67998c2fbbefec30645ff1fa064789c8a858f770d1214399561d'
'17a0967ac291be3822e2be73912ab4c1720564bdce0765582e54bc0347d0477d38f82dbf0db9d660f982c35b3c2ea13dd37b22e18223d36745306c4c9d859423'
'adab1e006f71ecaa97576023178fb73c27a8320f09d0c2039675c062314b15613b7dddbe90006afc28ddac4043cb7689987a5a226891363220edcf944fe63740')
validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # Marcel Holtmann <marcel@holtmann.org>
prepare() {
cd ${pkgname}-${pkgver}
patch -Np1 -i ../refresh_adv_manager_for_non-LE_devices.diff
# no systemd obex fix
patch -Np1 -i ../0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
# signal.h missing fix
patch -Np1 -i ../bluez-5.50-btpclient-header.patch
autoreconf -vi
}
build() {
cd ${pkgname}-${pkgver}
./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib \
--with-dbusconfdir=/usr/share \
--enable-btpclient \
--enable-midi \
--enable-sixaxis \
--enable-mesh \
--enable-experimental \
--disable-systemd \
--enable-library # this is deprecated
make
}
check() {
cd $pkgname-$pkgver
make check || /bin/true # https://bugzilla.kernel.org/show_bug.cgi?id=196621
}
package_bluez() {
pkgdesc="Daemons for the bluetooth protocol stack"
depends=('libical' 'dbus' 'glib2' 'alsa-lib')
backup=('etc/bluetooth/main.conf')
conflicts=('obexd-client' 'obexd-server')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-libexecPROGRAMS \
install-dbussessionbusDATA \
install-dbussystembusDATA \
install-dbusDATA \
install-man8
# ship upstream main config file
install -dm755 ${pkgdir}/etc/bluetooth
install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/src/main.conf ${pkgdir}/etc/bluetooth/main.conf
# add basic documention
install -dm755 ${pkgdir}/usr/share/doc/${pkgbase}/dbus-apis
cp -a doc/*.txt ${pkgdir}/usr/share/doc/${pkgbase}/dbus-apis/
# fix module loading errors
install -dm755 ${pkgdir}/usr/lib/modprobe.d
install -Dm644 ${srcdir}/bluetooth.modprobe ${pkgdir}/usr/lib/modprobe.d/bluetooth-usb.conf
# load module at system start required by some functions
# https://bugzilla.kernel.org/show_bug.cgi?id=196621
install -dm755 $pkgdir/usr/lib/modules-load.d
echo "crypto_user" > $pkgdir/usr/lib/modules-load.d/bluez.conf
}
package_bluez-utils() {
pkgdesc="Development and debugging utilities for the bluetooth protocol stack"
depends=('dbus' 'eudev' 'glib2' 'json-c')
optdepends=('ell: for btpclient')
conflicts=('bluez-hcidump')
provides=('bluez-hcidump')
replaces=('bluez-hcidump' 'bluez<=4.101')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-binPROGRAMS \
install-man1
# add missing tools FS#41132, FS#41687, FS#42716
for files in `find tools/ -type f -perm -755`; do
filename=$(basename $files)
install -Dm755 ${srcdir}/${pkgbase}-${pkgver}/tools/$filename ${pkgdir}/usr/bin/$filename
done
# libbluetooth.so* are part of libLTLIBRARIES and binPROGRAMS targets
#make DESTDIR=${pkgdir} uninstall-libLTLIBRARIES
#rmdir ${pkgdir}/usr/lib
rm -rf ${pkgdir}/usr/lib
# move the hid2hci man page out
mv ${pkgdir}/usr/share/man/man1/hid2hci.1 ${srcdir}/
}
package_bluez-libs() {
pkgdesc="Deprecated libraries for the bluetooth protocol stack"
depends=('glibc')
license=('LGPL2.1')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-includeHEADERS \
install-libLTLIBRARIES \
install-pkgconfigDATA
}
package_bluez-cups() {
pkgdesc="CUPS printer backend for Bluetooth printers"
depends=('cups')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} install-cupsPROGRAMS
}
package_bluez-hid2hci() {
pkgdesc="Put HID proxying bluetooth HCI's into HCI mode"
depends=('eudev')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-udevPROGRAMS \
install-rulesDATA
install -dm755 ${pkgdir}/usr/share/man/man1
mv ${srcdir}/hid2hci.1 ${pkgdir}/usr/share/man/man1/hid2hci.1
}
package_bluez-plugins() {
pkgdesc="bluez plugins (PS3 Sixaxis controller)"
depends=('eudev')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-pluginLTLIBRARIES
}

3
bluez/repos/extra-x86_64/bluetooth.modprobe

@ -0,0 +1,3 @@
# use "reset=1" as default, since it should be safe for recent devices and
# solves all kind of problems.
options btusb reset=1

10
bluez/repos/extra-x86_64/bluez-5.50-btpclient-header.patch

@ -0,0 +1,10 @@
diff -Nuar bluez-5.50/tools/btpclient.c bluez-5.50-fixed/tools/btpclient.c
--- bluez-5.50/tools/btpclient.c 2018-03-10 17:37:07.000000000 +0200
+++ bluez-5.50-fixed/tools/btpclient.c 2018-11-18 09:54:38.916794492 +0200
@@ -29,6 +29,7 @@
#include <stdlib.h>
#include <assert.h>
#include <getopt.h>
+#include <signal.h>
#include <ell/ell.h>

52
bluez/repos/extra-x86_64/refresh_adv_manager_for_non-LE_devices.diff

@ -0,0 +1,52 @@
From 2c3bba7b38be03834162e34069156f1fd49f0528 Mon Sep 17 00:00:00 2001
From: "antoine.belvire@laposte.net" <antoine.belvire@laposte.net>
Date: Tue, 27 Mar 2018 20:30:26 +0200
Subject: adapter: Don't refresh adv_manager for non-LE devices
btd_adv_manager_refresh is called upon MGMT_SETTING_DISCOVERABLE setting change
but as only LE adapters have an adv_manager, this leads to segmentation fault
for non-LE devices:
0 btd_adv_manager_refresh (manager=0x0) at src/advertising.c:1176
1 0x0000556fe45fcb02 in settings_changed (settings=<optimized out>,
adapter=0x556fe53f7c70) at src/adapter.c:543
2 new_settings_callback (index=<optimized out>, length=<optimized out>,
param=<optimized out>, user_data=0x556fe53f7c70) at src/adapter.c:573
3 0x0000556fe462c278 in request_complete (mgmt=mgmt@entry=0x556fe53f20c0,
status=<optimized out>, opcode=opcode@entry=7, index=index@entry=0,
length=length@entry=4, param=0x556fe53eb5f9) at src/shared/mgmt.c:261
4 0x0000556fe462cd9d in can_read_data (io=<optimized out>,
user_data=0x556fe53f20c0) at src/shared/mgmt.c:353
5 0x0000556fe46396e3 in watch_callback (channel=<optimized out>,
cond=<optimized out>, user_data=<optimized out>)
at src/shared/io-glib.c:170
6 0x00007fe351c980e5 in g_main_context_dispatch ()
from /usr/lib64/libglib-2.0.so.0
7 0x00007fe351c984b0 in ?? () from /usr/lib64/libglib-2.0.so.0
8 0x00007fe351c987c2 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
9 0x0000556fe45abc75 in main (argc=<optimized out>, argv=<optimized out>)
at src/main.c:770
This commit prevents the call to btd_adv_manager_refresh for non-LE devices.
---
src/adapter.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/adapter.c b/src/adapter.c
index 6b9222b..daccfdc 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -540,7 +540,8 @@ static void settings_changed(struct btd_adapter *adapter, uint32_t settings)
g_dbus_emit_property_changed(dbus_conn, adapter->path,
ADAPTER_INTERFACE, "Discoverable");
store_adapter_info(adapter);
- btd_adv_manager_refresh(adapter->adv_manager);
+ if (adapter->supported_settings & MGMT_SETTING_LE)
+ btd_adv_manager_refresh(adapter->adv_manager);
}
if (changed_mask & MGMT_SETTING_BONDABLE) {
--
cgit v1.1

58
bluez/trunk/0001-Allow-using-obexd-without-systemd-in-the-user-session.patch

@ -0,0 +1,58 @@
From 3027cb7141fb65cf3eeda69c688db8c4045e2d3f Mon Sep 17 00:00:00 2001
From: Giovanni Campagna <gcampagna-cNUdlRotFMnNLxjTenLetw@public.gmane.org>
Date: Sat, 12 Oct 2013 17:45:25 +0200
Subject: [PATCH] Allow using obexd without systemd in the user session
Not all sessions run systemd --user (actually, the majority
doesn't), so the dbus daemon must be able to spawn obexd
directly, and to do so it needs the full path of the daemon.
---
Makefile.obexd | 4 ++--
obexd/src/org.bluez.obex.service | 4 ----
obexd/src/org.bluez.obex.service.in | 4 ++++
3 files changed, 6 insertions(+), 6 deletions(-)
delete mode 100644 obexd/src/org.bluez.obex.service
create mode 100644 obexd/src/org.bluez.obex.service.in
diff --git a/Makefile.obexd b/Makefile.obexd
index 3760867..142e7c3 100644
--- a/Makefile.obexd
+++ b/Makefile.obexd
@@ -2,12 +2,12 @@
if SYSTEMD
systemduserunitdir = @SYSTEMD_USERUNITDIR@
systemduserunit_DATA = obexd/src/obex.service
+endif
dbussessionbusdir = @DBUS_SESSIONBUSDIR@
dbussessionbus_DATA = obexd/src/org.bluez.obex.service
-endif
-EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service
+EXTRA_DIST += obexd/src/obex.service.in obexd/src/org.bluez.obex.service.in
obex_plugindir = $(libdir)/obex/plugins
diff --git a/obexd/src/org.bluez.obex.service b/obexd/src/org.bluez.obex.service
deleted file mode 100644
index a538088..0000000
--- a/obexd/src/org.bluez.obex.service
+++ /dev/null
@@ -1,4 +0,0 @@
-[D-BUS Service]
-Name=org.bluez.obex
-Exec=/bin/false
-SystemdService=dbus-org.bluez.obex.service
diff --git a/obexd/src/org.bluez.obex.service.in b/obexd/src/org.bluez.obex.service.in
new file mode 100644
index 0000000..9c815f2
--- /dev/null
+++ b/obexd/src/org.bluez.obex.service.in
@@ -0,0 +1,4 @@
+[D-BUS Service]
+Name=org.bluez.obex
+Exec=@libexecdir@/obexd
+SystemdService=dbus-org.bluez.obex.service
--
1.8.3.1

163
bluez/trunk/PKGBUILD

@ -0,0 +1,163 @@
# Maintainer: Tom Gundersen <teg@jklm.no>
# Contributor: Andrea Scarpino <andrea@archlinux.org>
# Contributor: Geoffroy Carrier <geoffroy@archlinux.org>
pkgbase=bluez
pkgname=('bluez' 'bluez-utils' 'bluez-libs' 'bluez-cups' 'bluez-hid2hci' 'bluez-plugins')
pkgver=5.50
pkgrel=6.1
url="http://www.bluez.org/"
arch=('x86_64')
license=('GPL2')
makedepends=('dbus' 'libical' 'eudev' 'alsa-lib' 'ell' 'json-c')
source=(https://www.kernel.org/pub/linux/bluetooth/${pkgname}-${pkgver}.tar.{xz,sign}
bluetooth.modprobe
refresh_adv_manager_for_non-LE_devices.diff
0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
bluez-5.50-btpclient-header.patch)
# see https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc
sha512sums=('64a680e4b3c270bc2439610c91ad2aef36131d84401e4bbdf6c2b7ec8708a19dfc942b31b9189c38a97ca072c761c669ae1aace5f4ff5d06de3ccbf33184be45'
'SKIP'
'5370ea87fc3f76ab46f2d549c5396b6204a21b629d4765de658fe8e90331b936a36aa8624de8bb2304cc1b78ac2fa6e84f2411f247dff1aab2daf7aa21b2c650'
'c6ef673956963725edc52d667648e51df5b99f820e87705096b4b9338e8a4540722e734f1e8e67998c2fbbefec30645ff1fa064789c8a858f770d1214399561d'
'17a0967ac291be3822e2be73912ab4c1720564bdce0765582e54bc0347d0477d38f82dbf0db9d660f982c35b3c2ea13dd37b22e18223d36745306c4c9d859423'
'adab1e006f71ecaa97576023178fb73c27a8320f09d0c2039675c062314b15613b7dddbe90006afc28ddac4043cb7689987a5a226891363220edcf944fe63740')
validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # Marcel Holtmann <marcel@holtmann.org>
prepare() {
cd ${pkgname}-${pkgver}
patch -Np1 -i ../refresh_adv_manager_for_non-LE_devices.diff
# no systemd obex fix
patch -Np1 -i ../0001-Allow-using-obexd-without-systemd-in-the-user-session.patch
# signal.h missing fix
patch -Np1 -i ../bluez-5.50-btpclient-header.patch
autoreconf -vi
}
build() {
cd ${pkgname}-${pkgver}
./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--sysconfdir=/etc \
--localstatedir=/var \
--libexecdir=/usr/lib \
--with-dbusconfdir=/usr/share \
--enable-btpclient \
--enable-midi \
--enable-sixaxis \
--enable-mesh \
--enable-experimental \
--disable-systemd \
--enable-library # this is deprecated
make
}
check() {
cd $pkgname-$pkgver
make check || /bin/true # https://bugzilla.kernel.org/show_bug.cgi?id=196621
}
package_bluez() {
pkgdesc="Daemons for the bluetooth protocol stack"
depends=('libical' 'dbus' 'glib2' 'alsa-lib')
backup=('etc/bluetooth/main.conf')
conflicts=('obexd-client' 'obexd-server')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-libexecPROGRAMS \
install-dbussessionbusDATA \
install-dbussystembusDATA \
install-dbusDATA \
install-man8
# ship upstream main config file
install -dm755 ${pkgdir}/etc/bluetooth
install -Dm644 ${srcdir}/${pkgbase}-${pkgver}/src/main.conf ${pkgdir}/etc/bluetooth/main.conf
# add basic documention
install -dm755 ${pkgdir}/usr/share/doc/${pkgbase}/dbus-apis
cp -a doc/*.txt ${pkgdir}/usr/share/doc/${pkgbase}/dbus-apis/
# fix module loading errors
install -dm755 ${pkgdir}/usr/lib/modprobe.d
install -Dm644 ${srcdir}/bluetooth.modprobe ${pkgdir}/usr/lib/modprobe.d/bluetooth-usb.conf
# load module at system start required by some functions
# https://bugzilla.kernel.org/show_bug.cgi?id=196621
install -dm755 $pkgdir/usr/lib/modules-load.d
echo "crypto_user" > $pkgdir/usr/lib/modules-load.d/bluez.conf
}
package_bluez-utils() {
pkgdesc="Development and debugging utilities for the bluetooth protocol stack"
depends=('dbus' 'eudev' 'glib2' 'json-c')
optdepends=('ell: for btpclient')
conflicts=('bluez-hcidump')
provides=('bluez-hcidump')
replaces=('bluez-hcidump' 'bluez<=4.101')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-binPROGRAMS \
install-man1
# add missing tools FS#41132, FS#41687, FS#42716
for files in `find tools/ -type f -perm -755`; do
filename=$(basename $files)
install -Dm755 ${srcdir}/${pkgbase}-${pkgver}/tools/$filename ${pkgdir}/usr/bin/$filename
done
# libbluetooth.so* are part of libLTLIBRARIES and binPROGRAMS targets
#make DESTDIR=${pkgdir} uninstall-libLTLIBRARIES
#rmdir ${pkgdir}/usr/lib
rm -rf ${pkgdir}/usr/lib
# move the hid2hci man page out
mv ${pkgdir}/usr/share/man/man1/hid2hci.1 ${srcdir}/
}
package_bluez-libs() {
pkgdesc="Deprecated libraries for the bluetooth protocol stack"
depends=('glibc')
license=('LGPL2.1')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-includeHEADERS \
install-libLTLIBRARIES \
install-pkgconfigDATA
}
package_bluez-cups() {
pkgdesc="CUPS printer backend for Bluetooth printers"
depends=('cups')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} install-cupsPROGRAMS
}
package_bluez-hid2hci() {
pkgdesc="Put HID proxying bluetooth HCI's into HCI mode"
depends=('eudev')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-udevPROGRAMS \
install-rulesDATA
install -dm755 ${pkgdir}/usr/share/man/man1
mv ${srcdir}/hid2hci.1 ${pkgdir}/usr/share/man/man1/hid2hci.1
}
package_bluez-plugins() {
pkgdesc="bluez plugins (PS3 Sixaxis controller)"
depends=('eudev')
cd ${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} \
install-pluginLTLIBRARIES
}

3
bluez/trunk/bluetooth.modprobe

@ -0,0 +1,3 @@
# use "reset=1" as default, since it should be safe for recent devices and
# solves all kind of problems.
options btusb reset=1

10
bluez/trunk/bluez-5.50-btpclient-header.patch

@ -0,0 +1,10 @@
diff -Nuar bluez-5.50/tools/btpclient.c bluez-5.50-fixed/tools/btpclient.c
--- bluez-5.50/tools/btpclient.c 2018-03-10 17:37:07.000000000 +0200
+++ bluez-5.50-fixed/tools/btpclient.c 2018-11-18 09:54:38.916794492 +0200
@@ -29,6 +29,7 @@
#include <stdlib.h>
#include <assert.h>
#include <getopt.h>
+#include <signal.h>
#include <ell/ell.h>

52
bluez/trunk/refresh_adv_manager_for_non-LE_devices.diff

@ -0,0 +1,52 @@
From 2c3bba7b38be03834162e34069156f1fd49f0528 Mon Sep 17 00:00:00 2001
From: "antoine.belvire@laposte.net" <antoine.belvire@laposte.net>
Date: Tue, 27 Mar 2018 20:30:26 +0200
Subject: adapter: Don't refresh adv_manager for non-LE devices
btd_adv_manager_refresh is called upon MGMT_SETTING_DISCOVERABLE setting change
but as only LE adapters have an adv_manager, this leads to segmentation fault
for non-LE devices:
0 btd_adv_manager_refresh (manager=0x0) at src/advertising.c:1176
1 0x0000556fe45fcb02 in settings_changed (settings=<optimized out>,
adapter=0x556fe53f7c70) at src/adapter.c:543
2 new_settings_callback (index=<optimized out>, length=<optimized out>,
param=<optimized out>, user_data=0x556fe53f7c70) at src/adapter.c:573
3 0x0000556fe462c278 in request_complete (mgmt=mgmt@entry=0x556fe53f20c0,
status=<optimized out>, opcode=opcode@entry=7, index=index@entry=0,
length=length@entry=4, param=0x556fe53eb5f9) at src/shared/mgmt.c:261
4 0x0000556fe462cd9d in can_read_data (io=<optimized out>,
user_data=0x556fe53f20c0) at src/shared/mgmt.c:353
5 0x0000556fe46396e3 in watch_callback (channel=<optimized out>,
cond=<optimized out>, user_data=<optimized out>)
at src/shared/io-glib.c:170
6 0x00007fe351c980e5 in g_main_context_dispatch ()
from /usr/lib64/libglib-2.0.so.0
7 0x00007fe351c984b0 in ?? () from /usr/lib64/libglib-2.0.so.0
8 0x00007fe351c987c2 in g_main_loop_run () from /usr/lib64/libglib-2.0.so.0
9 0x0000556fe45abc75 in main (argc=<optimized out>, argv=<optimized out>)
at src/main.c:770
This commit prevents the call to btd_adv_manager_refresh for non-LE devices.
---
src/adapter.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/adapter.c b/src/adapter.c
index 6b9222b..daccfdc 100644
--- a/src/adapter.c
+++ b/src/adapter.c
@@ -540,7 +540,8 @@ static void settings_changed(struct btd_adapter *adapter, uint32_t settings)
g_dbus_emit_property_changed(dbus_conn, adapter->path,
ADAPTER_INTERFACE, "Discoverable");
store_adapter_info(adapter);
- btd_adv_manager_refresh(adapter->adv_manager);
+ if (adapter->supported_settings & MGMT_SETTING_LE)
+ btd_adv_manager_refresh(adapter->adv_manager);
}
if (changed_mask & MGMT_SETTING_BONDABLE) {
--
cgit v1.1
Loading…
Cancel
Save