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

Bug#694267: unblock: tpu: (pre-approval)qcontrol/0.4.2-7+wheezy1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package qcontrol

As I mentioned in http://lists.debian.org/debian-release/2012/11/msg00716.html
I'd like to fix #693263 for Wheezy. Although the was filed as wishlist the
symptom is that the machines in question reboot after 5 minutes (i.e. generally
while you are half-way through running Debian installer). In my opinion this
makes the issue serious, on the grounds that we shouldn't release Debian with
that sort of issue, so I have upgraded it.

Unfortunately there is already stuff in sid which is not suitable for Wheezy so
I propose to upload via t-p-u. The fix has been in sid since Tuesday and has
had positive feedback from the submitter.

I would plan to upload, with the release teams permission, next weekend. At
which point the fix will have spent 10 days in sid.

The debdiff for the proposed upload is below.

NB qcontrol produces a udeb, qcontrol-udeb, in case that matters.

unblock qcontrol/0.4.2-7+wheezy1

Thanks,
Ian.

-- System Information:
Debian Release: 6.0.6
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'stable-updates'), (500, 'testing')
Architecture: armel (armv5tel)

Kernel: Linux 3.2.0-4-kirkwood
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

diff -u qcontrol-0.4.2/debian/rules qcontrol-0.4.2/debian/rules
--- qcontrol-0.4.2/debian/rules
+++ qcontrol-0.4.2/debian/rules
@@ -51,6 +51,10 @@
 			debian/$(PACKAGE)/etc/qcontrol; )
 	install -m0755 qcontrol.udeb \
 		debian/qcontrol-udeb/usr/sbin/qcontrol
+	install -m0755 debian/initramfs/hook \
+		debian/qcontrol/usr/share/initramfs-tools/hooks/qcontrol
+	install -m0755 debian/initramfs/init-bottom \
+		debian/qcontrol/usr/share/initramfs-tools/scripts/init-bottom/qcontrol
 	# Install the following "manually" as they need permissions set
 	install -m0755 debian/udeb/qcommand \
 		debian/qcontrol-udeb/usr/sbin/
diff -u qcontrol-0.4.2/debian/qcontrol.postinst qcontrol-0.4.2/debian/qcontrol.postinst
--- qcontrol-0.4.2/debian/qcontrol.postinst
+++ qcontrol-0.4.2/debian/qcontrol.postinst
@@ -24,2 +24,10 @@
 
+case "$1" in
+    configure)
+        if [ -x /usr/sbin/update-initramfs ]; then
+            update-initramfs -u
+        fi
+    ;;
+esac
+
 #DEBHELPER#
diff -u qcontrol-0.4.2/debian/qcontrol.dirs qcontrol-0.4.2/debian/qcontrol.dirs
--- qcontrol-0.4.2/debian/qcontrol.dirs
+++ qcontrol-0.4.2/debian/qcontrol.dirs
@@ -3,0 +4,2 @@
+usr/share/initramfs-tools/hooks
+usr/share/initramfs-tools/scripts/init-bottom
diff -u qcontrol-0.4.2/debian/changelog qcontrol-0.4.2/debian/changelog
--- qcontrol-0.4.2/debian/changelog
+++ qcontrol-0.4.2/debian/changelog
@@ -1,3 +1,9 @@
+qcontrol (0.4.2-7+wheezy1) testing-proposed-updates; urgency=low
+
+  * Disable firmware watchdog on TS-219p II. (Closes: #693263)
+
+ -- Ian Campbell <ijc@hellion.org.uk>  Sat, 24 Nov 2012 20:48:44 +0000
+
 qcontrol (0.4.2-7) unstable; urgency=medium
 
   * QA upload.
diff -u qcontrol-0.4.2/debian/patches/series qcontrol-0.4.2/debian/patches/series
--- qcontrol-0.4.2/debian/patches/series
+++ qcontrol-0.4.2/debian/patches/series
@@ -6,0 +7 @@
+watchdog.patch
diff -u qcontrol-0.4.2/debian/udeb/debian-installer-startup.d/S99qcontrol qcontrol-0.4.2/debian/udeb/debian-installer-startup.d/S99qcontrol
--- qcontrol-0.4.2/debian/udeb/debian-installer-startup.d/S99qcontrol
+++ qcontrol-0.4.2/debian/udeb/debian-installer-startup.d/S99qcontrol
@@ -18,6 +18,10 @@
 	modprobe -q gpio_keys >/dev/null 2>&1
 	sleep 1
 
+	if [ X"$device" = X"QNAP TS-119/TS-219" ] then
+		qcommand watchdog off
+	fi
+
 	qcommand powerled on
 	qcommand statusled green1hz
 fi
only in patch2:
unchanged:
--- qcontrol-0.4.2.orig/debian/initramfs/init-bottom
+++ qcontrol-0.4.2/debian/initramfs/init-bottom
@@ -0,0 +1,34 @@
+#!/bin/sh
+# Qcontrol boot script, disables watchdog
+
+PREREQ=""
+prereqs()
+{
+     echo "$PREREQ"
+}
+
+case $1 in
+prereqs)
+     prereqs
+     exit 0
+     ;;
+esac
+
+. /scripts/functions
+# Begin real processing below this line
+
+# Only needed on TS-219p II, safe to call on any TS-x19 though
+device=$(grep "Hardware[[:space:]]*:" /proc/cpuinfo 2>/dev/null | \
+	 head -n1 | sed "s/^[^:]*: //")
+case $device in
+    "QNAP TS-119/TS-219") break ;;
+    *)                    exit 0 ;;
+esac
+
+if [ ! -x "/sbin/qcontrol" ]; then
+    exit 0
+fi
+
+/sbin/qcontrol --direct watchdog off || true
+
+exit 0
only in patch2:
unchanged:
--- qcontrol-0.4.2.orig/debian/initramfs/hook
+++ qcontrol-0.4.2/debian/initramfs/hook
@@ -0,0 +1,24 @@
+#!/bin/sh
+PREREQ=""
+prereqs()
+{
+     echo "$PREREQ"
+}
+
+case $1 in
+prereqs)
+     prereqs
+     exit 0
+     ;;
+esac
+
+if [ ! -x /usr/sbin/qcontrol ] || [ ! -f /etc/qcontrol.conf ] ; then
+    exit 0
+fi
+
+. /usr/share/initramfs-tools/hook-functions
+# Begin real processing below this line
+
+copy_exec /usr/sbin/qcontrol /sbin
+cp /etc/qcontrol.conf ${DESTDIR}/etc/qcontrol.conf
+exit 0
only in patch2:
unchanged:
--- qcontrol-0.4.2.orig/debian/patches/watchdog.patch
+++ qcontrol-0.4.2/debian/patches/watchdog.patch
@@ -0,0 +1,38 @@
+Index: qcontrol/ts219.c
+===================================================================
+--- qcontrol.orig/ts219.c	2012-11-22 07:49:53.000000000 +0000
++++ qcontrol/ts219.c	2012-11-22 07:50:23.000000000 +0000
+@@ -303,6 +303,21 @@
+ 	return 0;
+ }
+ 
++static int ts219_wdt(int argc, const char **argv)
++{
++        char code = 0;
++
++        if (argc != 1)
++                return -1;
++        if (strcmp(argv[0], "off") == 0)
++                code = 0x67;
++        else
++                return -1;
++
++        return serial_write(&code, 1);
++        return 0;
++}
++
+ int ts219_init(int argc, const char **argv)
+ {
+ 	int err;
+@@ -348,6 +363,11 @@
+ 	                       "Control the automatic power mechanism, options are:\n"
+ 	                       "\ton\n\toff\n",
+ 	                       ts219_autopower);
++	err = register_command("watchdog",
++	                       "Disable the PIC watchdog",
++	                       "Watchdog options are:\n"
++	                       "\toff",
++	                       ts219_wdt);
+ 
+ 	return pthread_create(&ts219_thread, NULL, serial_poll, NULL);
+ }


Reply to: