[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#784905: marked as done (jessie-pu: (preapproval) package qcontrol/0.5.4-1)



Your message dated Sat, 06 Jun 2015 13:11:11 +0100
with message-id <1433592671.2987.12.camel@adam-barratt.org.uk>
and subject line Fix released with 8.1 point release
has caused the Debian Bug report #784905,
regarding jessie-pu: (preapproval) package qcontrol/0.5.4-1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
784905: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784905
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

I'd like to fix #781886 "qcontrol failure to start on boot sometimes (jessie,
systemd?)" in Jessie.

The issue is that when running in LSB compat mode the devices may not have been
created before the initscript runs. This isn't noticed under sysvinit because
there is an implicit (or perhaps explicit) udev settle somewhere earlier on.

However the proper fix (enabling full systemd support) is IMHO too intrusive
for a stable update (see below for the full patch in case you disagree). So
instead I would like to upload a workaround:

diff --git a/debian/qcontrol.qcontrold.init b/debian/qcontrol.qcontrold.init
index ccbcb22..55bd5a1 100644
--- a/debian/qcontrol.qcontrold.init
+++ b/debian/qcontrol.qcontrold.init
@@ -38,6 +38,11 @@ set -e
 
 case "$1" in
     start)
+       # Ensure that /dev/input/by-path/platform-gpio-keys-event has
+       # arrived. Under systemd LSB compatibility mode it may not
+       # have yet.
+       udevadm settle
+
        log_daemon_msg "Starting qcontrol daemon" "qcontrol"
        if start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- -d; then
                log_end_msg 0

I'm thinking that the best way to approach this would be to upload the
workaround to Sid and wait for it to propagate to Stretch, so it gets some
degree of real world testing and then upload the workaround upload to Jessie-pu
and carry on with the proper fix in Sid+Stretch (and probably jessie-backports).

How does that sound?

Cheers,
Ian.

The full/proper fix (WIP) for Stretch, FYI (note that the build will autodetect
libsystemd-daemon-dev and enable some runtime support too):

diff --git a/debian/changelog b/debian/changelog
index 1b44c08..c4fb6ee 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
 qcontrol (0.5.4-2) UNRELEASED; urgency=medium
 
   * Update Vcs-* to point to anonscm.
+  * Install and enable systemd unit files and corresponding udev rule.
+    (Closes: #781886)
 
  -- Ian Campbell <ijc@debian.org>  Sun, 14 Sep 2014 16:07:45 +0100
 
diff --git a/debian/control b/debian/control
index 573697f..7fa8ebc 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: qcontrol
 Section: utils
 Priority: optional
 Maintainer: Ian Campbell <ijc@debian.org>
-Build-Depends: debhelper (>= 9), liblua5.1-0-dev, pkg-config
+Build-Depends: debhelper (>= 9), libsystemd-daemon-dev, dh-systemd, liblua5.1-0-dev, pkg-config
 Standards-Version: 3.9.5
 Vcs-Git: git://anonscm.debian.org/collab-maint/qcontrol.git
 Vcs-Browser: http://anonscm.debian.org/cgit/collab-maint/qcontrol.git
diff --git a/debian/qcontrol.install b/debian/qcontrol.install
index ab7899e..25d1727 100644
--- a/debian/qcontrol.install
+++ b/debian/qcontrol.install
@@ -1 +1,4 @@
-qcontrol	usr/sbin/
+qcontrol			usr/sbin/
+systemd/qcontrold.service	lib/systemd/system/
+systemd/qcontrold.socket	lib/systemd/system/
+systemd/qcontrol.service	lib/systemd/system/
diff --git a/debian/qcontrol.rules b/debian/qcontrol.rules
new file mode 100644
index 0000000..6fdab10
--- /dev/null
+++ b/debian/qcontrol.rules
@@ -0,0 +1,3 @@
+# qcontrold.socket requires notification of
+# /dev/input/by-path/platform-gpio-keys-event's arrival
+KERNELS=="gpio-keys", SUBSYSTEMS=="platform", DRIVERS=="gpio-keys", TAG+="systemd"
diff --git a/debian/rules b/debian/rules
index 9b88a50..a1ba03e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,11 +12,15 @@ UDEB_DIRS	= lib/debian-installer-startup.d \
 CONFIGS		= ts209.lua ts219.lua ts409.lua ts41x.lua
 
 %:
-	dh $@
+	dh $@ --with systemd
 
 override_dh_auto_install:
 	dh_install
 
+	install -d debian/$(PACKAGE)/lib/udev/rules.d
+	install -m0644 debian/qcontrol.rules \
+		debian/$(PACKAGE)/lib/udev/rules.d/60-qcontrol.rules
+
 	# Install the following "manually" as they need a rename
 	@set -ex; $(foreach PACKAGE, $(PACKAGES), \
 	    $(foreach CONFIG, $(CONFIGS), \


-- System Information:
Debian Release: 8.0
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'unstable'), (500, 'oldstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, armhf, armel

Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: sysvinit (via /sbin/init)

--- End Message ---
--- Begin Message ---
Version: 8.1

Hi,

The fix discussed in this bug was released to stable as part of the 8.1
point release earlier today.

Regards,

Adam

--- End Message ---

Reply to: