tags 729808 + patch pending
thanks

Hi Nobuhiro,

with systemd becoming increasingly popular and the recent TC decision to
make it the default for jessie, we are seeing quite a few users who run
into bug #729808.
The problem is, that bluez ships a native systemd service (which
overrides the SysV init script), but doesn't enable it. As a result, the
bluetoohd daemon is not started under systemd.

I've prepared an NMU and uploaded to DELAYED/5. I also cleaned up some
obsolete udev helpers (which aren't used anymore) while at it and
dropped the update-rc.d parameters, which are no longer used and only
generate a warning nowadays.

The complete debdiff is attached. I've also split up the changes above
into separate commits for you convenience.

The bluez package is using CDBS and the dh-systemd support in CDBS is
currently buggy [1] unfortunately. CDBS doesn't run dh_install and
dh_systemd_{enable,start} in the correct order, so the dh_systemd tools
don't find the service file. As a workaround I point dh_systemd_enable
and dh_systemd_start to the uninstalled service file.
You should consider removing that workaround again once [1] is fixed.

If you object to the NMU, please let me know and I'll cancel it.

Regards,
Michael


[1] http://bugs.debian.org/715504
-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
From 1bb962dc84b76958c0b827812323569c714474e4 Mon Sep 17 00:00:00 2001
From: Michael Biebl <[email protected]>
Date: Sat, 1 Mar 2014 07:42:11 +0100
Subject: [PATCH 1/4] Stop passing static start and stop priorities to
 update-rc.d.

Those are determined dynamically nowadays via the dependencies
specified in the LSB header.
---
 debian/changelog | 9 +++++++++
 debian/rules     | 1 -
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 7fb1545..ef391c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+bluez (4.101-4.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Stop passing static start and stop priorities to update-rc.d. Those are
+    determined dynamically nowadays via the dependencies specified in the
+    LSB header.
+
+ -- Michael Biebl <[email protected]>  Sat, 01 Mar 2014 07:36:31 +0100
+
 bluez (4.101-4) unstable; urgency=low
 
   * Remove 0008-Enable-the-Gateway-and-Source-audio-profiles-by-defa.patch.
diff --git a/debian/rules b/debian/rules
index 7963b09..5023628 100755
--- a/debian/rules
+++ b/debian/rules
@@ -7,7 +7,6 @@ include /usr/share/cdbs/1/rules/patchsys-quilt.mk
 
 LDFLAGS += -Wl,--as-needed
 
-DEB_UPDATE_RCD_PARAMS = "start 25 2 3 4 5 . stop 74 0 1 6 ."
 DEB_DH_INSTALLINIT_ARGS = "--name=bluetooth"
 DEB_CONFIGURE_EXTRA_FLAGS := \
                              --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
-- 
1.9.0

From ab636306ccf6e553ea19aa7f902c55e6fede17f9 Mon Sep 17 00:00:00 2001
From: Michael Biebl <[email protected]>
Date: Sat, 1 Mar 2014 07:54:13 +0100
Subject: [PATCH 2/4] Remove obsolete and unused udev helpers for bluetoothd
 and hid2hci.

---
 debian/bluez-udev       | 8 --------
 debian/bluez_agent.udev | 8 --------
 debian/changelog        | 1 +
 debian/rules            | 8 --------
 4 files changed, 1 insertion(+), 24 deletions(-)
 delete mode 100644 debian/bluez-udev
 delete mode 100755 debian/bluez_agent.udev

diff --git a/debian/bluez-udev b/debian/bluez-udev
deleted file mode 100644
index 89b99bd..0000000
--- a/debian/bluez-udev
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh -e
-# /usr is not guaranteed to be mounted when udev starts
-
-(
-	. /lib/udev/hotplug.functions
-	wait_for_file /usr/sbin/bluetoothd
-	exec /usr/sbin/bluetoothd "$@"
-) &
diff --git a/debian/bluez_agent.udev b/debian/bluez_agent.udev
deleted file mode 100755
index 0d80bb0..0000000
--- a/debian/bluez_agent.udev
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh -e
-# /usr is not guaranteed to be mounted when udev starts
-
-(
-	. /lib/udev/hotplug.functions
-	wait_for_file /lib/udev/hid2hci
-	exec /lib/udev/hid2hci "$@"
-) &
diff --git a/debian/changelog b/debian/changelog
index ef391c7..c719ec8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ bluez (4.101-4.1) UNRELEASED; urgency=medium
   * Stop passing static start and stop priorities to update-rc.d. Those are
     determined dynamically nowadays via the dependencies specified in the
     LSB header.
+  * Remove obsolete and unused udev helpers for bluetoothd and hid2hci.
 
  -- Michael Biebl <[email protected]>  Sat, 01 Mar 2014 07:36:31 +0100
 
diff --git a/debian/rules b/debian/rules
index 5023628..3ed01d5 100755
--- a/debian/rules
+++ b/debian/rules
@@ -44,9 +44,6 @@ TEST_PROGRAM_LIST = simple-agent simple-service test-adapter test-audio test-dev
 	test-service test-telephony
 
 install/bluez::
-	install -D -m 0755 $(CURDIR)/debian/bluez_agent.udev \
-		$(CURDIR)/debian/bluez/lib/udev/bluez
-
 	install -D -m 0755 $(CURDIR)/test/agent \
 		$(CURDIR)/debian/bluez/usr/bin/bluetooth-agent
 	for d in $(TEST_PROGRAM_LIST) ; do \
@@ -64,8 +61,3 @@ binary-install/bluez-gstreamer::
 binary-install/bluez::
 	install -D -m 0644 $(CURDIR)/debian/bluetooth-dbus.conf \
 		$(CURDIR)/debian/bluez/etc/dbus-1/system.d/bluetooth.conf
-	install -D -m 0755 $(CURDIR)/debian/bluez-udev \
-		$(CURDIR)/debian/bluez/lib/udev/bluez-udev
-
-clean::
-	-rm -f $(CURDIR)/debian/bluez-pcmcia-support.udev
-- 
1.9.0

From d26c5d3affe58e9b0f6b3aa0c55900efa9a15da6 Mon Sep 17 00:00:00 2001
From: Michael Biebl <[email protected]>
Date: Sat, 1 Mar 2014 08:14:03 +0100
Subject: [PATCH 3/4] Enable systemd service file on installation.

This hooks up the service in bluetooth.target which is activated by systemd
when bluetooth hardware is attached. (Closes: #729808)

- Add Build-Depends on dh-systemd.
- Bump Build-Depends on cdbs to (>= 0.4.122) to get dh-systemd support.
- Workaround a bug in cdbs, which doesn't run dh_install and dh_systemd
  the correct order, by pointing dh_systemd_enable and dh_systemd_start at
  the uninstalled service file. See #715504 for details.
---
 debian/changelog | 8 ++++++++
 debian/control   | 3 ++-
 debian/rules     | 9 +++++++++
 3 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index c719ec8..97bc72b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,14 @@ bluez (4.101-4.1) UNRELEASED; urgency=medium
     determined dynamically nowadays via the dependencies specified in the
     LSB header.
   * Remove obsolete and unused udev helpers for bluetoothd and hid2hci.
+  * Enable systemd service file on installation. This hooks up the service in
+    bluetooth.target which is activated by systemd when bluetooth hardware is
+    attached. (Closes: #729808)
+    - Add Build-Depends on dh-systemd.
+    - Bump Build-Depends on cdbs to (>= 0.4.122) to get dh-systemd support.
+    - Workaround a bug in cdbs, which doesn't run dh_install and dh_systemd
+      the correct order, by pointing dh_systemd_enable and dh_systemd_start at
+      the uninstalled service file. See #715504 for details.
 
  -- Michael Biebl <[email protected]>  Sat, 01 Mar 2014 07:36:31 +0100
 
diff --git a/debian/control b/debian/control
index 77c1e47..c4116c3 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,8 @@ Section: admin
 Priority: optional
 Maintainer: Debian Bluetooth Maintainers <[email protected]>
 Uploaders: Nobuhiro Iwamatsu <[email protected]>
-Build-Depends: debhelper (>= 8.1.3), cdbs (>= 0.4.97), quilt,
+Build-Depends: debhelper (>= 8.1.3), cdbs (>= 0.4.122), quilt,
+               dh-systemd,
                autotools-dev,
                flex,
                bison,
diff --git a/debian/rules b/debian/rules
index 3ed01d5..1716eb8 100755
--- a/debian/rules
+++ b/debian/rules
@@ -8,6 +8,15 @@ include /usr/share/cdbs/1/rules/patchsys-quilt.mk
 LDFLAGS += -Wl,--as-needed
 
 DEB_DH_INSTALLINIT_ARGS = "--name=bluetooth"
+
+# Workaround a bug in cdbs, which doesn't run dh_install and dh_systemd
+# in the correct order, by pointing dh_systemd_enable and dh_systemd_start
+# at the uninstalled service file.
+# Once the bug #715504 in cdbs has been fixed, this workaround should be
+# removed again.
+DEB_DH_SYSTEMD_ENABLE_ARGS_bluez = src/bluetooth.service
+DEB_DH_SYSTEMD_START_ARGS_bluez = src/bluetooth.service
+
 DEB_CONFIGURE_EXTRA_FLAGS := \
                              --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
                              --enable-static \
-- 
1.9.0

From 605ae83783f598ec316ec1bde6df48962719f3b0 Mon Sep 17 00:00:00 2001
From: Michael Biebl <[email protected]>
Date: Sat, 1 Mar 2014 08:14:32 +0100
Subject: [PATCH 4/4] Release version 4.101-4.1 to unstable

---
 debian/changelog | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 97bc72b..ca7fd1b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-bluez (4.101-4.1) UNRELEASED; urgency=medium
+bluez (4.101-4.1) unstable; urgency=medium
 
   * Non-maintainer upload.
   * Stop passing static start and stop priorities to update-rc.d. Those are
@@ -14,7 +14,7 @@ bluez (4.101-4.1) UNRELEASED; urgency=medium
       the correct order, by pointing dh_systemd_enable and dh_systemd_start at
       the uninstalled service file. See #715504 for details.
 
- -- Michael Biebl <[email protected]>  Sat, 01 Mar 2014 07:36:31 +0100
+ -- Michael Biebl <[email protected]>  Sat, 01 Mar 2014 08:14:10 +0100
 
 bluez (4.101-4) unstable; urgency=low
 
-- 
1.9.0

diff -Nru bluez-4.101/debian/bluez_agent.udev 
bluez-4.101/debian/bluez_agent.udev
--- bluez-4.101/debian/bluez_agent.udev 2013-11-26 17:16:53.000000000 +0100
+++ bluez-4.101/debian/bluez_agent.udev 1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#!/bin/sh -e
-# /usr is not guaranteed to be mounted when udev starts
-
-(
-       . /lib/udev/hotplug.functions
-       wait_for_file /lib/udev/hid2hci
-       exec /lib/udev/hid2hci "$@"
-) &
diff -Nru bluez-4.101/debian/bluez-udev bluez-4.101/debian/bluez-udev
--- bluez-4.101/debian/bluez-udev       2013-11-26 17:16:53.000000000 +0100
+++ bluez-4.101/debian/bluez-udev       1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#!/bin/sh -e
-# /usr is not guaranteed to be mounted when udev starts
-
-(
-       . /lib/udev/hotplug.functions
-       wait_for_file /usr/sbin/bluetoothd
-       exec /usr/sbin/bluetoothd "$@"
-) &
diff -Nru bluez-4.101/debian/changelog bluez-4.101/debian/changelog
--- bluez-4.101/debian/changelog        2013-12-14 04:37:17.000000000 +0100
+++ bluez-4.101/debian/changelog        2014-03-01 08:14:13.000000000 +0100
@@ -1,3 +1,21 @@
+bluez (4.101-4.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Stop passing static start and stop priorities to update-rc.d. Those are
+    determined dynamically nowadays via the dependencies specified in the
+    LSB header.
+  * Remove obsolete and unused udev helpers for bluetoothd and hid2hci.
+  * Enable systemd service file on installation. This hooks up the service in
+    bluetooth.target which is activated by systemd when bluetooth hardware is
+    attached. (Closes: #729808)
+    - Add Build-Depends on dh-systemd.
+    - Bump Build-Depends on cdbs to (>= 0.4.122) to get dh-systemd support.
+    - Workaround a bug in cdbs, which doesn't run dh_install and dh_systemd
+      the correct order, by pointing dh_systemd_enable and dh_systemd_start at
+      the uninstalled service file. See #715504 for details.
+
+ -- Michael Biebl <[email protected]>  Sat, 01 Mar 2014 08:14:10 +0100
+
 bluez (4.101-4) unstable; urgency=low
 
   * Remove 0008-Enable-the-Gateway-and-Source-audio-profiles-by-defa.patch.
diff -Nru bluez-4.101/debian/control bluez-4.101/debian/control
--- bluez-4.101/debian/control  2013-11-26 17:16:53.000000000 +0100
+++ bluez-4.101/debian/control  2014-03-01 08:13:16.000000000 +0100
@@ -3,7 +3,8 @@
 Priority: optional
 Maintainer: Debian Bluetooth Maintainers 
<[email protected]>
 Uploaders: Nobuhiro Iwamatsu <[email protected]>
-Build-Depends: debhelper (>= 8.1.3), cdbs (>= 0.4.97), quilt,
+Build-Depends: debhelper (>= 8.1.3), cdbs (>= 0.4.122), quilt,
+               dh-systemd,
                autotools-dev,
                flex,
                bison,
diff -Nru bluez-4.101/debian/rules bluez-4.101/debian/rules
--- bluez-4.101/debian/rules    2013-11-26 17:16:53.000000000 +0100
+++ bluez-4.101/debian/rules    2014-03-01 08:10:14.000000000 +0100
@@ -7,8 +7,16 @@
 
 LDFLAGS += -Wl,--as-needed
 
-DEB_UPDATE_RCD_PARAMS = "start 25 2 3 4 5 . stop 74 0 1 6 ."
 DEB_DH_INSTALLINIT_ARGS = "--name=bluetooth"
+
+# Workaround a bug in cdbs, which doesn't run dh_install and dh_systemd
+# in the correct order, by pointing dh_systemd_enable and dh_systemd_start
+# at the uninstalled service file.
+# Once the bug #715504 in cdbs has been fixed, this workaround should be
+# removed again.
+DEB_DH_SYSTEMD_ENABLE_ARGS_bluez = src/bluetooth.service
+DEB_DH_SYSTEMD_START_ARGS_bluez = src/bluetooth.service
+
 DEB_CONFIGURE_EXTRA_FLAGS := \
                              --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
                              --enable-static \
@@ -45,9 +53,6 @@
        test-service test-telephony
 
 install/bluez::
-       install -D -m 0755 $(CURDIR)/debian/bluez_agent.udev \
-               $(CURDIR)/debian/bluez/lib/udev/bluez
-
        install -D -m 0755 $(CURDIR)/test/agent \
                $(CURDIR)/debian/bluez/usr/bin/bluetooth-agent
        for d in $(TEST_PROGRAM_LIST) ; do \
@@ -65,8 +70,3 @@
 binary-install/bluez::
        install -D -m 0644 $(CURDIR)/debian/bluetooth-dbus.conf \
                $(CURDIR)/debian/bluez/etc/dbus-1/system.d/bluetooth.conf
-       install -D -m 0755 $(CURDIR)/debian/bluez-udev \
-               $(CURDIR)/debian/bluez/lib/udev/bluez-udev
-
-clean::
-       -rm -f $(CURDIR)/debian/bluez-pcmcia-support.udev

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to