Package: acpi-support-base
Version: 0.137-7
Severity: normal
Tags: patch

See attached.  Motivations (not only on 'policy-funcs'):

--- check_policy.diff   2010-11-17 22:23:01.000000000 +0100
+++ check_policy.cii.diff       2010-11-17 23:04:21.000000000 +0100
@@ -1,7 +1,9 @@
 --- acpi-support-0.137/lib/policy-funcs        2010-11-15 13:40:42.000000000 
+0100
 +++ acpi-support-0.137/lib/policy-funcs        2010-11-15 13:50:58.000000000 
+0100
-@@ -7,16 +7,25 @@
+@@ -7,1 +7,1 @@
                return 1;
+***                    ^
+***                    not needed
        fi
  }
 +
@@ -21,7 +23,17 @@
 +      PMS="$PMS /usr/bin/guidance-power-manager 
/usr/lib/dalston/dalston-power-applet"
        if pidof -x $PMS > /dev/null ||
 -         (pidof dcopserver > /dev/null && test -x /usr/bin/dcop && 
/usr/bin/dcop kded kded loadedModules | grep -q klaptopdaemon) ||
+
+*** I would write it:
+
 +         { test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x 
/usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q 
klaptopdaemon; } ||
+
+*** like this:
+
++         { [ "$XUSER" ] && pidof dcopserver > /dev/null &&
+            [ -x /usr/bin/dcop ] &&
+            /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q 
klaptopdaemon; } ||
+
           PowerDevilRunning ; then
 -              echo 0;
 +              return 0
@@ -44,23 +56,44 @@

 --- acpi-support-0.137/power.sh        2010-06-30 11:40:57.000000000 +0200
 +++ acpi-support-0.137/power.sh        2010-11-15 14:11:14.000000000 +0100
-@@ -4,7 +4,7 @@
+@@ -4,4 +4,3 @@

  . /usr/share/acpi-support/policy-funcs

 -if [ -z "$*" ] && ( [ `CheckPolicy` = 0 ] || CheckUPowerPolicy ); then
+
+*** you should not need to run second part in a subshell:
+
 +if [ -z "$*" ] && ( CheckPolicy || CheckUPowerPolicy ); then
+
+*** similar to the above, but do it like this:
+
++if [ -z "$*" ] && { CheckPolicy || CheckUPowerPolicy; }; then
      exit;
+         ^
+***     not needed
  fi
-
+
 --- acpi-support-0.137/lid.sh  2010-11-15 13:40:42.000000000 +0100
 +++ acpi-support-0.137/lid.sh  2010-11-15 14:11:32.000000000 +0100
-@@ -8,7 +8,7 @@
+@@ -8,4 +8,4 @@

  [ -x /etc/acpi/local/lid.sh.pre ] && /etc/acpi/local/lid.sh.pre

 -if [ `CheckPolicy` = 0 ]; then exit; fi
 +if CheckPolicy; then exit; fi
-
+
+*** or:
+
++! CheckPolicy || exit
+
+
+
+*** equivalent to this:
+
  grep -q closed /proc/acpi/button/lid/*/state
  if [ $? = 0 ]
+
+*** is:
+
+ if grep -q closed /proc/acpi/button/lid/*/state


-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/bash

Versions of packages acpi-support-base depends on:
ii  acpid                      1:2.0.7-1     Advanced Configuration and Power I
ii  console-tools [console-uti 1:0.2.3dbs-69 Linux console and font utilities

acpi-support-base recommends no packages.

Versions of packages acpi-support-base suggests:
ii  acpi-support                  0.137-7    scripts for handling many ACPI eve

-- no debconf information


Cheers,

-- 
Cristian
--- /usr/share/acpi-support/policy-funcs	2010-11-17 09:56:51.000000000 +0100
+++ /tmp/policy-funcs	2010-11-18 00:00:27.000000000 +0100
@@ -1,11 +1,7 @@
 . /usr/share/acpi-support/power-funcs
 
 CheckUPowerPolicy() {
-	if pidof upowerd > /dev/null; then
-		return 0;
-	else
-		return 1;
-	fi
+	pidof upowerd >/dev/null
 }
 
 # The (not very aptly named) function CheckPolicy checks if the current X
@@ -17,27 +13,29 @@
 CheckPolicy() {
 	local PMS
 
+	# FIXME: several things in getXconsole may fail, but
+	#	 error handling missing :(
 	getXconsole
 	PMS="/usr/bin/gnome-power-manager /usr/bin/kpowersave /usr/bin/xfce4-power-manager"
 	PMS="$PMS /usr/bin/guidance-power-manager /usr/lib/dalston/dalston-power-applet"
-	if pidof -x $PMS > /dev/null ||
-	   { test "$XUSER" != "" && pidof dcopserver > /dev/null && test -x /usr/bin/dcop && /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon; } ||
-	   PowerDevilRunning ; then
-		return 0
-	else
-		return 1
-	fi
+	pidof -x $PMS >/dev/null ||
+	{ [ "$XUSER" ] &&
+	  pidof dcopserver > /dev/null &&
+	  [ -x /usr/bin/dcop ] &&
+	  /usr/bin/dcop --user $XUSER kded kded loadedModules | grep -q klaptopdaemon; } ||
+	PowerDevilRunning
 }
 
 PowerDevilRunning() {
-	test -x /usr/bin/dbus-send || return 1
-	
+	[ -x /usr/bin/dbus-send ] || return 1
+
+	local DBUS_SESS
 	for p in $(pidof kded4); do
-		test -r /proc/$p/environ || continue
-		local DBUS_SESS=$(cat /proc/$p/environ | grep -a -z "DBUS_SESSION_BUS_ADDRESS=")
-		test "$DBUS_SESS" != "" || continue
-		(su $(ps -o user= $p) -s /bin/sh -c "$DBUS_SESS dbus-send --print-reply --dest=org.kde.kded /kded org.kde.kded.loadedModules" | grep -q powerdevil) && return 0
+		[ -r /proc/$p/environ ] || continue
+		DBUS_SESS=$(grep -a -z "DBUS_SESSION_BUS_ADDRESS=" /proc/$p/environ || :)
+		[ "$DBUS_SESS" ] || continue
+		! su $(ps -o user= $p) -s /bin/sh -c "$DBUS_SESS dbus-send --print-reply --dest=org.kde.kded /kded org.kde.kded.loadedModules" | grep -q powerdevil || return 0
 	done
-	
+
 	return 1
 }

Reply via email to