This commit is contained in:
milisbir 2018-08-16 00:39:46 +03:00
parent 195e76ad78
commit 8fff767fae
4 changed files with 139 additions and 12 deletions

View File

@ -1,24 +1,31 @@
# Tanım: A GTK+ Bluetooth Yöneticisi
# URL: https://github.com/blueman-project/blueman
# Paketçi: milisarge
# Gerekler: cython intltool bluez dbus-glib gconf gtk3 notification-daemon libnotify polkit python-cairo dbus-python python-gobject startup-notification
# Gerekler: cython intltool bluez dbus-glib gconf gtk3 notification-daemon libnotify polkit python3-cairo python3-dbus python3-gobject startup-notification
# Grup: ağ
isim=blueman
surum=2.0.5
surum=2.0.6
devir=1
kaynak=(https://github.com/blueman-project/blueman/releases/download/2.0.5/$isim-$surum.tar.xz::$isim-$surum.tar.xz)
kaynak=(https://github.com/blueman-project/blueman/releases/download/$surum/$isim-$surum.tar.xz::$isim-$surum.tar.xz)
derle() {
cd "${SRC}/${isim}-${surum}"
NOCONFIGURE=1 ./autogen.sh
export PYTHON=/usr/bin/python2
export PYTHON=/usr/bin/python3
export CYTHONEXEC=/usr/bin/cython
sed -i 's|/usr/sbin/bluetoothd|/usr/lib/bluetooth/bluetoothd|' apps/blueman-report
# Fix non-standard icon names
sed -i 's/gtk-find/edit-find/' data/ui/device-list-widget.ui
sed -i 's/mouse/input-mouse/' blueman/services/Input.py
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--libexecdir=/usr/lib/$pkgname \
--libexecdir=/usr/lib/$isim \
--disable-schemas-compile
make
make DESTDIR="${PKG}" install
cd $PKG/usr/bin
sed -i "s/\/usr\/bin\/env python/\/usr\/bin\/env python3/g" blueman-*
}

View File

@ -0,0 +1,61 @@
Submitted By: Armin K. <krejzi at email dot com>
Date: 2013-04-29
Initial Package Version: 5.17
Upstream Status: unknown
Origin: Arch Linux (Giovanni Campagna)
Description: 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

View File

@ -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

View File

@ -5,15 +5,17 @@
# Grup: kütüphane
isim=bluez
surum=5.47
devir=3
surum=5.50
devir=1
kaynak=(http://www.kernel.org/pub/linux/bluetooth/$isim-$surum.tar.xz
http://www.linuxfromscratch.org/patches/blfs/svn/bluez-$surum-obexd_without_systemd-1.patch
bluetooth.modprobe)
bluetooth.modprobe
bluez-5.50-obexd_without_systemd-1.patch
refresh_adv_manager_for_non-LE_devices.diff)
derle() {
cd $isim-$surum
patch -Np1 -i ../$isim-$surum-obexd_without_systemd-1.patch
patch -Np1 -i ../bluez-5.50-obexd_without_systemd-1.patch
patch -Np1 -i ../refresh_adv_manager_for_non-LE_devices.diff
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
@ -48,7 +50,9 @@ derle() {
make DESTDIR=${PKG} \
install-udevPROGRAMS \
install-rulesDATA
install-rulesDATA \
install-includeHEADERS \
install-pkgconfigDATA
make DESTDIR=${PKG} \
install-pluginLTLIBRARIES
@ -66,5 +70,8 @@ derle() {
ln -sf /usr/lib/bluetooth/obexd "$PKG/usr/sbin/obexd"
rm -rf ${PKG}/lib/udev/hid2hci
cd /sources/milis.git/ayarlar/servisler
make DESTDIR=$PKG kur-bluetooth
make DESTDIR=$PKG kur-bluetooth
install -dm755 $PKG/usr/lib/modules-load.d
echo "crypto_user" > $PKG/usr/lib/modules-load.d/bluez.conf
}