bluez: re-add bluetoothd systemd service, previous patch didn't work.
This commit is contained in:
parent
c9acfc70f3
commit
d1ba075b53
|
@ -0,0 +1,10 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Bluetooth Manager
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=dbus
|
||||||
|
BusName=org.bluez
|
||||||
|
ExecStart=/usr/sbin/bluetoothd -n
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=bluetooth.target
|
|
@ -1,121 +0,0 @@
|
||||||
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
|
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
# Template file for 'bluez'
|
# Template file for 'bluez'
|
||||||
pkgname=bluez
|
pkgname=bluez
|
||||||
version=4.99
|
version=4.99
|
||||||
revision=2
|
revision=3
|
||||||
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
|
||||||
--enable-cups --enable-capng --enable-pnat --enable-wiimote
|
--enable-cups --enable-capng --enable-pnat --enable-wiimote --disable-test"
|
||||||
--with-systemdsystemunitdir=/lib/systemd/system --disable-test"
|
subpackages="bluez-alsa bluez-compat bluez-gstreamer libbluetooth libbluetooth-devel"
|
||||||
makedepends="automake>=1.11.3_1 pkg-config flex libudev-devel readline-devel gst-plugins-base-devel alsa-lib-devel dbus-devel glib-devel libusb-compat-devel libcap-ng-devel libsndfile-devel cups-devel"
|
makedepends="pkg-config flex libudev-devel readline-devel gst-plugins-base-devel dbus-devel glib-devel libusb-compat-devel libcap-ng-devel libsndfile-devel cups-devel"
|
||||||
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/"
|
||||||
|
@ -21,6 +21,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)."
|
||||||
|
|
||||||
|
systemd_services="bluetooth.service on"
|
||||||
make_dirs="/var/lib/bluetooth 0755 root root"
|
make_dirs="/var/lib/bluetooth 0755 root root"
|
||||||
conf_files="
|
conf_files="
|
||||||
/etc/bluetooth/main.conf
|
/etc/bluetooth/main.conf
|
||||||
|
@ -30,15 +31,8 @@ conf_files="
|
||||||
/etc/bluetooth/audio.conf
|
/etc/bluetooth/audio.conf
|
||||||
/etc/bluetooth/serial.conf"
|
/etc/bluetooth/serial.conf"
|
||||||
|
|
||||||
subpackages="$pkgname-alsa $pkgname-compat $pkgname-gstreamer libbluetooth"
|
|
||||||
subpackages="$subpackages libbluetooth-devel"
|
|
||||||
|
|
||||||
|
|
||||||
pre_configure() {
|
|
||||||
autoreconf -fi
|
|
||||||
}
|
|
||||||
|
|
||||||
post_install() {
|
post_install() {
|
||||||
|
vinstall ${FILESDIR}/bluetooth.service 644 lib/systemd/system
|
||||||
for f in network input audio serial; do
|
for f in network input audio serial; do
|
||||||
vinstall ${f}/${f}.conf 644 etc/bluetooth
|
vinstall ${f}/${f}.conf 644 etc/bluetooth
|
||||||
done
|
done
|
||||||
|
|
Loading…
Reference in New Issue