diff --git a/srcpkgs/bluez/files/bluetooth.service b/srcpkgs/bluez/files/bluetooth.service new file mode 100644 index 0000000000..16e92d49f3 --- /dev/null +++ b/srcpkgs/bluez/files/bluetooth.service @@ -0,0 +1,10 @@ +[Unit] +Description=Bluetooth Manager + +[Service] +Type=dbus +BusName=org.bluez +ExecStart=/usr/sbin/bluetoothd -n + +[Install] +WantedBy=bluetooth.target diff --git a/srcpkgs/bluez/patches/0001-systemd-install-systemd-unit-files.patch b/srcpkgs/bluez/patches/0001-systemd-install-systemd-unit-files.patch deleted file mode 100644 index 2618f3cb12..0000000000 --- a/srcpkgs/bluez/patches/0001-systemd-install-systemd-unit-files.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 0080ce8a37152b0ee7750799e01de3bf810f8caf Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -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 - diff --git a/srcpkgs/bluez/template b/srcpkgs/bluez/template index 5351b83f62..69d356ac31 100644 --- a/srcpkgs/bluez/template +++ b/srcpkgs/bluez/template @@ -1,15 +1,15 @@ # Template file for 'bluez' pkgname=bluez version=4.99 -revision=2 +revision=3 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 ---enable-cups --enable-capng --enable-pnat --enable-wiimote ---with-systemdsystemunitdir=/lib/systemd/system --disable-test" -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" +--enable-cups --enable-capng --enable-pnat --enable-wiimote --disable-test" +subpackages="bluez-alsa bluez-compat bluez-gstreamer libbluetooth libbluetooth-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" maintainer="Juan RP " homepage="http://www.bluez.org/" @@ -21,6 +21,7 @@ long_desc=" BlueZ is the official Linux Bluetooth protocol stack. It is an Open Source project distributed under GNU General Public License (GPL)." +systemd_services="bluetooth.service on" make_dirs="/var/lib/bluetooth 0755 root root" conf_files=" /etc/bluetooth/main.conf @@ -30,15 +31,8 @@ conf_files=" /etc/bluetooth/audio.conf /etc/bluetooth/serial.conf" -subpackages="$pkgname-alsa $pkgname-compat $pkgname-gstreamer libbluetooth" -subpackages="$subpackages libbluetooth-devel" - - -pre_configure() { - autoreconf -fi -} - post_install() { + vinstall ${FILESDIR}/bluetooth.service 644 lib/systemd/system for f in network input audio serial; do vinstall ${f}/${f}.conf 644 etc/bluetooth done