bluez: added patch from fedora for dbus systemd activation, revbump.

This commit is contained in:
Juan RP 2012-03-01 10:00:23 +01:00
parent 805595ff63
commit cbf5bce825
7 changed files with 127 additions and 29 deletions

View file

@ -1,4 +1,3 @@
libasound.so.2
librt.so.1
libc.so.6
libpthread.so.0

View file

@ -7,6 +7,7 @@ long_desc="
BlueZ is the official Linux Bluetooth Stack. It is an Open Source project
distributed under GNU General Public License (GPL)."
revision=1
conf_files="/usr/share/alsa/bluetooth.conf"
Add_dependency run bluez

View file

@ -10,4 +10,3 @@ libglib-2.0.so.0
libgstaudio-0.10.so.0
libgstrtp-0.10.so.0
libc.so.6
libgstbase-0.10.so.0

View file

@ -7,6 +7,7 @@ long_desc="
BlueZ is the official Linux Bluetooth Stack. It is an Open Source project
distributed under GNU General Public License (GPL)."
revision=1
Add_dependency run bluez
do_install()

View file

@ -0,0 +1,121 @@
From 0080ce8a37152b0ee7750799e01de3bf810f8caf Mon Sep 17 00:00:00 2001
From: Lennart Poettering <lennart@poettering.net>
Date: Wed, 21 Jul 2010 19:20:44 +0200
Subject: [PATCH] systemd: install systemd unit files
This also enables bus activation for bluetoothd, but only if systemd is
running. Only if that's the case we can make sure in a race-free fashion
that bluetoothd is not started twice at the same time.
---
Makefile.am | 21 ++++++++++++++++++---
configure.ac | 9 +++++++++
scripts/.gitignore | 1 +
scripts/bluetooth.service.in | 13 +++++++++++++
scripts/org.bluez.service | 5 +++++
5 files changed, 46 insertions(+), 3 deletions(-)
create mode 100644 scripts/.gitignore
create mode 100644 scripts/bluetooth.service.in
create mode 100644 scripts/org.bluez.service
diff --git a/Makefile.am b/Makefile.am
index aecc8f2..6e18003 100644
--- Makefile.am
+++ Makefile.am
@@ -387,10 +387,25 @@ endif
rules_DATA = $(foreach file,$(udev_files), scripts/97-$(notdir $(file)))
endif
+if HAVE_SYSTEMD
+systemdsystemunit_DATA = \
+ scripts/bluetooth.service
+
+scripts/bluetooth.service: scripts/bluetooth.service.in
+ @$(SED) -e "s|\@sbindir\@|$(sbindir)|" $< >$@
+
+dbussystemservicesdir = $(datadir)/dbus-1/system-services
+
+dbussystemservices_DATA = \
+ scripts/org.bluez.service
+
+endif
+
CLEANFILES += $(rules_DATA)
EXTRA_DIST += scripts/bluetooth.rules \
- scripts/bluetooth-hid2hci.rules scripts/bluetooth-serial.rules
+ scripts/bluetooth-hid2hci.rules scripts/bluetooth-serial.rules \
+ scripts/bluetooth.service.in scripts/org.bluez.service
EXTRA_DIST += doc/manager-api.txt \
doc/adapter-api.txt doc/device-api.txt \
@@ -417,9 +432,9 @@ pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = bluez.pc
-DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles
+DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles --with-systemdsystemunitdir=
-DISTCLEANFILES = $(pkgconfig_DATA)
+DISTCLEANFILES = $(pkgconfig_DATA) scripts/bluetooth.service
MAINTAINERCLEANFILES = Makefile.in \
aclocal.m4 configure config.h.in config.sub config.guess \
diff --git a/configure.ac b/configure.ac
index bc2658c..b4502ab 100644
--- configure.ac
+++ configure.ac
@@ -71,5 +71,14 @@ if (test -n "${path_systemdunit}"); then
fi
AM_CONDITIONAL(SYSTEMD, test -n "${path_systemdunit}")
+# systemd
+
+AC_ARG_WITH([systemdsystemunitdir],
+ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
+ [],
+ [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
+AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir])
+AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"])
+
AC_OUTPUT(Makefile scripts/bluetooth.rules doc/version.xml
src/bluetoothd.8 src/bluetooth.service bluez.pc)
diff --git a/scripts/.gitignore b/scripts/.gitignore
new file mode 100644
index 0000000..4b9f765
--- /dev/null
+++ scripts/.gitignore
@@ -0,0 +1 @@
+bluetooth.service
diff --git a/scripts/bluetooth.service.in b/scripts/bluetooth.service.in
new file mode 100644
index 0000000..d0089ea
--- /dev/null
+++ scripts/bluetooth.service.in
@@ -0,0 +1,13 @@
+[Unit]
+Description=Bluetooth Manager
+After=syslog.target
+
+[Service]
+Type=dbus
+BusName=org.bluez
+ExecStart=@sbindir@/bluetoothd -n
+StandardOutput=syslog
+
+[Install]
+WantedBy=bluetooth.target
+Alias=dbus-org.bluez.service
diff --git a/scripts/org.bluez.service b/scripts/org.bluez.service
new file mode 100644
index 0000000..dd7ae8f
--- /dev/null
+++ scripts/org.bluez.service
@@ -0,0 +1,5 @@
+[D-BUS Service]
+Name=org.bluez
+Exec=/bin/false
+User=root
+SystemdService=dbus-org.bluez.service
--
1.7.6

View file

@ -1,24 +0,0 @@
module_pcm_bluetooth: missing pthread symbols.
libgstbluetooth: missing symbols from libgstbase-0.10.
--- Makefile.am.orig 2012-01-14 08:13:53.338450039 +0100
+++ Makefile.am 2012-01-14 08:14:22.302766244 +0100
@@ -352,7 +352,7 @@ audio_libasound_module_pcm_bluetooth_la_
audio_libasound_module_pcm_bluetooth_la_LDFLAGS = -module -avoid-version #-export-symbols-regex [_]*snd_pcm_.*
audio_libasound_module_pcm_bluetooth_la_LIBADD = sbc/libsbc.la \
lib/libbluetooth-private.la @ALSA_LIBS@
-audio_libasound_module_pcm_bluetooth_la_CFLAGS = $(AM_CFLAGS) @ALSA_CFLAGS@
+audio_libasound_module_pcm_bluetooth_la_CFLAGS = $(AM_CFLAGS) @ALSA_CFLAGS@ -pthread
audio_libasound_module_ctl_bluetooth_la_SOURCES = audio/ctl_bluetooth.c \
audio/rtp.h audio/ipc.h audio/ipc.c
@@ -386,7 +386,8 @@ audio_libgstbluetooth_la_SOURCES = audio
audio_libgstbluetooth_la_LDFLAGS = -module -avoid-version
audio_libgstbluetooth_la_LIBADD = sbc/libsbc.la lib/libbluetooth-private.la \
@DBUS_LIBS@ @GSTREAMER_LIBS@ \
- -lgstaudio-0.10 -lgstrtp-0.10
+ -lgstaudio-0.10 -lgstrtp-0.10 \
+ -lgstbase-0.10
audio_libgstbluetooth_la_CFLAGS = -fvisibility=hidden -fno-strict-aliasing \
$(AM_CFLAGS) @DBUS_CFLAGS@ @GSTREAMER_CFLAGS@
endif

View file

@ -1,13 +1,14 @@
# Template file for 'bluez'
pkgname=bluez
version=4.98
revision=1
distfiles="${KERNEL_SITE}/bluetooth/$pkgname-$version.tar.xz"
build_style=gnu-configure
configure_args="--libexecdir=/lib --enable-gstreamer --enable-dund
--enable-alsa --enable-usb --enable-tools --enable-bccmd
--enable-hid2hci --enable-dfutool --enable-hidd --enable-pand
--disable-cups --enable-capng --enable-pnat --enable-wiimote
--with-systemdunitdir=/lib/systemd/system --disable-test"
--with-systemdsystemunitdir=/lib/systemd/system --disable-test"
short_desc="Bluetooth tools and daemons"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.bluez.org/"
@ -19,7 +20,7 @@ long_desc="
BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
project distributed under GNU General Public License (GPL)."
make_dirs="/var/lib/bluetooth 0750 root root"
make_dirs="/var/lib/bluetooth 0755 root root"
conf_files="
/etc/bluetooth/main.conf
/etc/bluetooth/rfcomm.conf
@ -31,7 +32,7 @@ conf_files="
subpackages="$pkgname-alsa $pkgname-compat $pkgname-gstreamer libbluetooth"
subpackages="$subpackages libbluetooth-devel"
Add_dependency build automake
Add_dependency build automake ">=1.11.3_1"
Add_dependency build pkg-config
Add_dependency build flex
Add_dependency build libudev-devel