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 libasound.so.2
librt.so.1 librt.so.1
libc.so.6 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 BlueZ is the official Linux Bluetooth Stack. It is an Open Source project
distributed under GNU General Public License (GPL)." distributed under GNU General Public License (GPL)."
revision=1
conf_files="/usr/share/alsa/bluetooth.conf" conf_files="/usr/share/alsa/bluetooth.conf"
Add_dependency run bluez Add_dependency run bluez

View File

@ -10,4 +10,3 @@ libglib-2.0.so.0
libgstaudio-0.10.so.0 libgstaudio-0.10.so.0
libgstrtp-0.10.so.0 libgstrtp-0.10.so.0
libc.so.6 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 BlueZ is the official Linux Bluetooth Stack. It is an Open Source project
distributed under GNU General Public License (GPL)." distributed under GNU General Public License (GPL)."
revision=1
Add_dependency run bluez Add_dependency run bluez
do_install() 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' # Template file for 'bluez'
pkgname=bluez pkgname=bluez
version=4.98 version=4.98
revision=1
distfiles="${KERNEL_SITE}/bluetooth/$pkgname-$version.tar.xz" distfiles="${KERNEL_SITE}/bluetooth/$pkgname-$version.tar.xz"
build_style=gnu-configure build_style=gnu-configure
configure_args="--libexecdir=/lib --enable-gstreamer --enable-dund configure_args="--libexecdir=/lib --enable-gstreamer --enable-dund
--enable-alsa --enable-usb --enable-tools --enable-bccmd --enable-alsa --enable-usb --enable-tools --enable-bccmd
--enable-hid2hci --enable-dfutool --enable-hidd --enable-pand --enable-hid2hci --enable-dfutool --enable-hidd --enable-pand
--disable-cups --enable-capng --enable-pnat --enable-wiimote --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" short_desc="Bluetooth tools and daemons"
maintainer="Juan RP <xtraeme@gmail.com>" maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.bluez.org/" homepage="http://www.bluez.org/"
@ -19,7 +20,7 @@ long_desc="
BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source
project distributed under GNU General Public License (GPL)." 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=" conf_files="
/etc/bluetooth/main.conf /etc/bluetooth/main.conf
/etc/bluetooth/rfcomm.conf /etc/bluetooth/rfcomm.conf
@ -31,7 +32,7 @@ conf_files="
subpackages="$pkgname-alsa $pkgname-compat $pkgname-gstreamer libbluetooth" subpackages="$pkgname-alsa $pkgname-compat $pkgname-gstreamer libbluetooth"
subpackages="$subpackages libbluetooth-devel" subpackages="$subpackages libbluetooth-devel"
Add_dependency build automake Add_dependency build automake ">=1.11.3_1"
Add_dependency build pkg-config Add_dependency build pkg-config
Add_dependency build flex Add_dependency build flex
Add_dependency build libudev-devel Add_dependency build libudev-devel