[Pkg-utopia-commits] r604 - in packages/experimental/hal/debian: . patches

Sjoerd Simons sjoerd at costa.debian.org
Fri Feb 17 21:01:48 UTC 2006


Author: sjoerd
Date: 2006-02-17 21:01:03 +0000 (Fri, 17 Feb 2006)
New Revision: 604

Removed:
   packages/experimental/hal/debian/patches/01_hal_privsep.patch
   packages/experimental/hal/debian/patches/03_storage_sigio.patch
   packages/experimental/hal/debian/patches/04_hald-no-patch.patch
   packages/experimental/hal/debian/patches/05_hald_clear_udev_buffer.patch
Modified:
   packages/experimental/hal/debian/changelog
Log:
* CVS snapshot 
* debian/patches/01_hal_privsep.patch 
  + Removed. Fixed upstream
* debian/patches/03_storage_sigio.patch
  + Removed. Fixed upstream
* debian/patches/04_hald-no-patch.patch
  + Removed. Fixed upstream
* debian/patches/05_hald_clear_udev_buffer.patch
  + Removed. Fixed upstream

Modified: packages/experimental/hal/debian/changelog
===================================================================
--- packages/experimental/hal/debian/changelog	2006-02-17 20:56:32 UTC (rev 603)
+++ packages/experimental/hal/debian/changelog	2006-02-17 21:01:03 UTC (rev 604)
@@ -1,3 +1,17 @@
+hal (0.5.6+cvs20060217-1) experimental; urgency=low
+
+  * CVS snapshot 
+  * debian/patches/01_hal_privsep.patch 
+    + Removed. Fixed upstream
+  * debian/patches/03_storage_sigio.patch
+    + Removed. Fixed upstream
+  * debian/patches/04_hald-no-patch.patch
+    + Removed. Fixed upstream
+  * debian/patches/05_hald_clear_udev_buffer.patch
+    + Removed. Fixed upstream
+
+ -- Sjoerd Simons <sjoerd at debian.org>  Fri, 17 Feb 2006 21:56:49 +0100
+
 hal (0.5.6-4) unstable; urgency=high
 
   * debian/patches/05_hald_clear_udev_buffer.patch 

Deleted: packages/experimental/hal/debian/patches/01_hal_privsep.patch
===================================================================
--- packages/experimental/hal/debian/patches/01_hal_privsep.patch	2006-02-17 20:56:32 UTC (rev 603)
+++ packages/experimental/hal/debian/patches/01_hal_privsep.patch	2006-02-17 21:01:03 UTC (rev 604)
@@ -1,4134 +0,0 @@
-diff -ruN hal-0.5.6-old/Makefile.am hal-0.5.6/Makefile.am
---- hal-0.5.6-old/Makefile.am	2005-08-26 22:27:21.000000000 +0200
-+++ hal-0.5.6/Makefile.am	2006-02-12 17:58:28.000000000 +0100
-@@ -1,7 +1,7 @@
- ## Process this file with automake to produce Makefile.in
- 
--SUBDIRS = volume_id drive_id libhal libhal-storage hald tools fdi doc	\
--	  examples po
-+SUBDIRS = volume_id drive_id libhal libhal-storage hald hald-runner tools \
-+          fdi doc examples po
- 
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = hal.pc hal-storage.pc
-diff -ruN hal-0.5.6-old/Makefile.in hal-0.5.6/Makefile.in
---- hal-0.5.6-old/Makefile.in	2006-01-17 02:07:51.000000000 +0100
-+++ hal-0.5.6/Makefile.in	2006-02-12 17:58:28.000000000 +0100
-@@ -295,8 +295,8 @@
- sharedstatedir = @sharedstatedir@
- sysconfdir = @sysconfdir@
- target_alias = @target_alias@
--SUBDIRS = volume_id drive_id libhal libhal-storage hald tools fdi doc	\
--	  examples po
-+SUBDIRS = volume_id drive_id libhal libhal-storage hald hald-runner tools \
-+          fdi doc examples po
- 
- pkgconfigdir = $(libdir)/pkgconfig
- pkgconfig_DATA = hal.pc hal-storage.pc
-diff -ruN hal-0.5.6-old/configure hal-0.5.6/configure
---- hal-0.5.6-old/configure	2006-01-17 01:26:24.000000000 +0100
-+++ hal-0.5.6/configure	2006-02-12 17:58:28.000000000 +0100
-@@ -1201,7 +1201,7 @@
-     else
-       echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-     fi
--    cd $ac_popdir
-+    cd "$ac_popdir"
-   done
- fi
- 
-@@ -2666,8 +2666,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -2725,8 +2724,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -2842,8 +2840,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -2897,8 +2894,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -2943,8 +2939,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -2988,8 +2983,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -3176,8 +3170,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -3231,8 +3224,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -3631,8 +3623,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -3690,8 +3681,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -3807,8 +3797,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -3862,8 +3851,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -3908,8 +3896,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -3953,8 +3940,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -4469,8 +4455,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -4528,8 +4513,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -4645,8 +4629,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -4700,8 +4683,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -4746,8 +4728,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -4791,8 +4772,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -5226,8 +5206,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -5963,7 +5942,7 @@
-   ;;
- *-*-irix6*)
-   # Find out which ABI we are using.
--  echo '#line 5966 "configure"' > conftest.$ac_ext
-+  echo '#line 5945 "configure"' > conftest.$ac_ext
-   if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-   (eval $ac_compile) 2>&5
-   ac_status=$?
-@@ -6083,8 +6062,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -6183,8 +6161,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -6251,8 +6228,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -6512,8 +6488,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_cxx_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -6571,8 +6546,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_cxx_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -6643,8 +6617,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_cxx_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -6688,8 +6661,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_cxx_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -7161,7 +7133,7 @@
- 
- 
- # Provide some information about the compiler.
--echo "$as_me:7164:" \
-+echo "$as_me:7136:" \
-      "checking for Fortran 77 compiler version" >&5
- ac_compiler=`set X $ac_compile; echo $2`
- { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-@@ -7207,8 +7179,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_f77_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -7257,8 +7228,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_f77_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -8224,11 +8194,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:8227: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:8197: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>conftest.err)
-    ac_status=$?
-    cat conftest.err >&5
--   echo "$as_me:8231: \$? = $ac_status" >&5
-+   echo "$as_me:8201: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s "$ac_outfile"; then
-      # The compiler can only warn and ignore the option if not recognized
-      # So say no if there are warnings other than the usual output.
-@@ -8492,11 +8462,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:8495: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:8465: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>conftest.err)
-    ac_status=$?
-    cat conftest.err >&5
--   echo "$as_me:8499: \$? = $ac_status" >&5
-+   echo "$as_me:8469: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s "$ac_outfile"; then
-      # The compiler can only warn and ignore the option if not recognized
-      # So say no if there are warnings other than the usual output.
-@@ -8596,11 +8566,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:8599: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:8569: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>out/conftest.err)
-    ac_status=$?
-    cat out/conftest.err >&5
--   echo "$as_me:8603: \$? = $ac_status" >&5
-+   echo "$as_me:8573: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s out/conftest2.$ac_objext
-    then
-      # The compiler can only warn and ignore the option if not recognized
-@@ -9072,8 +9042,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -9133,8 +9102,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -10065,7 +10033,7 @@
-   libsuff=
-   case "$host_cpu" in
-   x86_64*|s390x*|powerpc64*)
--    echo '#line 10068 "configure"' > conftest.$ac_ext
-+    echo '#line 10036 "configure"' > conftest.$ac_ext
-     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-   (eval $ac_compile) 2>&5
-   ac_status=$?
-@@ -10422,8 +10390,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -10526,8 +10493,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -10592,8 +10558,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -10686,8 +10651,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -10752,8 +10716,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -10819,8 +10782,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -10886,8 +10848,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -10962,7 +10923,7 @@
-   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-   lt_status=$lt_dlunknown
-   cat > conftest.$ac_ext <<EOF
--#line 10965 "configure"
-+#line 10926 "configure"
- #include "confdefs.h"
- 
- #if HAVE_DLFCN_H
-@@ -11062,7 +11023,7 @@
-   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-   lt_status=$lt_dlunknown
-   cat > conftest.$ac_ext <<EOF
--#line 11065 "configure"
-+#line 11026 "configure"
- #include "confdefs.h"
- 
- #if HAVE_DLFCN_H
-@@ -12145,8 +12106,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_cxx_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -12207,8 +12167,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_cxx_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_cxx_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -13402,11 +13361,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:13405: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:13364: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>conftest.err)
-    ac_status=$?
-    cat conftest.err >&5
--   echo "$as_me:13409: \$? = $ac_status" >&5
-+   echo "$as_me:13368: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s "$ac_outfile"; then
-      # The compiler can only warn and ignore the option if not recognized
-      # So say no if there are warnings other than the usual output.
-@@ -13506,11 +13465,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:13509: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:13468: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>out/conftest.err)
-    ac_status=$?
-    cat out/conftest.err >&5
--   echo "$as_me:13513: \$? = $ac_status" >&5
-+   echo "$as_me:13472: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s out/conftest2.$ac_objext
-    then
-      # The compiler can only warn and ignore the option if not recognized
-@@ -14042,7 +14001,7 @@
-   libsuff=
-   case "$host_cpu" in
-   x86_64*|s390x*|powerpc64*)
--    echo '#line 14045 "configure"' > conftest.$ac_ext
-+    echo '#line 14004 "configure"' > conftest.$ac_ext
-     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-   (eval $ac_compile) 2>&5
-   ac_status=$?
-@@ -15097,11 +15056,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:15100: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:15059: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>conftest.err)
-    ac_status=$?
-    cat conftest.err >&5
--   echo "$as_me:15104: \$? = $ac_status" >&5
-+   echo "$as_me:15063: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s "$ac_outfile"; then
-      # The compiler can only warn and ignore the option if not recognized
-      # So say no if there are warnings other than the usual output.
-@@ -15201,11 +15160,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:15204: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:15163: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>out/conftest.err)
-    ac_status=$?
-    cat out/conftest.err >&5
--   echo "$as_me:15208: \$? = $ac_status" >&5
-+   echo "$as_me:15167: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s out/conftest2.$ac_objext
-    then
-      # The compiler can only warn and ignore the option if not recognized
-@@ -15667,8 +15626,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_f77_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -15718,8 +15676,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_f77_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_f77_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -16650,7 +16607,7 @@
-   libsuff=
-   case "$host_cpu" in
-   x86_64*|s390x*|powerpc64*)
--    echo '#line 16653 "configure"' > conftest.$ac_ext
-+    echo '#line 16610 "configure"' > conftest.$ac_ext
-     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-   (eval $ac_compile) 2>&5
-   ac_status=$?
-@@ -17425,11 +17382,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:17428: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:17385: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>conftest.err)
-    ac_status=$?
-    cat conftest.err >&5
--   echo "$as_me:17432: \$? = $ac_status" >&5
-+   echo "$as_me:17389: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s "$ac_outfile"; then
-      # The compiler can only warn and ignore the option if not recognized
-      # So say no if there are warnings other than the usual output.
-@@ -17693,11 +17650,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:17696: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:17653: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>conftest.err)
-    ac_status=$?
-    cat conftest.err >&5
--   echo "$as_me:17700: \$? = $ac_status" >&5
-+   echo "$as_me:17657: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s "$ac_outfile"; then
-      # The compiler can only warn and ignore the option if not recognized
-      # So say no if there are warnings other than the usual output.
-@@ -17797,11 +17754,11 @@
-    -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-    -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-    -e 's:$: $lt_compiler_flag:'`
--   (eval echo "\"\$as_me:17800: $lt_compile\"" >&5)
-+   (eval echo "\"\$as_me:17757: $lt_compile\"" >&5)
-    (eval "$lt_compile" 2>out/conftest.err)
-    ac_status=$?
-    cat out/conftest.err >&5
--   echo "$as_me:17804: \$? = $ac_status" >&5
-+   echo "$as_me:17761: \$? = $ac_status" >&5
-    if (exit $ac_status) && test -s out/conftest2.$ac_objext
-    then
-      # The compiler can only warn and ignore the option if not recognized
-@@ -18273,8 +18230,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -18334,8 +18290,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -19266,7 +19221,7 @@
-   libsuff=
-   case "$host_cpu" in
-   x86_64*|s390x*|powerpc64*)
--    echo '#line 19269 "configure"' > conftest.$ac_ext
-+    echo '#line 19224 "configure"' > conftest.$ac_ext
-     if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-   (eval $ac_compile) 2>&5
-   ac_status=$?
-@@ -20708,8 +20663,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -20738,8 +20692,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -20809,8 +20762,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -20862,8 +20814,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -20934,8 +20885,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -20987,8 +20937,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -21057,8 +21006,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -21358,8 +21306,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -21517,8 +21464,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -22029,8 +21975,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -22183,8 +22128,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -22566,8 +22510,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -22635,8 +22578,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -23092,8 +23034,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -23529,8 +23470,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -23675,8 +23615,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -23747,8 +23686,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -23892,8 +23830,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -23951,8 +23888,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24049,8 +23985,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24129,8 +24064,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24194,8 +24128,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24259,8 +24192,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24337,8 +24269,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24402,8 +24333,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24519,8 +24449,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24687,8 +24616,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24821,8 +24749,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -24907,8 +24834,7 @@
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   (exit $ac_status); } &&
--	 { ac_try='test -z "$ac_c_werror_flag"
--			 || test ! -s conftest.err'
-+	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
-   { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-   (eval $ac_try) 2>&5
-   ac_status=$?
-@@ -25063,7 +24989,7 @@
- 	< $srcdir/po/POTFILES.in > po/POTFILES
- 
- 
--                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ac_config_files="$ac_config_files hal.pc hal-storage.pc hal.conf Makefile hald/Makefile hald/dummy/Makefile hald/linux2/Makefile hald/linux2/probing/Makefile hald/linux2/addons/Makefile hald/solaris/Makefile hald/haldaemon libhal/Makefile libhal-storage/Makefile tools/Makefile tools/fstab-sync.8 tools/linux/Makefile tools/device-manager/hal-device-manager tools/device-manager/Makefile tools/device-manager/Const.py fdi/Makefile fdi/preprobe/Makefile fdi/preprobe/10osvendor/Makefile fdi/preprobe/20thirdparty/Makefile fdi/preprobe/30user/Makefile fdi/information/Makefile fdi/information/10freedesktop/Makefile fdi/information/20thirdparty/Makefile fdi/information/30user/Makefile fdi/policy/Makefile fdi/policy/10osvendor/Makefile fdi/policy/20thirdparty/Makefile fdi/policy/30user/Makefile doc/Makefile doc/api/Makefile doc/api/Doxyfile doc/conf/Makefile doc/spec/Makefile doc/spec/hal-spec.xml examples/Makefile examples/volumed/Makefile po/Makefile.in drive_id/Makefile volume_id/Makefile tools/hal-luks-setup tools/hal-luks-remove"
-+                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ac_config_files="$ac_config_files hal.pc hal-storage.pc hal.conf Makefile hald/Makefile hald-runner/Makefile hald/dummy/Makefile hald/linux2/Makefile hald/linux2/probing/Makefile hald/linux2/addons/Makefile hald/solaris/Makefile hald/haldaemon libhal/Makefile libhal-storage/Makefile tools/Makefile tools/fstab-sync.8 tools/linux/Makefile tools/device-manager/hal-device-manager tools/device-manager/Makefile tools/device-manager/Const.py fdi/Makefile fdi/preprobe/Makefile fdi/preprobe/10osvendor/Makefile fdi/preprobe/20thirdparty/Makefile fdi/preprobe/30user/Makefile fdi/information/Makefile fdi/information/10freedesktop/Makefile fdi/information/20thirdparty/Makefile fdi/information/30user/Makefile fdi/policy/Makefile fdi/policy/10osvendor/Makefile fdi/policy/20thirdparty/Makefile fdi/policy/30user/Makefile doc/Makefile doc/api/Makefile doc/api/Doxyfile doc/conf/Makefile doc/spec/Makefile doc/spec/hal-spec.xml examples/Makefile examples/volumed/Makefile po/Makefile.in drive_id/Makefile volume_id/Makefile tools/hal-luks-setup tools/hal-luks-remove"
- cat >confcache <<\_ACEOF
- # This file is a shell script that caches the results of configure
- # tests run on this system so they can be shared between configure
-@@ -25754,6 +25680,7 @@
-   "hal.conf" ) CONFIG_FILES="$CONFIG_FILES hal.conf" ;;
-   "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-   "hald/Makefile" ) CONFIG_FILES="$CONFIG_FILES hald/Makefile" ;;
-+  "hald-runner/Makefile" ) CONFIG_FILES="$CONFIG_FILES hald-runner/Makefile" ;;
-   "hald/dummy/Makefile" ) CONFIG_FILES="$CONFIG_FILES hald/dummy/Makefile" ;;
-   "hald/linux2/Makefile" ) CONFIG_FILES="$CONFIG_FILES hald/linux2/Makefile" ;;
-   "hald/linux2/probing/Makefile" ) CONFIG_FILES="$CONFIG_FILES hald/linux2/probing/Makefile" ;;
-@@ -26229,11 +26156,6 @@
-   *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
-   esac
- 
--  if test x"$ac_file" != x-; then
--    { echo "$as_me:$LINENO: creating $ac_file" >&5
--echo "$as_me: creating $ac_file" >&6;}
--    rm -f "$ac_file"
--  fi
-   # Let's still pretend it is `configure' which instantiates (i.e., don't
-   # use $as_me), people would be surprised to read:
-   #    /* config.h.  Generated by config.status.  */
-@@ -26272,6 +26194,12 @@
- 	 fi;;
-       esac
-     done` || { (exit 1); exit 1; }
-+
-+  if test x"$ac_file" != x-; then
-+    { echo "$as_me:$LINENO: creating $ac_file" >&5
-+echo "$as_me: creating $ac_file" >&6;}
-+    rm -f "$ac_file"
-+  fi
- _ACEOF
- cat >>$CONFIG_STATUS <<_ACEOF
-   sed "$ac_vpsub
-diff -ruN hal-0.5.6-old/configure.in hal-0.5.6/configure.in
---- hal-0.5.6-old/configure.in	2006-01-17 01:25:32.000000000 +0100
-+++ hal-0.5.6/configure.in	2006-02-12 17:58:28.000000000 +0100
-@@ -480,6 +480,7 @@
- hal.conf
- Makefile
- hald/Makefile
-+hald-runner/Makefile
- hald/dummy/Makefile
- hald/linux2/Makefile
- hald/linux2/probing/Makefile
-diff -ruN hal-0.5.6-old/hald/Makefile.am hal-0.5.6/hald/Makefile.am
---- hal-0.5.6-old/hald/Makefile.am	2005-12-08 19:23:23.000000000 +0100
-+++ hal-0.5.6/hald/Makefile.am	2006-02-12 17:58:28.000000000 +0100
-@@ -40,6 +40,7 @@
- hald_SOURCES =                                                          \
- 	hald_marshal.h			hald_marshal.c			\
- 	util.h				util.c				\
-+	hald_runner.h			hald_runner.c			\
- 	device.h			device.c			\
- 	device_info.h			device_info.c			\
- 	device_store.h			device_store.c			\
-diff -ruN hal-0.5.6-old/hald/Makefile.in hal-0.5.6/hald/Makefile.in
---- hal-0.5.6-old/hald/Makefile.in	2006-01-17 02:07:48.000000000 +0100
-+++ hal-0.5.6/hald/Makefile.in	2006-02-12 17:58:28.000000000 +0100
-@@ -53,9 +53,9 @@
- sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
- PROGRAMS = $(sbin_PROGRAMS)
- am_hald_OBJECTS = hald_marshal.$(OBJEXT) util.$(OBJEXT) \
--	device.$(OBJEXT) device_info.$(OBJEXT) device_store.$(OBJEXT) \
--	hald.$(OBJEXT) hald_dbus.$(OBJEXT) logger.$(OBJEXT) \
--	property.$(OBJEXT)
-+	hald_runner.$(OBJEXT) device.$(OBJEXT) device_info.$(OBJEXT) \
-+	device_store.$(OBJEXT) hald.$(OBJEXT) hald_dbus.$(OBJEXT) \
-+	logger.$(OBJEXT) property.$(OBJEXT)
- hald_OBJECTS = $(am_hald_OBJECTS)
- hald_DEPENDENCIES = $(top_builddir)/hald/$(HALD_BACKEND)/libhald_$(HALD_BACKEND).la
- initdSCRIPT_INSTALL = $(INSTALL_SCRIPT)
-@@ -323,6 +323,7 @@
- hald_SOURCES = \
- 	hald_marshal.h			hald_marshal.c			\
- 	util.h				util.c				\
-+	hald_runner.h			hald_runner.c			\
- 	device.h			device.c			\
- 	device_info.h			device_info.c			\
- 	device_store.h			device_store.c			\
-@@ -442,6 +443,7 @@
- @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hald.Po at am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hald_dbus.Po at am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hald_marshal.Po at am__quote@
-+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/hald_runner.Po at am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/logger.Po at am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/property.Po at am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/util.Po at am__quote@
-diff -ruN hal-0.5.6-old/hald/hald.c hal-0.5.6/hald/hald.c
---- hal-0.5.6-old/hald/hald.c	2006-01-13 03:24:10.000000000 +0100
-+++ hal-0.5.6/hald/hald.c	2006-02-12 17:58:28.000000000 +0100
-@@ -1,5 +1,5 @@
- /***************************************************************************
-- * CVSID: $Id: hald.c,v 1.45 2006/01/12 17:48:44 dkukawka Exp $
-+ * CVSID: $Id: hald.c,v 1.47 2006/01/21 16:54:04 david Exp $
-  *
-  * hald.c : main startup for HAL daemon
-  *
-@@ -55,6 +55,7 @@
- #include "osspec.h"
- #include "hald_dbus.h"
- #include "util.h"
-+#include "hald_runner.h"
- 
- static void delete_pid(void)
- {
-@@ -71,15 +72,6 @@
- 
- static HalDeviceStore *temporary_device_list = NULL;
- 
--static GSList *running_addons = NULL;
--
--static void 
--addon_terminated (HalDevice *d, gboolean timed_out, gint return_code, 
--		  gpointer data1, gpointer data2, HalHelperData *helper_data)
--{
--	running_addons = g_slist_remove (running_addons, helper_data);
--}
--
- static void
- gdl_store_changed (HalDeviceStore *store, HalDevice *device,
- 		   gboolean is_added, gpointer user_data)
-@@ -94,45 +86,18 @@
- 			
- 			for (i = addons; i != NULL; i = g_slist_next (i)) {
- 				const gchar *command_line;
--				HalHelperData *helper_data;
- 				gchar *extra_env[2] = {"HALD_ACTION=addon", NULL};
- 
- 				command_line = (const gchar *) i->data;
--				helper_data = hal_util_helper_invoke (command_line, extra_env, device,
--								      NULL, NULL,
--								      addon_terminated, 0 /* no timeout */);
--
--				if (helper_data != NULL) {
--					HAL_INFO (("Invoked addon %s with pid %d for udi %s", 
--						   command_line, helper_data->pid, helper_data->d->udi));
--					running_addons = g_slist_prepend (running_addons, helper_data);
--				}
-+				hald_runner_start (device, command_line, extra_env);
-+
-+				HAL_INFO (("Started addon %s for udi %s", 
-+				           command_line, hal_device_get_udi(device)));
- 			}
- 		}
- 	} else {
--		GSList *i;
--
- 		HAL_INFO (("Removed device from GDL; udi=%s", hal_device_get_udi(device)));
--
--	start_from_beginning:
--
--		/* may have several addons running */
--		for (i = running_addons; i != NULL; i = g_slist_next (i)) {
--			HalHelperData *helper_data;
--
--			helper_data = (HalHelperData *) (i->data);
--			if (helper_data->d == device) {
--				HAL_INFO (("Terminating addon with pid %d for udi %s", 
--					   helper_data->pid, helper_data->d->udi));
--				/* will force a callback - the callback removes us from the list */
--				hal_util_terminate_helper (helper_data);
--				/* TODO: is it safe to remove an elem from a GSList and keep iterating? 
--				 *       Better play it safe for now.
--				 */
--				goto start_from_beginning;
--			}
--		}
--		
-+    hald_runner_kill_device(device);
- 	}
- 
- 	/*hal_device_print (device);*/
-@@ -215,8 +180,6 @@
-  		 "        --use-syslog         Print out debug messages to syslog instead of stderr.\n"
- 		 "                             Use this option to get debug messages if HAL runs as\n"
- 		 "                             daemon.\n"
--		 "        --retain-privileges  Run as root instead of normal user (calling of\n"
-- 		 "                             external scripts to modify fstab etc. will work)\n" 
- 		 "        --help               Show this information and exit\n"
- 		 "        --version            Output version information and exit"
- 		 "\n"
-@@ -261,7 +224,6 @@
- 	GError *err = NULL;
- 	gchar data[1];
- 	gsize bytes_read;
--	unsigned int num_helpers;
- 
- 	/* Empty the pipe */
- 	if (G_IO_STATUS_NORMAL != 
-@@ -273,8 +235,7 @@
- 	}
- 
- 	HAL_INFO (("Caught SIGTERM, initiating shutdown"));
--	num_helpers = hal_util_kill_all_helpers ();
--	HAL_INFO (("Killed %d helpers; exiting"));
-+	hald_runner_kill_all();
- 	exit (0);
- 
- out:
-@@ -404,13 +365,9 @@
- {
- 	GMainLoop *loop;
- 	guint sigterm_iochn_listener_source_id;
--	gboolean retain_privs;
- 	char *path;
- 	char newpath[512];
- 
--	retain_privs = FALSE;
--  
--
- 	openlog ("hald", LOG_PID, LOG_DAEMON);
- 
- 	g_type_init ();
-@@ -443,7 +400,6 @@
- 			{"verbose", 1, NULL, 0},
- 			{"use-syslog", 0, NULL, 0},
- 			{"help", 0, NULL, 0},
--			{"retain-privileges", 0, NULL, 0},
- 			{"version", 0, NULL, 0},
- 			{NULL, 0, NULL, 0}
- 		};
-@@ -481,8 +437,6 @@
- 					usage ();
- 					return 1;
- 				}
--			} else if (strcmp (opt, "retain-privileges") == 0) {
--				retain_privs = TRUE;
- 			} else if (strcmp (opt, "use-syslog") == 0) {
-                                 hald_use_syslog = TRUE;
- 			}
-@@ -606,13 +560,16 @@
- 	/* set up the local dbus server */
- 	if (!hald_dbus_local_server_init ())
- 		return 1;
-+	/* Start the runner helper daemon */
-+	if (!hald_runner_start_runner ()) {
-+		return 1;
-+	}
-+
-+	drop_privileges();
- 
- 	/* initialize operating system specific parts */
- 	osspec_init ();
- 
--	if (!retain_privs)
--		drop_privileges();
--
- 	hald_is_initialising = TRUE;
- 
- 	/* detect devices */
-@@ -659,7 +616,7 @@
- 	HAL_INFO (("Device probing completed"));
- 
- 	if (!hald_dbus_init ()) {
--		hal_util_kill_all_helpers ();
-+		hald_runner_kill_all();
- 		exit (1);
- 	}
- 
-diff -ruN hal-0.5.6-old/hald/hald_dbus.c hal-0.5.6/hald/hald_dbus.c
---- hal-0.5.6-old/hald/hald_dbus.c	2006-01-13 03:24:10.000000000 +0100
-+++ hal-0.5.6/hald/hald_dbus.c	2006-02-12 17:58:28.000000000 +0100
-@@ -1,5 +1,5 @@
- /***************************************************************************
-- * CVSID: $Id: hald_dbus.c,v 1.48 2006/01/12 17:48:44 dkukawka Exp $
-+ * CVSID: $Id: hald_dbus.c,v 1.53 2006/01/21 16:54:04 david Exp $
-  *
-  * dbus.c : D-BUS interface of HAL daemon
-  *
-@@ -46,6 +46,7 @@
- #include "logger.h"
- #include "osspec.h"
- #include "util.h"
-+#include "hald_runner.h"
- 
- static DBusConnection *dbus_connection = NULL;
- 
-@@ -1540,7 +1541,7 @@
- {
- 	dbus_bool_t rc;
- 	const char *udi;
--	const char *caps;
-+	GSList *caps;
- 	char *capability;
- 	HalDevice *d;
- 	DBusMessage *reply;
-@@ -1573,23 +1574,18 @@
- 		DIE (("No memory"));
- 
- 	rc = FALSE;
--	caps = hal_device_property_get_string (d, "info.capabilities");
-+	caps = hal_device_property_get_strlist (d, "info.capabilities");
- 	if (caps != NULL) {
--		char **capsv, **iter;
-+		GSList *iter;
- 
--		capsv = g_strsplit (caps, " ", 0);
--		for (iter = capsv; *iter != NULL; iter++) {
--			if (strcmp (*iter, capability) == 0) {
-+		for (iter = caps; iter != NULL; iter=g_slist_next(iter)) {
-+			if (strcmp (iter->data, capability) == 0) {
- 				rc = TRUE;
- 				break;
- 			}
- 		}
--
--		g_strfreev (capsv);
- 	}
- 
--	dbus_free (capability);
--
- 	dbus_message_iter_init_append (reply, &iter);
- 	dbus_message_iter_append_basic (&iter, DBUS_TYPE_BOOLEAN, &rc);
- 
-@@ -2482,54 +2478,36 @@
- }
- 
- static void
--hald_exec_method_cb (HalDevice *d, gboolean timed_out, gint return_code, 
--		     gpointer data1, gpointer data2, HalHelperData *helper_data)
-+hald_exec_method_cb (HalDevice *d, guint32 exit_type, 
-+                    gint return_code, gchar **error,
-+                    gpointer data1, gpointer data2)
- {
- 	dbus_uint32_t result;
--	DBusMessage *reply;
-+	DBusMessage *reply = NULL;
- 	DBusMessage *message;
- 	DBusMessageIter iter;
--	int *stderr_fd;
--	char buf[512]; /* TODO: don't hardcode error message size */
--	char *exp_name;
--	char *exp_detail;
-+	gchar *exp_name = NULL;
-+	gchar *exp_detail = NULL;
- 
- 	message = (DBusMessage *) data1;
--	stderr_fd = (int *) data2;
--
--	exp_name = NULL;
--	exp_detail = NULL;
--
--	/* read back possible error conditions from stderr */
--	if (stderr_fd != NULL) {
--		ssize_t num_read;
--
--		num_read = read (*stderr_fd, buf, sizeof (buf) - 2);
--		buf[sizeof (buf) - 2] = '\0';
--		buf[sizeof (buf) - 1] = '\0';
--		if (num_read > 0) {
--			char *p;
--			char *s;
--			p = buf;
--			for (s = p; *s != '\n' && *s != '\0'; s++)
--				;
--			if (*s != '\0') {
--				exp_name = g_strndup (p, s - p);
--				p = s + 1;
--				for (s = p; *s != '\n' && *s != '\0'; s++)
--					;
--				if (*s != '\0') {
--					exp_detail = g_strndup (p, s - p);
--				}
--			}
-+	
-+	if (exit_type == HALD_RUN_SUCCESS && error != NULL && 
-+	    error[0] != NULL && error[1] != NULL) {
-+		exp_name = error[0];
-+		if (error[0] != NULL) {
-+			exp_detail = error[1];
- 		}
--	}
--
--	if (exp_name != NULL && exp_detail != NULL) {
- 		HAL_INFO (("failed with '%s' '%s'", exp_name, exp_detail));
--
--		/* throw exception */
--
-+	}
-+	
-+	if (exit_type != HALD_RUN_SUCCESS) {
-+		reply = dbus_message_new_error (message, "org.freedesktop.Hal.Device.UnknownError", "An unknown error occured");
-+		if (dbus_connection != NULL) {
-+			if (!dbus_connection_send (dbus_connection, reply, NULL))
-+				DIE (("No memory"));
-+		}
-+		dbus_message_unref (reply);
-+	} else if (exp_name != NULL && exp_detail != NULL) {
- 		reply = dbus_message_new_error (message, exp_name, exp_detail);
- 		if (reply == NULL) {
- 			/* error name may be invalid - assume caller fucked up and use a generic HAL error name */
-@@ -2563,21 +2541,14 @@
- 	}
- 
- 	dbus_message_unref (message);
--	g_free (stderr_fd);
--	g_free (exp_name);
--	g_free (exp_detail);
- }
- 
- static DBusHandlerResult
- hald_exec_method (HalDevice *d, DBusConnection *connection, DBusMessage *message, const char *execpath)
- {
- 	int type;
--	char *stdin;
- 	GString *stdin_str;
- 	DBusMessageIter iter;
--	int stdin_fd;
--	int *stderr_fd;
--	ssize_t written;
- 	const char *sender;
- 	char *extra_env[2];
- 	char uid_export[128];
-@@ -2700,21 +2671,15 @@
- 		dbus_message_iter_next (&iter);
- 	}
- 
--	stdin = g_string_free (stdin_str, FALSE);
--
--	stderr_fd = (int *) g_new0 (int, 1);
--
- 	/* no timeout */
--	if (hal_util_helper_invoke_with_pipes (execpath, extra_env, d, 
--					       (gpointer) message, (gpointer) stderr_fd, 
--					       hald_exec_method_cb, 0, &stdin_fd, NULL, stderr_fd) != NULL) {
--		written = write (stdin_fd, stdin, strlen (stdin));
--		close (stdin_fd);
--	}
--
-+	hald_runner_run_method(d, 
-+                         execpath, extra_env, 
-+                         stdin_str->str, TRUE,
-+                         0,
-+                         hald_exec_method_cb,
-+                         (gpointer) message, NULL);
- 	dbus_message_ref (message);
--
--	g_free (stdin);
-+	g_string_free (stdin_str, TRUE);
- 
- 	return DBUS_HANDLER_RESULT_HANDLED;
- 
-diff -ruN hal-0.5.6-old/hald/hald_dbus.h hal-0.5.6/hald/hald_dbus.h
---- hal-0.5.6-old/hald/hald_dbus.h	2005-11-02 16:38:13.000000000 +0100
-+++ hal-0.5.6/hald/hald_dbus.h	2006-02-12 17:58:28.000000000 +0100
-@@ -1,5 +1,5 @@
- /***************************************************************************
-- * CVSID: $Id: hald_dbus.h,v 1.10 2005/11/02 15:38:13 david Exp $
-+ * CVSID: $Id: hald_dbus.h,v 1.11 2006/01/21 02:45:27 david Exp $
-  *
-  * hal_dbus.h : D-BUS interface of HAL daemon
-  *
-@@ -94,6 +94,4 @@
- DBusHandlerResult hald_dbus_filter_function (DBusConnection * connection, DBusMessage * message, void *user_data);
- 
- char *hald_dbus_local_server_addr (void);
--
--
- #endif /* HAL_DBUS_H */
-diff -ruN hal-0.5.6-old/hald/hald_runner.c hal-0.5.6/hald/hald_runner.c
---- hal-0.5.6-old/hald/hald_runner.c	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald/hald_runner.c	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,430 @@
-+/***************************************************************************
-+ * CVSID: $Id: hald_runner.c,v 1.5 2006/01/21 19:08:27 david Exp $
-+ *
-+ * hald_runner.c - Interface to the hal runner helper daemon
-+ *
-+ * Copyright (C) 2006 Sjoerd Simons, <sjoerd at luon.net>
-+ *
-+ * Licensed under the Academic Free License version 2.1
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-+ *
-+ **************************************************************************/
-+
-+#ifdef HAVE_CONFIG_H
-+#  include <config.h>
-+#endif
-+
-+#include <stdio.h>
-+
-+#include <glib.h>
-+#include <dbus/dbus.h>
-+#include <dbus/dbus-glib-lowlevel.h>
-+
-+#include "hald.h"
-+#include "util.h"
-+#include "logger.h"
-+#include "hald_dbus.h"
-+#include "hald_runner.h"
-+
-+typedef struct {
-+  HalDevice *d;
-+  HalRunTerminatedCB cb;
-+  gpointer data1;
-+  gpointer data2;
-+} HelperData;
-+
-+#define DBUS_SERVER_ADDRESS "unix:tmpdir=/tmp/hald-runner" 
-+
-+static DBusConnection *runner_connection = NULL;
-+
-+static void 
-+handle_connection(DBusServer *server,
-+                  DBusConnection *new_connection,
-+                  void *data) {
-+
-+  if (runner_connection == NULL) {
-+    runner_connection = new_connection;
-+    dbus_connection_ref (new_connection);
-+    dbus_connection_setup_with_g_main (new_connection, NULL);
-+    /* dbus_server_unref(server); */
-+  }
-+}
-+
-+static void
-+runner_died(GPid pid, gint status, gpointer data) {
-+  g_spawn_close_pid (pid);
-+  DIE (("Runner died"));
-+}
-+
-+gboolean
-+hald_runner_start_runner(void)
-+{
-+  DBusServer *server = NULL;
-+  DBusError err;
-+  GError *error = NULL;
-+  GPid pid;
-+  char *argv[] = { NULL, NULL};
-+  char *env[] =  { NULL, NULL, NULL, NULL};
-+  const char *hald_runner_path;
-+
-+  dbus_error_init(&err);
-+  server = dbus_server_listen(DBUS_SERVER_ADDRESS, &err);
-+  if (server == NULL) {
-+    HAL_ERROR (("Cannot create D-BUS server for the runner"));
-+    goto error;
-+  }
-+
-+  dbus_server_setup_with_g_main(server, NULL);
-+  dbus_server_set_new_connection_function(server, handle_connection, 
-+                                          NULL, NULL);
-+  argv[0] = "hald-runner";
-+  env[0] = g_strdup_printf("HALD_RUNNER_DBUS_ADDRESS=%s",
-+             dbus_server_get_address(server));
-+  hald_runner_path = g_getenv("HALD_RUNNER_PATH");
-+  if (hald_runner_path != NULL) {
-+	  env[1] = g_strdup_printf ("PATH=%s:" PACKAGE_LIBEXEC_DIR ":" PACKAGE_SCRIPT_DIR, hald_runner_path);
-+  } else {
-+	  env[1] = g_strdup_printf ("PATH=" PACKAGE_LIBEXEC_DIR ":" PACKAGE_SCRIPT_DIR);
-+  }
-+
-+  /*env[2] = "DBUS_VERBOSE=1";*/
-+  
-+  
-+  if (!g_spawn_async(NULL, argv, env, G_SPAWN_DO_NOT_REAP_CHILD|G_SPAWN_SEARCH_PATH, 
-+        NULL, NULL, &pid, &error)) {
-+    HAL_ERROR (("Could not spawn runner : '%s'", error->message));
-+    g_error_free (error);
-+    goto error;
-+  }
-+  g_free(env[0]);
-+  g_free(env[1]);
-+
-+  HAL_INFO (("Runner has pid %d", pid));
-+
-+  g_child_watch_add(pid, runner_died, NULL);
-+  while (runner_connection == NULL) {
-+    /* Wait for the runner */
-+    g_main_context_iteration(NULL, TRUE);
-+  }
-+  return TRUE;
-+
-+error:
-+  if (server != NULL)
-+    dbus_server_unref(server);
-+  return FALSE;
-+}
-+
-+static gboolean
-+add_property_to_msg (HalDevice *device, HalProperty *property, 
-+                                     gpointer user_data)
-+{
-+  char *prop_upper, *value;
-+  char *c;
-+  gchar *env;
-+  DBusMessageIter *iter = (DBusMessageIter *)user_data;
-+  
-+  prop_upper = g_ascii_strup (hal_property_get_key (property), -1);
-+ 
-+  /* periods aren't valid in the environment, so replace them with
-+   * underscores. */
-+  for (c = prop_upper; *c; c++) {
-+    if (*c == '.')
-+      *c = '_';
-+  }
-+
-+  value = hal_property_to_string (property);
-+  env = g_strdup_printf ("HAL_PROP_%s=%s", prop_upper, value);
-+  dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &env);
-+
-+  g_free (env);
-+  g_free (value);
-+  g_free (prop_upper);
-+
-+  return TRUE;
-+}
-+
-+static void
-+add_env(DBusMessageIter *iter, const gchar *key, const gchar *value) {
-+  gchar *env;
-+  env = g_strdup_printf ("%s=%s", key, value);
-+  dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &env);
-+  g_free(env);
-+}
-+
-+static void
-+add_basic_env(DBusMessageIter *iter, const gchar *udi) {
-+  if (hald_is_verbose) {
-+    add_env(iter, "HALD_VERBOSE", "1");
-+  }
-+  if (hald_is_initialising) {
-+    add_env(iter, "HALD_STARTUP", "1");
-+  }
-+  add_env(iter, "UDI", udi);
-+  add_env(iter, "HALD_DIRECT_ADDR", hald_dbus_local_server_addr());
-+}
-+
-+static void
-+add_extra_env(DBusMessageIter *iter, gchar **env) {
-+  int i;
-+  if (env != NULL) for (i = 0; env[i] != NULL; i++) {
-+    dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &env[i]);
-+  }
-+}
-+
-+static gboolean
-+add_command(DBusMessageIter *iter, const gchar *command_line) {
-+  gint argc;
-+  gint x;
-+  char **argv;
-+  GError *err = NULL;
-+  DBusMessageIter array_iter;
-+
-+  if (!g_shell_parse_argv(command_line, &argc, &argv, &err)) {
-+    HAL_ERROR (("Error parsing commandline '%s': %s", 
-+                 command_line, err->message));
-+    g_error_free (err);
-+    return FALSE;
-+  }
-+  if (!dbus_message_iter_open_container(iter, 
-+                                   DBUS_TYPE_ARRAY,
-+                                   DBUS_TYPE_STRING_AS_STRING,
-+                                   &array_iter))
-+    DIE (("No memory"));
-+  for (x = 0 ; argv[x] != NULL; x++) {
-+    dbus_message_iter_append_basic(&array_iter, DBUS_TYPE_STRING, &argv[x]);
-+  }
-+  dbus_message_iter_close_container(iter, &array_iter);
-+
-+  g_strfreev(argv);
-+  return TRUE;
-+}
-+
-+static gboolean
-+add_first_part(DBusMessageIter *iter, HalDevice *device,
-+                   const gchar *command_line, char **extra_env) {
-+  DBusMessageIter array_iter;
-+  const char *udi;
-+
-+  udi = hal_device_get_udi(device);
-+  dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &udi);
-+
-+  dbus_message_iter_open_container(iter, 
-+                                   DBUS_TYPE_ARRAY,
-+                                   DBUS_TYPE_STRING_AS_STRING,
-+                                   &array_iter);
-+  hal_device_property_foreach (device, add_property_to_msg, &array_iter);
-+  add_basic_env(&array_iter, udi);
-+  add_extra_env(&array_iter, extra_env);
-+  dbus_message_iter_close_container(iter, &array_iter);
-+
-+  if (!add_command(iter, command_line)) {
-+    return FALSE;
-+  }
-+  return TRUE;
-+}
-+
-+/* Start a helper, returns true on a successfull start */
-+gboolean
-+hald_runner_start(HalDevice *device,
-+                      const gchar *command_line, char **extra_env) {
-+  DBusMessage *msg, *reply;
-+  DBusError err;
-+  DBusMessageIter iter;
-+
-+  dbus_error_init(&err);
-+  msg = dbus_message_new_method_call("org.freedesktop.HalRunner",
-+                                     "/org/freedesktop/HalRunner",
-+                                     "org.freedesktop.HalRunner",
-+                                     "Start");
-+  if (msg == NULL) 
-+    DIE(("No memory"));
-+  dbus_message_iter_init_append(msg, &iter);
-+
-+  if (!add_first_part(&iter, device, command_line, extra_env)) 
-+    goto error;
-+ 
-+  /* Wait for the reply, should be almost instantanious */
-+  reply = 
-+    dbus_connection_send_with_reply_and_block(runner_connection, 
-+                                              msg, -1, &err);
-+  if (reply) {
-+    gboolean ret = 
-+      (dbus_message_get_type(reply) == DBUS_MESSAGE_TYPE_METHOD_RETURN);
-+    dbus_message_unref(reply);
-+    dbus_message_unref(msg);
-+    return ret;
-+  }
-+
-+error:
-+  dbus_message_unref(msg);
-+  return FALSE;
-+}
-+
-+static void
-+call_notify(DBusPendingCall *pending, void *user_data)
-+{
-+  HelperData *hb = (HelperData *)user_data;
-+  dbus_uint32_t exitt = HALD_RUN_SUCCESS;
-+  dbus_int32_t return_code = 0;
-+  DBusMessage *m;
-+  GArray *error = NULL;
-+  DBusMessageIter iter;
-+
-+  error = g_array_new(TRUE, FALSE, sizeof(char *));
-+
-+  m = dbus_pending_call_steal_reply(pending);
-+  if (dbus_message_get_type(m) != DBUS_MESSAGE_TYPE_METHOD_RETURN)
-+    goto malformed;
-+
-+  if (!dbus_message_iter_init(m, &iter) ||
-+       dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_UINT32) 
-+    goto malformed;
-+  dbus_message_iter_get_basic(&iter, &exitt);
-+
-+  if (!dbus_message_iter_next(&iter) || 
-+        dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_INT32) 
-+    goto malformed;
-+  dbus_message_iter_get_basic(&iter, &return_code);
-+
-+  while (dbus_message_iter_next(&iter) &&
-+    dbus_message_iter_get_arg_type(&iter) == DBUS_TYPE_STRING) {
-+    const char *value;
-+    dbus_message_iter_get_basic(&iter, &value);
-+    g_array_append_vals(error, &value, 1);
-+  }
-+
-+  hb->cb(hb->d, exitt, return_code, 
-+      (gchar **)error->data, hb->data1, hb->data2);
-+
-+  dbus_message_unref(m);
-+  g_array_free(error, FALSE);
-+
-+  return;
-+malformed:
-+  /* Send a Fail callback on malformed messages */
-+  HAL_ERROR (("Malformed or unexpected reply message"));
-+  hb->cb(hb->d, HALD_RUN_FAILED, return_code, NULL, hb->data1, hb->data2);
-+  dbus_message_unref(m);
-+  g_array_free(error, FALSE);
-+}
-+
-+/* Run a helper program using the commandline, with input as infomation on
-+ * stdin */
-+void
-+hald_runner_run_method(HalDevice *device,
-+                           const gchar *command_line, char **extra_env, 
-+                           gchar *input, gboolean error_on_stderr,
-+                           guint32 timeout,
-+                           HalRunTerminatedCB  cb,
-+                           gpointer data1, gpointer data2) {
-+  DBusMessage *msg;
-+  DBusMessageIter iter;
-+  DBusPendingCall *call;
-+  HelperData *hd = NULL;
-+  msg = dbus_message_new_method_call("org.freedesktop.HalRunner",
-+                             "/org/freedesktop/HalRunner",
-+                             "org.freedesktop.HalRunner",
-+                             "Run");
-+  if (msg == NULL) 
-+    DIE(("No memory"));
-+  dbus_message_iter_init_append(msg, &iter);
-+  
-+  if (!add_first_part(&iter, device, command_line, extra_env)) 
-+    goto error;
-+
-+  dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &input);
-+  dbus_message_iter_append_basic(&iter, DBUS_TYPE_BOOLEAN, &error_on_stderr);
-+  dbus_message_iter_append_basic(&iter, DBUS_TYPE_UINT32, &timeout);
-+
-+  if (!dbus_connection_send_with_reply(runner_connection, 
-+                                              msg, &call, INT_MAX))
-+    DIE (("No memory"));
-+
-+  hd = malloc(sizeof(HelperData));
-+  hd->d = device;
-+  hd->cb = cb;
-+  hd->data1 = data1;
-+  hd->data2 = data2;
-+
-+  dbus_pending_call_set_notify(call, call_notify, hd, free);
-+  dbus_message_unref(msg);
-+  return;
-+error:
-+  dbus_message_unref(msg);
-+  free(hd);
-+  cb(device, HALD_RUN_FAILED, 0, NULL, data1, data2);
-+}
-+
-+void
-+hald_runner_run(HalDevice *device,
-+                    const gchar *command_line, char **extra_env, 
-+                    guint timeout,
-+                    HalRunTerminatedCB  cb,
-+                    gpointer data1, gpointer data2) {
-+  hald_runner_run_method(device, command_line, extra_env, 
-+                             "", FALSE, timeout, cb, data1, data2);
-+}
-+
-+void
-+hald_runner_kill_device(HalDevice *device) {
-+  DBusMessage *msg, *reply;
-+  DBusError err;
-+  DBusMessageIter iter;
-+  const char *udi;
-+  
-+  msg = dbus_message_new_method_call("org.freedesktop.HalRunner",
-+                             "/org/freedesktop/HalRunner",
-+                             "org.freedesktop.HalRunner",
-+                             "Kill");
-+  if (msg == NULL) 
-+    DIE(("No memory"));
-+  dbus_message_iter_init_append(msg, &iter);
-+  udi = hal_device_get_udi(device);
-+  dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &udi);
-+
-+  /* Wait for the reply, should be almost instantanious */
-+  dbus_error_init(&err);
-+  reply = 
-+    dbus_connection_send_with_reply_and_block(runner_connection, msg, -1, &err);
-+  if (reply) {
-+    dbus_message_unref(reply);
-+  }
-+
-+  dbus_message_unref(msg);
-+}
-+
-+void
-+hald_runner_kill_all(HalDevice *device) {
-+  DBusMessage *msg, *reply;
-+  DBusError err;
-+  msg = dbus_message_new_method_call("org.freedesktop.HalRunner",
-+                             "/org/freedesktop/HalRunner",
-+                             "org.freedesktop.HalRunner",
-+                             "KillAll");
-+  if (msg == NULL) 
-+    DIE(("No memory"));
-+
-+  /* Wait for the reply, should be almost instantanious */
-+  dbus_error_init(&err);
-+  reply = 
-+    dbus_connection_send_with_reply_and_block(runner_connection,
-+                                              msg, -1, &err);
-+  if (reply) {
-+    dbus_message_unref(reply);
-+  }
-+
-+  dbus_message_unref(msg);
-+}
-diff -ruN hal-0.5.6-old/hald/hald_runner.h hal-0.5.6/hald/hald_runner.h
---- hal-0.5.6-old/hald/hald_runner.h	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald/hald_runner.h	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,76 @@
-+/***************************************************************************
-+ *
-+ * CVSID: $Id: hald_runner.h,v 1.2 2006/01/21 16:54:04 david Exp $
-+ *
-+ * hald_runner.h - Interface to the hal runner helper daemon
-+ *
-+ * Copyright (C) 2006 Sjoerd Simons <sjoerd at luon.net>
-+ *
-+ * Licensed under the Academic Free License version 2.1
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-+ *
-+ **************************************************************************/
-+
-+#ifndef HALD_RUNNER_H
-+#define HALD_RUNNER_H
-+
-+#include "device.h"
-+
-+/* Successful run of the program */
-+#define HALD_RUN_SUCCESS 0x0 
-+/* Process was killed because of running too long */
-+#define  HALD_RUN_TIMEOUT 0x1 
-+/* Failed to start for some reason */
-+#define HALD_RUN_FAILED 0x2
-+/* Killed on purpose, e.g. hal_runner_kill_device */   
-+#define HALD_RUN_KILLED 0x4
-+
-+/* Default sane timeout */
-+#define HAL_HELPER_TIMEOUT 10000
-+
-+typedef void (*HalRunTerminatedCB) (HalDevice *d, guint32 exit_type, 
-+                                       gint return_code, gchar **error,
-+                                       gpointer data1, gpointer data2);
-+
-+/* Start the runner daemon */
-+gboolean
-+hald_runner_start_runner(void);
-+
-+/* Start a helper, returns true on a successfull start */
-+gboolean
-+hald_runner_start(HalDevice *device, const gchar *command_line, 
-+                  char **extra_env);
-+
-+/* Run a helper program using the commandline, with input as infomation on
-+ * stdin */
-+void
-+hald_runner_run(HalDevice *device,
-+               const gchar *command_line, char **extra_env, 
-+               guint32 timeout,
-+               HalRunTerminatedCB cb,
-+               gpointer data1, gpointer data2);
-+void
-+hald_runner_run_method(HalDevice *device,                                                              
-+		       const gchar *command_line, char **extra_env, 
-+                       gchar *input, gboolean error_on_stderr,
-+                       guint32 timeout,
-+                       HalRunTerminatedCB  cb,
-+                       gpointer data1, gpointer data2);
-+
-+void hald_runner_kill_device(HalDevice *device);
-+void hald_runner_kill_all();
-+
-+#endif 
-diff -ruN hal-0.5.6-old/hald/haldaemon.in hal-0.5.6/hald/haldaemon.in
---- hal-0.5.6-old/hald/haldaemon.in	2005-02-25 02:55:08.000000000 +0100
-+++ hal-0.5.6/hald/haldaemon.in	2006-02-12 17:58:28.000000000 +0100
-@@ -25,7 +25,7 @@
- 
- start() {
-     echo -n $"Starting HAL daemon: "
--    daemon --check $servicename $processname --retain-privileges
-+    daemon --check $servicename $processname
-     RETVAL=$?
-     echo
-     [ $RETVAL -eq 0 ] && touch @LOCALSTATEDIR@/lock/subsys/$servicename
-diff -ruN hal-0.5.6-old/hald/linux2/blockdev.c hal-0.5.6/hald/linux2/blockdev.c
---- hal-0.5.6-old/hald/linux2/blockdev.c	2006-01-08 18:58:02.000000000 +0100
-+++ hal-0.5.6/hald/linux2/blockdev.c	2006-02-12 17:59:55.000000000 +0100
-@@ -1,9 +1,10 @@
- /***************************************************************************
-- * CVSID: $Id: blockdev.c,v 1.29 2006/01/06 18:41:23 dkukawka Exp $
-+ * CVSID: $Id: blockdev.c,v 1.33 2006/01/23 12:15:50 kay Exp $
-  *
-  * blockdev.c : Handling of block devices
-  *
-  * Copyright (C) 2005 David Zeuthen, <david at fubar.dk>
-+ * Copyright (C) 2005,2006 Kay Sievers, <kay.sievers at vrfy.org>
-  *
-  * Licensed under the Academic Free License version 2.1
-  *
-@@ -60,6 +61,7 @@
- #include "../device_info.h"
- #include "../hald_dbus.h"
- #include "../util.h"
-+#include "../hald_runner.h"
- 
- #include "osspec_linux.h"
- 
-@@ -269,15 +271,16 @@
- }
- 
- static void 
--add_blockdev_probing_helper_done (HalDevice *d, gboolean timed_out, gint return_code, 
--				  gpointer data1, gpointer data2, HalHelperData *helper_data)
-+add_blockdev_probing_helper_done (HalDevice *d, guint32 exit_type, 
-+                                  gint return_code, char **error,
-+                                  gpointer data1, gpointer data2) 
- {
- 	void *end_token = (void *) data1;
- 	gboolean is_volume;
- 
- 	/* helper_data may be null if probing is skipped */
- 
--	HAL_INFO (("entering; timed_out=%d, return_code=%d", timed_out, return_code));
-+	HAL_INFO (("entering; exit_type=%d, return_code=%d", exit_type, return_code));
- 
- 	if (d == NULL) {
- 		HAL_INFO (("Device object already removed"));
-@@ -291,7 +294,8 @@
- 	 * 
- 	 * (return code 2 means fs found on main block device (for non-volumes)) 
- 	 */
--	if (timed_out || !(return_code == 0 || (!is_volume && return_code == 2))) {
-+	if (exit_type != HALD_RUN_SUCCESS
-+	    || !(return_code == 0 || (!is_volume && return_code == 2))) {
- 		hal_device_store_remove (hald_get_tdl (), d);
- 		g_object_unref (d);
- 		hotplug_event_end (end_token);
-@@ -332,7 +336,7 @@
- 
- 
- out:
--	;
-+	return;
- }
- 
- static void 
-@@ -350,7 +354,7 @@
- 		hal_device_property_set_string (d, "info.product", "Ignored Device");
- 
- 		HAL_INFO (("Preprobing merged info.ignore==TRUE"));
--		
-+
- 		/* Move from temporary to global device store */
- 		hal_device_store_remove (hald_get_tdl (), d);
- 		hal_device_store_add (hald_get_gdl (), d);
-@@ -362,27 +366,23 @@
- 	if (!hal_device_property_get_bool (d, "storage.media_check_enabled") &&
- 	    hal_device_property_get_bool (d, "storage.no_partitions_hint")) {
- 
--
- 		/* special probe for PC floppy drives */
- 		if (strcmp (hal_device_property_get_string (d, "storage.bus"), "platform") == 0 &&
- 		    strcmp (hal_device_property_get_string (d, "storage.drive_type"), "floppy") == 0) {
- 			HAL_INFO (("Probing PC floppy %s to see if it is present", 
- 				   hal_device_property_get_string (d, "block.device")));
- 
--			if (hal_util_helper_invoke ("hald-probe-pc-floppy", NULL, d, (gpointer) end_token, 
--						    NULL, add_blockdev_probing_helper_done, 
--						    HAL_HELPER_TIMEOUT) == NULL) {
--				hal_device_store_remove (hald_get_tdl (), d);
--				g_object_unref (d);
--				hotplug_event_end (end_token);
--			}
-+			hald_runner_run(d, 
-+			                    "hald-probe-pc-floppy", NULL,
-+			                    HAL_HELPER_TIMEOUT,
-+			                    add_blockdev_probing_helper_done,
-+			                    (gpointer) end_token, NULL);
- 			goto out;
--
- 		} else {
- 			HAL_INFO (("Not probing storage device %s", 
- 				   hal_device_property_get_string (d, "block.device")));
- 
--			add_blockdev_probing_helper_done (d, FALSE, 0, (gpointer) end_token, NULL, NULL);
-+			add_blockdev_probing_helper_done (d, FALSE, 0, NULL, (gpointer) end_token, NULL);
- 			goto out;
- 		}
- 	}
-@@ -397,25 +397,23 @@
- 	HAL_INFO (("Probing storage device %s", hal_device_property_get_string (d, "block.device")));
- 
- 	/* probe the device */
--	if (hal_util_helper_invoke ("hald-probe-storage", NULL, d, (gpointer) end_token, 
--				    NULL, add_blockdev_probing_helper_done, 
--				    HAL_HELPER_TIMEOUT) == NULL) {
--		hal_device_store_remove (hald_get_tdl (), d);
--		g_object_unref (d);
--		hotplug_event_end (end_token);
--	}
-+	hald_runner_run(d,
-+			"hald-probe-storage", NULL,
-+			HAL_HELPER_TIMEOUT,
-+			add_blockdev_probing_helper_done,
-+			(gpointer) end_token, NULL);
- 
- out:
--	;
-+	return;
- }
- 
--static void 
-+static void
- blockdev_callouts_preprobing_volume_done (HalDevice *d, gpointer userdata1, gpointer userdata2)
- {
- 	void *end_token = (void *) userdata1;
- 
- 	if (hal_device_property_get_bool (d, "info.ignore")) {
--		/* Leave the device here with info.ignore==TRUE so we won't pick up children 
-+		/* Leave the device here with info.ignore==TRUE so we won't pick up children
- 		 * Also remove category and all capabilities
- 		 */
- 		hal_device_property_remove (d, "info.category");
-@@ -424,26 +422,23 @@
- 		hal_device_property_set_string (d, "info.product", "Ignored Device");
- 
- 		HAL_INFO (("Preprobing merged info.ignore==TRUE"));
--		
-+
- 		/* Move from temporary to global device store */
- 		hal_device_store_remove (hald_get_tdl (), d);
- 		hal_device_store_add (hald_get_gdl (), d);
--		
-+
- 		hotplug_event_end (end_token);
- 		goto out;
- 	}
- 
- 	/* probe the device */
--	if (hal_util_helper_invoke ("hald-probe-volume", NULL, d, (gpointer) end_token, 
--				    NULL, add_blockdev_probing_helper_done, 
--				    HAL_HELPER_TIMEOUT) == NULL) {
--		hal_device_store_remove (hald_get_tdl (), d);
--		g_object_unref (d);
--		hotplug_event_end (end_token);
--	}
--
-+	hald_runner_run (d,
-+			 "hald-probe-volume", NULL, 
-+			 HAL_HELPER_TIMEOUT,
-+			 add_blockdev_probing_helper_done,
-+			 (gpointer) end_token, NULL);
- out:
--	;
-+	return;
- }
- 
- static const gchar *
-@@ -535,6 +530,7 @@
- hotplug_event_begin_add_blockdev (const gchar *sysfs_path, const gchar *device_file, gboolean is_partition,
- 				  HalDevice *parent, void *end_token)
- {
-+	HotplugEvent *hotplug_event = (HotplugEvent *) end_token;
- 	gchar *major_minor;
- 	HalDevice *d;
- 	unsigned int major, minor;
-@@ -659,7 +655,7 @@
- 
- 		scsidev = NULL;
- 		physdev = NULL;
--		physdev_udi = NULL;		
-+		physdev_udi = NULL;
- 
- 		is_removable = FALSE;
- 		is_hotpluggable = FALSE;
-@@ -883,10 +879,10 @@
- 		 * VOLUMES
- 		 *
- 		 ************************/
--
- 		hal_device_property_set_string (d, "block.storage_device", parent->udi);
- 
--		/* set defaults */
-+		/* defaults */
-+		hal_device_property_set_string (d, "storage.model", "");
- 		hal_device_property_set_string (d, "volume.fstype", "");
- 		hal_device_property_set_string (d, "volume.fsusage", "");
- 		hal_device_property_set_string (d, "volume.fsversion", "");
-@@ -1162,14 +1158,15 @@
- }
- 
- static void 
--block_rescan_storage_done (HalDevice *d, gboolean timed_out, gint return_code, 
--			   gpointer data1, gpointer data2, HalHelperData *helper_data)
-+block_rescan_storage_done (HalDevice *d, guint32 exit_type, 
-+                           gint return_code, gchar **error,
-+                           gpointer data1, gpointer data2)
- {
- 	const char *sysfs_path;
- 	HalDevice *fakevolume;
- 	char fake_sysfs_path[HAL_PATH_MAX];
- 
--	HAL_INFO (("hald-probe-storage --only-check-for-media returned %d (timed_out=%d)", return_code, timed_out));
-+	HAL_INFO (("hald-probe-storage --only-check-for-media returned %d (exit_type=%d)", return_code, exit_type));
- 
- 	if (d == NULL) {
- 		HAL_INFO (("Device object already removed"));
-@@ -1220,13 +1217,11 @@
- 	}
- 
- 	/* now see if we got a file system on the main block device */
--	if (hal_util_helper_invoke ("hald-probe-storage --only-check-for-media", NULL, d, NULL, 
--				    NULL, block_rescan_storage_done, 
--				    HAL_HELPER_TIMEOUT) == NULL) {
--		HAL_INFO (("Could not invoke 'hald-probe-storage --only-check-for-media'"));
--		goto out;
--	}
--	
-+	hald_runner_run (d,
-+	                 "hald-probe-storage --only-check-for-media", NULL, 
-+	                 HAL_HELPER_TIMEOUT,
-+	                 block_rescan_storage_done,
-+	                 NULL, NULL);
- 	ret = TRUE;
- 
- out:
-diff -ruN hal-0.5.6-old/hald/linux2/classdev.c hal-0.5.6/hald/linux2/classdev.c
---- hal-0.5.6-old/hald/linux2/classdev.c	2006-01-17 01:25:34.000000000 +0100
-+++ hal-0.5.6/hald/linux2/classdev.c	2006-02-12 17:58:28.000000000 +0100
-@@ -1,5 +1,5 @@
- /***************************************************************************
-- * CVSID: $Id: classdev.c,v 1.40 2006/01/13 16:40:31 kay Exp $
-+ * CVSID: $Id: classdev.c,v 1.42 2006/01/28 22:51:18 david Exp $
-  *
-  * classdev.c : Handling of functional kernel devices
-  *
-@@ -65,6 +65,7 @@
- #include "../device_info.h"
- #include "../device_store.h"
- #include "../util.h"
-+#include "../hald_runner.h"
- 
- #include "osspec_linux.h"
- 
-@@ -1282,13 +1283,14 @@
- }
- 
- static void 
--add_classdev_probing_helper_done (HalDevice *d, gboolean timed_out, gint return_code, 
--				  gpointer data1, gpointer data2, HalHelperData *helper_data)
-+add_classdev_probing_helper_done (HalDevice *d, guint32 exit_type, 
-+                                  gint return_code, char **error,
-+                                  gpointer data1, gpointer data2) 
- {
- 	void *end_token = (void *) data1;
- 	ClassDevHandler *handler = (ClassDevHandler *) data2;
- 
--	HAL_INFO (("entering; timed_out=%d, return_code=%d", timed_out, return_code));
-+	HAL_INFO (("entering; exit_type=%d, return_code=%d", exit_type, return_code));
- 
- 	if (d == NULL) {
- 		HAL_INFO (("Device object already removed"));
-@@ -1297,7 +1299,7 @@
- 	}
- 
- 	/* Discard device if probing reports failure */
--	if (return_code != 0) {
-+	if (exit_type != HALD_RUN_SUCCESS || return_code != 0) {
- 		hal_device_store_remove (hald_get_tdl (), d);
- 		g_object_unref (d);
- 		hotplug_event_end (end_token);
-@@ -1350,20 +1352,16 @@
- 		prober = NULL;
- 	if (prober != NULL) {
- 		/* probe the device */
--		if (hal_util_helper_invoke (prober, NULL, d, (gpointer) end_token, 
--					    (gpointer) handler, add_classdev_probing_helper_done, 
--					    HAL_HELPER_TIMEOUT) == NULL) {
--			hal_device_store_remove (hald_get_tdl (), d);
--			g_object_unref (d);
--			hotplug_event_end (end_token);
--		}
--		goto out;
-+		hald_runner_run(d, 
-+		                    prober, NULL, 
-+		                    HAL_HELPER_TIMEOUT, 
-+		                    add_classdev_probing_helper_done,
-+		                    (gpointer) end_token, (gpointer) handler);
- 	} else {
- 		add_classdev_after_probing (d, handler, end_token);
--		goto out;
- 	}
- out:
--	;
-+  ;
- }
- 
- void
-diff -ruN hal-0.5.6-old/hald/linux2/osspec.c hal-0.5.6/hald/linux2/osspec.c
---- hal-0.5.6-old/hald/linux2/osspec.c	2006-01-13 03:24:10.000000000 +0100
-+++ hal-0.5.6/hald/linux2/osspec.c	2006-02-12 17:58:28.000000000 +0100
-@@ -66,6 +66,7 @@
- #include "../logger.h"
- #include "../hald.h"
- #include "../hald_dbus.h"
-+#include "../hald_runner.h"
- #include "../device_info.h"
- #include "../util.h"
- 
-@@ -75,12 +76,10 @@
- #include "hotplug_helper.h"
- 
- #include "ids.h"
--
- #include "acpi.h"
- #include "apm.h"
- #include "pmu.h"
- #include "blockdev.h"
--
- #include "osspec_linux.h"
- 
- static char *hal_sysfs_path;
-@@ -457,8 +456,9 @@
- }
- 
- static void 
--computer_probing_pcbios_helper_done (HalDevice *d, gboolean timed_out, gint return_code, 
--				     gpointer data1, gpointer data2, HalHelperData *helper_data)
-+computer_probing_pcbios_helper_done (HalDevice *d, guint32 exit_type, 
-+		                                 gint return_code, gchar **error, 
-+				                             gpointer data1, gpointer data2)
- {
- 	const char *chassis_type;
- 	const char *system_manufacturer;
-@@ -635,16 +635,15 @@
- 
- 	/* TODO: add prober for PowerMac's */
- 	if (should_decode_dmi) {
--		if (hal_util_helper_invoke ("hald-probe-smbios", NULL, root, NULL, NULL,
--					    computer_probing_pcbios_helper_done, 
--					    HAL_HELPER_TIMEOUT) != NULL)
--			goto out;
--	}
-+		hald_runner_run (root, "hald-probe-smbios", NULL,
-+                         HAL_HELPER_TIMEOUT,
-+                         computer_probing_pcbios_helper_done, 
-+                         NULL, NULL);
-+	} else {
-+		/* no probing */
-+		computer_probing_helper_done (root);
-+  }
- 
--	/* no probing or probing failed */
--	computer_probing_helper_done (root);
--out:
--	;
- }
- 
- DBusHandlerResult
-diff -ruN hal-0.5.6-old/hald/util.c hal-0.5.6/hald/util.c
---- hal-0.5.6-old/hald/util.c	2005-12-08 19:23:23.000000000 +0100
-+++ hal-0.5.6/hald/util.c	2006-02-12 17:58:28.000000000 +0100
-@@ -1,5 +1,5 @@
- /***************************************************************************
-- * CVSID: $Id: util.c,v 1.34 2005/11/29 17:38:00 dkukawka Exp $
-+ * CVSID: $Id: util.c,v 1.36 2006/01/23 12:15:50 kay Exp $
-  *
-  * util.c - Various utilities
-  *
-@@ -50,6 +50,7 @@
- 
- #include "hald_dbus.h"
- #include "util.h"
-+#include "hald_runner.h"
- 
- typedef struct {
- 	int last_level;
-@@ -534,235 +535,6 @@
- 	;
- }
- 
--void
--hal_util_terminate_helper (HalHelperData *ed)
--{
--	if (ed->already_issued_kill) {
--		HAL_INFO (("Already issued SIGTERM for pid %d, udi %s",
--			   ed->pid, ed->d != NULL ? ed->d->udi : "(finalized object)"));
--		goto out;
--	}
--
--	HAL_INFO (("killing %d for udi %s", ed->pid, ed->d != NULL ? ed->d->udi : "(finalized object)"));
--
--	/* kill kenny! kill it!! */
--	ed->already_issued_kill = TRUE;
--	kill (ed->pid, SIGTERM);
--
--	if (ed->timeout_watch_id != (guint) -1) {
--		g_source_remove (ed->timeout_watch_id);
--		ed->timeout_watch_id = -1;
--	}
--
--	if (!ed->already_issued_callback) {
--		ed->already_issued_callback = TRUE;
--		ed->cb (ed->d, TRUE, -1, ed->data1, ed->data2, ed);
--	}
--
--	/* ed will be cleaned up when helper_child_exited reaps the child */
--out:
--	;
--}
--
--static gboolean
--helper_child_timeout (gpointer data)
--{
--	HalHelperData *ed = (HalHelperData *) data;
--
--	HAL_INFO (("child timeout for pid %d", ed->pid));
--
--	/* kill kenny! kill it!! */
--	ed->already_issued_kill = TRUE;
--	kill (ed->pid, SIGTERM);
--
--	ed->timeout_watch_id = -1;
--
--	if (!ed->already_issued_callback) {
--		ed->already_issued_callback = TRUE;
--		ed->cb (ed->d, TRUE, -1, ed->data1, ed->data2, ed);
--	}
--
--	/* ed will be cleaned up when helper_child_exited reaps the child */
--	return FALSE;
--}
--
--static GSList *running_helpers = NULL;
--
--static void 
--helper_device_object_finalized (gpointer data, GObject *where_the_object_was)
--{
--	HalHelperData *ed = (HalHelperData *) data;
--
--	HAL_INFO (("device object finalized for helper with pid %d", ed->pid));
--
--	ed->d = NULL;
--	hal_util_terminate_helper (ed);
--}
--
--static void 
--helper_child_exited (GPid pid, gint status, gpointer data)
--{
--	HalHelperData *ed = (HalHelperData *) data;
--
--	HAL_INFO (("child exited for pid %d", pid));
--
--	if (ed->timeout_watch_id != (guint) -1)
--		g_source_remove (ed->timeout_watch_id);
--	g_spawn_close_pid (ed->pid);
--
--	if (ed->d != NULL)
--		g_object_weak_unref (G_OBJECT (ed->d), helper_device_object_finalized, ed);
--
--	if (!ed->already_issued_callback)
--		ed->cb (ed->d, FALSE, WEXITSTATUS (status), ed->data1, ed->data2, ed);
--
--	running_helpers = g_slist_remove (running_helpers, ed);
--
--	g_free (ed);
--}
--
--static gboolean
--helper_add_property_to_env (HalDevice *device, HalProperty *property, gpointer user_data)
--{
--	char *prop_upper, *value;
--	char *c;
--	gchar ***ienvp = (gchar ***) user_data;
--	gchar **envp;
--
--	envp = *ienvp;
--	*ienvp = *ienvp + 1;
--
--	prop_upper = g_ascii_strup (hal_property_get_key (property), -1);
--	
--	/* periods aren't valid in the environment, so replace them with
--	 * underscores. */
--	for (c = prop_upper; *c; c++) {
--		if (*c == '.')
--			*c = '_';
--	}
--	
--	value = hal_property_to_string (property);
--	
--	*envp = g_strdup_printf ("HAL_PROP_%s=%s", prop_upper, value);
--
--	g_free (value);
--	g_free (prop_upper);
--
--	return TRUE;
--}
--
--static void
--callout_failed (HalHelperData *ed);
--
--HalHelperData *
--hal_util_helper_invoke (const gchar *command_line, gchar **extra_env, HalDevice *d, 
--			gpointer data1, gpointer data2, HalHelperTerminatedCB cb, guint timeout)
--{
--	return hal_util_helper_invoke_with_pipes (command_line, extra_env, d, data1, data2, cb, timeout, NULL, NULL, NULL);
--}
--
--HalHelperData *
--hal_util_helper_invoke_with_pipes (const gchar *command_line, gchar **extra_env, HalDevice *d, 
--				   gpointer data1, gpointer data2, HalHelperTerminatedCB cb, guint timeout,
--				   int *standard_input, int *standard_output, int *standard_error)
--{
--	HalHelperData *ed;
--	gint argc;
--	gchar **argv;
--	gchar **envp;
--	gchar **ienvp;
--	GError *err = NULL;
--	guint num_env_vars;
--	guint i, j;
--	guint num_properties;
--	guint num_extras;
--	char *local_addr;
--
--	ed = g_new0 (HalHelperData, 1);
--	ed->data1 = data1;
--	ed->data2 = data2;
--	ed->d = d;
--	ed->cb = cb;
--	ed->already_issued_callback = FALSE;
--	ed->already_issued_kill = FALSE;
--
--	num_properties = hal_device_num_properties (d);
--	if (extra_env == NULL)
--		num_extras = 0;
--	else
--		num_extras = g_strv_length ((gchar **) extra_env);
--	num_env_vars = num_properties + 2 + num_extras;
--	if (hald_is_verbose)
--		num_env_vars++;
--	if (hald_is_initialising)
--		num_env_vars++;
--	if ((local_addr = hald_dbus_local_server_addr ()) != NULL)
--		num_env_vars++;
--
--	envp = g_new (char *, num_env_vars);
--	ienvp = envp;
--	hal_device_property_foreach (d, helper_add_property_to_env, &ienvp);
--	i = num_properties;
--	envp[i++] = g_strdup_printf ("UDI=%s", hal_device_get_udi (d));
--	if (hald_is_verbose)
--		envp[i++] = g_strdup ("HALD_VERBOSE=1");
--	if (hald_is_initialising)
--		envp[i++] = g_strdup ("HALD_STARTUP=1");
--	if (local_addr != NULL)
--		envp[i++] = g_strdup_printf ("HALD_DIRECT_ADDR=%s", local_addr);
--	for (j = 0; j < num_extras; j++) {
--		envp[i++] = g_strdup (extra_env[j]);
--	}
--	envp[i++] = NULL;
--
--	err = NULL;
--	if (!g_shell_parse_argv (command_line, &argc, &argv, &err)) {
--		HAL_ERROR (("Error parsing commandline '%s': %s", command_line, err->message));
--		g_error_free (err);
--		g_free (ed);
--		ed = NULL;
--	} else {
--		err = NULL;
--		if (!g_spawn_async_with_pipes (NULL, 
--					       argv, 
--					       envp, 
--					       G_SPAWN_DO_NOT_REAP_CHILD|G_SPAWN_SEARCH_PATH,
--					       NULL,
--					       NULL,
--					       &ed->pid,
--					       standard_input,
--					       standard_output,
--					       standard_error,
--					       &err)) {
--			HAL_ERROR (("Couldn't spawn '%s' err=%s!", command_line, err->message));
--			g_error_free (err);
--
--			/* move ahead in list */
--			callout_failed(ed);
--
--			g_free (ed);
--			ed = NULL;
--		} else {
--			ed->child_watch_id = g_child_watch_add (ed->pid, helper_child_exited, (gpointer) ed);
--			if (timeout > 0)
--				ed->timeout_watch_id = g_timeout_add (timeout, helper_child_timeout, (gpointer) ed);
--			else
--				ed->timeout_watch_id = (guint) -1;
--
--			running_helpers = g_slist_prepend (running_helpers, ed);
--			/* device object may disappear from underneath us - this is
--			 * used to terminate the helper and pass d=NULL in the
--			 * HalHelperTerminatedCB callback
--			 */
--			g_object_weak_ref (G_OBJECT (d), helper_device_object_finalized, ed);
--		}
--	}
--
--	g_strfreev (envp);
--	g_free (argv);
--
--	return ed;
--}
- 
- gboolean
- hal_util_path_ascend (gchar *path)
-@@ -1127,21 +899,10 @@
- 
- static void callout_do_next (Callout *c);
- 
--static void
--callout_failed (HalHelperData *ed)
--{
--	if (ed->data1 != NULL) {
--		Callout *c;
--		c = (Callout *) ed->data1;
--
--		c->next_program++;
--		callout_do_next(c);
--	}
--}
--
- static void 
--callout_terminated (HalDevice *d, gboolean timed_out, gint return_code, 
--		    gpointer data1, gpointer data2, HalHelperData *helper_data)
-+callout_terminated (HalDevice *d, guint32 exit_type, 
-+                   gint return_code, gchar **error, 
-+                   gpointer data1, gpointer data2)
- {
- 	Callout *c;
- 
-@@ -1172,8 +933,9 @@
- 		callback (d, userdata1, userdata2);
- 
- 	} else {
--		hal_util_helper_invoke (c->programs[c->next_program], c->extra_env, c->d, 
--					(gpointer) c, NULL, callout_terminated, HAL_HELPER_TIMEOUT);
-+    hald_runner_run(c->d, c->programs[c->next_program], c->extra_env,
-+                    HAL_HELPER_TIMEOUT, callout_terminated,
-+                    (gpointer)c, NULL);
- 		c->next_program++;
- 	}
- }
-@@ -1250,27 +1012,21 @@
- 	;
- }
- 
--/** Kill all helpers we have running; useful when exiting hald.
-- *
-- *  @return                     Number of childs killed
-- */
--unsigned int 
--hal_util_kill_all_helpers (void)
-+gchar *
-+hal_util_strdup_valid_utf8 (const char *str)
- {
--	unsigned int n;
--	GSList *i;
-+	char *endchar;
-+	char *newstr;
- 
--	n = 0;
--	for (i = running_helpers; i != NULL; i = i->next) {
--		HalHelperData *ed;
-+	if (str == NULL)
-+		return NULL;
- 
--		ed = i->data;
--		HAL_INFO (("Killing helper with pid %d", ed->pid));
--		kill (ed->pid, SIGTERM);
--		n++;
--	}
-+	newstr = g_strdup (str);
- 
--	return n;
-+	while (!g_utf8_validate (str, -1, (const char **) &endchar)) {
-+		*endchar = '?';
-+	}
-+	return newstr;
- }
- 
- void
-diff -ruN hal-0.5.6-old/hald/util.h hal-0.5.6/hald/util.h
---- hal-0.5.6-old/hald/util.h	2005-11-14 17:16:03.000000000 +0100
-+++ hal-0.5.6/hald/util.h	2006-02-12 17:58:28.000000000 +0100
-@@ -1,5 +1,5 @@
- /***************************************************************************
-- * CVSID: $Id: util.h,v 1.15 2005/11/09 20:45:44 dkukawka Exp $
-+ * CVSID: $Id: util.h,v 1.17 2006/01/23 12:15:50 kay Exp $
-  *
-  * util.h - Various utilities
-  *
-@@ -29,6 +29,10 @@
- #include "device.h"
- #include "device_store.h"
- 
-+#define HAL_NAME_MAX 256
-+#define HAL_PATH_MAX 256
-+#define HAL_HELPER_TIMEOUT 10000
-+
- int util_compute_time_remaining (const char *id, int chargeRate, int chargeLevel, int chargeLastFull, 
- 				 gboolean isDischarging, gboolean isCharging, gboolean guessChargeRate);
- 
-@@ -81,38 +85,6 @@
- 					   const gchar *linestart, guint elem, const gchar *expected, 
- 					   gboolean reuse_file);
- 
--struct HalHelperData_s;
--typedef struct HalHelperData_s HalHelperData;
--
--typedef void (*HalHelperTerminatedCB) (HalDevice *d, gboolean timed_out, gint return_code, 
--				       gpointer data1, gpointer data2, HalHelperData *helper_data);
--
--struct HalHelperData_s
--{
--	GPid pid;
--	guint timeout_watch_id;
--	guint child_watch_id;
--	HalHelperTerminatedCB cb;
--	gpointer data1;
--	gpointer data2;
--	HalDevice *d;
--
--	gboolean already_issued_callback;
--	gboolean already_issued_kill;
--};
--
--unsigned int hal_util_kill_all_helpers (void);
--
--HalHelperData  *hal_util_helper_invoke (const gchar *command_line, gchar **extra_env, HalDevice *d, 
--					gpointer data1, gpointer data2, HalHelperTerminatedCB cb, guint timeout);
--
--HalHelperData  *hal_util_helper_invoke_with_pipes (const gchar *command_line, gchar **extra_env, HalDevice *d, 
--						   gpointer data1, gpointer data2, HalHelperTerminatedCB cb, 
--						   guint timeout,
--						   int *standard_input, int *standard_output, int *standard_error);
--
--void hal_util_terminate_helper (HalHelperData *helper_data);
--
- gchar **hal_util_dup_strv_from_g_slist (GSList *strlist);
- 
- typedef void (*HalCalloutsDone) (HalDevice *d, gpointer userdata1, gpointer userdata2);
-@@ -121,10 +93,8 @@
- void hal_util_callout_device_remove (HalDevice *d, HalCalloutsDone callback, gpointer userdata1, gpointer userdata2);
- void hal_util_callout_device_preprobe (HalDevice *d, HalCalloutsDone callback, gpointer userdata1, gpointer userdata2);
- 
--void hal_util_hexdump (const void *buf, unsigned int size);
--
--#define HAL_HELPER_TIMEOUT 10000
-+gchar *hal_util_strdup_valid_utf8 (const char *str);
- 
--#define HAL_PATH_MAX 256
-+void hal_util_hexdump (const void *buf, unsigned int size);
- 
- #endif /* UTIL_H */
-diff -ruN hal-0.5.6-old/hald-runner/.cvsignore hal-0.5.6/hald-runner/.cvsignore
---- hal-0.5.6-old/hald-runner/.cvsignore	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald-runner/.cvsignore	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,5 @@
-+.deps
-+.libs
-+Makefile
-+Makefile.in
-+hald-runner
-diff -ruN hal-0.5.6-old/hald-runner/Makefile.am hal-0.5.6/hald-runner/Makefile.am
---- hal-0.5.6-old/hald-runner/Makefile.am	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald-runner/Makefile.am	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,16 @@
-+## Process this file with automake to produce Makefile.in
-+INCLUDES = \
-+	-DPACKAGE_LIBEXEC_DIR=\""$(libexecdir)"\" \
-+	-DPACKAGE_SYSCONF_DIR=\""$(sysconfdir)"\" \
-+	-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
-+	-DPACKAGE_BIN_DIR=\""$(bindir)"\" \
-+	-DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-+	-DPACKAGE_LOCALSTATEDIR=\""$(localstatedir)"\" \
-+	-DPACKAGE_SCRIPT_DIR=\""$(datadir)/hal/scripts"\" \
-+	-I$(top_srcdir) \
-+	@PACKAGE_CFLAGS@
-+
-+libexec_PROGRAMS = hald-runner
-+
-+hald_runner_SOURCES = main.c runner.c runner.h utils.h utils.c
-+hald_runner_LDADD = @PACKAGE_LIBS@ @DBUS_LIBS@
-diff -ruN hal-0.5.6-old/hald-runner/Makefile.in hal-0.5.6/hald-runner/Makefile.in
---- hal-0.5.6-old/hald-runner/Makefile.in	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald-runner/Makefile.in	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,573 @@
-+# Makefile.in generated by automake 1.9.6 from Makefile.am.
-+# @configure_input@
-+
-+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-+# 2003, 2004, 2005  Free Software Foundation, Inc.
-+# This Makefile.in is free software; the Free Software Foundation
-+# gives unlimited permission to copy and/or distribute it,
-+# with or without modifications, as long as this notice is preserved.
-+
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-+# PARTICULAR PURPOSE.
-+
-+ at SET_MAKE@
-+
-+srcdir = @srcdir@
-+top_srcdir = @top_srcdir@
-+VPATH = @srcdir@
-+pkgdatadir = $(datadir)/@PACKAGE@
-+pkglibdir = $(libdir)/@PACKAGE@
-+pkgincludedir = $(includedir)/@PACKAGE@
-+top_builddir = ..
-+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-+INSTALL = @INSTALL@
-+install_sh_DATA = $(install_sh) -c -m 644
-+install_sh_PROGRAM = $(install_sh) -c
-+install_sh_SCRIPT = $(install_sh) -c
-+INSTALL_HEADER = $(INSTALL_DATA)
-+transform = $(program_transform_name)
-+NORMAL_INSTALL = :
-+PRE_INSTALL = :
-+POST_INSTALL = :
-+NORMAL_UNINSTALL = :
-+PRE_UNINSTALL = :
-+POST_UNINSTALL = :
-+build_triplet = @build@
-+host_triplet = @host@
-+libexec_PROGRAMS = hald-runner$(EXEEXT)
-+subdir = hald-runner
-+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
-+	$(top_srcdir)/configure.in
-+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-+	$(ACLOCAL_M4)
-+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
-+CONFIG_HEADER = $(top_builddir)/config.h
-+CONFIG_CLEAN_FILES =
-+am__installdirs = "$(DESTDIR)$(libexecdir)"
-+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-+PROGRAMS = $(libexec_PROGRAMS)
-+am_hald_runner_OBJECTS = main.$(OBJEXT) runner.$(OBJEXT) \
-+	utils.$(OBJEXT)
-+hald_runner_OBJECTS = $(am_hald_runner_OBJECTS)
-+hald_runner_DEPENDENCIES =
-+DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-+depcomp = $(SHELL) $(top_srcdir)/depcomp
-+am__depfiles_maybe = depfiles
-+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-+LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
-+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-+	$(AM_CFLAGS) $(CFLAGS)
-+CCLD = $(CC)
-+LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-+SOURCES = $(hald_runner_SOURCES)
-+DIST_SOURCES = $(hald_runner_SOURCES)
-+ETAGS = etags
-+CTAGS = ctags
-+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-+ACLOCAL = @ACLOCAL@
-+ACPI_ACPID = @ACPI_ACPID@
-+ACPI_ACPID_FALSE = @ACPI_ACPID_FALSE@
-+ACPI_ACPID_TRUE = @ACPI_ACPID_TRUE@
-+ACPI_PROC = @ACPI_PROC@
-+ACPI_PROC_FALSE = @ACPI_PROC_FALSE@
-+ACPI_PROC_TRUE = @ACPI_PROC_TRUE@
-+ALL_LINGUAS = @ALL_LINGUAS@
-+AMDEP_FALSE = @AMDEP_FALSE@
-+AMDEP_TRUE = @AMDEP_TRUE@
-+AMTAR = @AMTAR@
-+AR = @AR@
-+AUTOCONF = @AUTOCONF@
-+AUTOHEADER = @AUTOHEADER@
-+AUTOMAKE = @AUTOMAKE@
-+AWK = @AWK@
-+BINDIR = @BINDIR@
-+CATALOGS = @CATALOGS@
-+CATOBJEXT = @CATOBJEXT@
-+CC = @CC@
-+CCDEPMODE = @CCDEPMODE@
-+CFLAGS = @CFLAGS@
-+CPP = @CPP@
-+CPPFLAGS = @CPPFLAGS@
-+CXX = @CXX@
-+CXXCPP = @CXXCPP@
-+CXXDEPMODE = @CXXDEPMODE@
-+CXXFLAGS = @CXXFLAGS@
-+CYGPATH_W = @CYGPATH_W@
-+DATADIR = @DATADIR@
-+DATADIRNAME = @DATADIRNAME@
-+DBUS_CFLAGS = @DBUS_CFLAGS@
-+DBUS_LIBS = @DBUS_LIBS@
-+DBUS_SYS_DIR = @DBUS_SYS_DIR@
-+DEFS = @DEFS@
-+DEPDIR = @DEPDIR@
-+DOCBOOK = @DOCBOOK@
-+DOCBOOK_DOCS_ENABLED_FALSE = @DOCBOOK_DOCS_ENABLED_FALSE@
-+DOCBOOK_DOCS_ENABLED_TRUE = @DOCBOOK_DOCS_ENABLED_TRUE@
-+DOCDIR = @DOCDIR@
-+DOXYGEN = @DOXYGEN@
-+DOXYGEN_DOCS_ENABLED_FALSE = @DOXYGEN_DOCS_ENABLED_FALSE@
-+DOXYGEN_DOCS_ENABLED_TRUE = @DOXYGEN_DOCS_ENABLED_TRUE@
-+ECHO = @ECHO@
-+ECHO_C = @ECHO_C@
-+ECHO_N = @ECHO_N@
-+ECHO_T = @ECHO_T@
-+EGREP = @EGREP@
-+EXEEXT = @EXEEXT@
-+EXPAT_LIB = @EXPAT_LIB@
-+F77 = @F77@
-+FFLAGS = @FFLAGS@
-+FSTAB_SYNC_ENABLED = @FSTAB_SYNC_ENABLED@
-+FSTAB_SYNC_ENABLED_FALSE = @FSTAB_SYNC_ENABLED_FALSE@
-+FSTAB_SYNC_ENABLED_TRUE = @FSTAB_SYNC_ENABLED_TRUE@
-+GCOV_FALSE = @GCOV_FALSE@
-+GCOV_TRUE = @GCOV_TRUE@
-+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
-+GMOFILES = @GMOFILES@
-+GMSGFMT = @GMSGFMT@
-+HALD_BACKEND = @HALD_BACKEND@
-+HALD_COMPILE_LINUX2_FALSE = @HALD_COMPILE_LINUX2_FALSE@
-+HALD_COMPILE_LINUX2_TRUE = @HALD_COMPILE_LINUX2_TRUE@
-+HALD_COMPILE_SOLARIS_FALSE = @HALD_COMPILE_SOLARIS_FALSE@
-+HALD_COMPILE_SOLARIS_TRUE = @HALD_COMPILE_SOLARIS_TRUE@
-+HALD_PID_FILE = @HALD_PID_FILE@
-+HAL_GROUP = @HAL_GROUP@
-+HAL_USER = @HAL_USER@
-+HAVE_LIBUSB_FALSE = @HAVE_LIBUSB_FALSE@
-+HAVE_LIBUSB_TRUE = @HAVE_LIBUSB_TRUE@
-+HAVE_SELINUX_FALSE = @HAVE_SELINUX_FALSE@
-+HAVE_SELINUX_TRUE = @HAVE_SELINUX_TRUE@
-+HWDATA_DIR = @HWDATA_DIR@
-+INSTALL_DATA = @INSTALL_DATA@
-+INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_SCRIPT = @INSTALL_SCRIPT@
-+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-+INSTOBJEXT = @INSTOBJEXT@
-+INTLLIBS = @INTLLIBS@
-+INTLTOOL_CAVES_RULE = @INTLTOOL_CAVES_RULE@
-+INTLTOOL_DESKTOP_RULE = @INTLTOOL_DESKTOP_RULE@
-+INTLTOOL_DIRECTORY_RULE = @INTLTOOL_DIRECTORY_RULE@
-+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
-+INTLTOOL_ICONV = @INTLTOOL_ICONV@
-+INTLTOOL_KBD_RULE = @INTLTOOL_KBD_RULE@
-+INTLTOOL_KEYS_RULE = @INTLTOOL_KEYS_RULE@
-+INTLTOOL_MERGE = @INTLTOOL_MERGE@
-+INTLTOOL_MSGFMT = @INTLTOOL_MSGFMT@
-+INTLTOOL_MSGMERGE = @INTLTOOL_MSGMERGE@
-+INTLTOOL_OAF_RULE = @INTLTOOL_OAF_RULE@
-+INTLTOOL_PERL = @INTLTOOL_PERL@
-+INTLTOOL_PONG_RULE = @INTLTOOL_PONG_RULE@
-+INTLTOOL_PROP_RULE = @INTLTOOL_PROP_RULE@
-+INTLTOOL_SCHEMAS_RULE = @INTLTOOL_SCHEMAS_RULE@
-+INTLTOOL_SERVER_RULE = @INTLTOOL_SERVER_RULE@
-+INTLTOOL_SHEET_RULE = @INTLTOOL_SHEET_RULE@
-+INTLTOOL_SOUNDLIST_RULE = @INTLTOOL_SOUNDLIST_RULE@
-+INTLTOOL_THEME_RULE = @INTLTOOL_THEME_RULE@
-+INTLTOOL_UI_RULE = @INTLTOOL_UI_RULE@
-+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
-+INTLTOOL_XAM_RULE = @INTLTOOL_XAM_RULE@
-+INTLTOOL_XGETTEXT = @INTLTOOL_XGETTEXT@
-+INTLTOOL_XML_NOMERGE_RULE = @INTLTOOL_XML_NOMERGE_RULE@
-+INTLTOOL_XML_RULE = @INTLTOOL_XML_RULE@
-+LDFLAGS = @LDFLAGS@
-+LIBDIR = @LIBDIR@
-+LIBEXECDIR = @LIBEXECDIR@
-+LIBOBJS = @LIBOBJS@
-+LIBS = @LIBS@
-+LIBTOOL = @LIBTOOL@
-+LIBUSB_CONFIG = @LIBUSB_CONFIG@
-+LINUX_HOTPLUG_DIR = @LINUX_HOTPLUG_DIR@
-+LN_S = @LN_S@
-+LOCALSTATEDIR = @LOCALSTATEDIR@
-+LTLIBOBJS = @LTLIBOBJS@
-+LT_AGE = @LT_AGE@
-+LT_CURRENT = @LT_CURRENT@
-+LT_REVISION = @LT_REVISION@
-+MAINT = @MAINT@
-+MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
-+MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
-+MAKEINFO = @MAKEINFO@
-+MKINSTALLDIRS = @MKINSTALLDIRS@
-+MSGFMT = @MSGFMT@
-+OBJEXT = @OBJEXT@
-+OS_TYPE_RED_HAT_FALSE = @OS_TYPE_RED_HAT_FALSE@
-+OS_TYPE_RED_HAT_TRUE = @OS_TYPE_RED_HAT_TRUE@
-+OS_TYPE_UNKNOWN_FALSE = @OS_TYPE_UNKNOWN_FALSE@
-+OS_TYPE_UNKNOWN_TRUE = @OS_TYPE_UNKNOWN_TRUE@
-+PACKAGE = @PACKAGE@
-+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-+PACKAGE_CFLAGS = @PACKAGE_CFLAGS@
-+PACKAGE_LIBS = @PACKAGE_LIBS@
-+PACKAGE_NAME = @PACKAGE_NAME@
-+PACKAGE_STRING = @PACKAGE_STRING@
-+PACKAGE_TARNAME = @PACKAGE_TARNAME@
-+PACKAGE_VERSION = @PACKAGE_VERSION@
-+PATH_SEPARATOR = @PATH_SEPARATOR@
-+PCMCIA_STAB_FILE = @PCMCIA_STAB_FILE@
-+PCMCIA_SUPPORT_ENABLE = @PCMCIA_SUPPORT_ENABLE@
-+PCMCIA_SUPPORT_ENABLE_FALSE = @PCMCIA_SUPPORT_ENABLE_FALSE@
-+PCMCIA_SUPPORT_ENABLE_TRUE = @PCMCIA_SUPPORT_ENABLE_TRUE@
-+PKG_CONFIG = @PKG_CONFIG@
-+POFILES = @POFILES@
-+POSUB = @POSUB@
-+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
-+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
-+PYTHON = @PYTHON@
-+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-+PYTHON_PLATFORM = @PYTHON_PLATFORM@
-+PYTHON_PREFIX = @PYTHON_PREFIX@
-+PYTHON_VERSION = @PYTHON_VERSION@
-+RANLIB = @RANLIB@
-+SBINDIR = @SBINDIR@
-+SET_MAKE = @SET_MAKE@
-+SHELL = @SHELL@
-+STRIP = @STRIP@
-+SYSCONFDIR = @SYSCONFDIR@
-+USE_NLS = @USE_NLS@
-+VERSION = @VERSION@
-+XGETTEXT = @XGETTEXT@
-+ac_ct_AR = @ac_ct_AR@
-+ac_ct_CC = @ac_ct_CC@
-+ac_ct_CXX = @ac_ct_CXX@
-+ac_ct_F77 = @ac_ct_F77@
-+ac_ct_RANLIB = @ac_ct_RANLIB@
-+ac_ct_STRIP = @ac_ct_STRIP@
-+ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@
-+am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-+am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-+am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-+am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-+am__include = @am__include@
-+am__leading_dot = @am__leading_dot@
-+am__quote = @am__quote@
-+am__tar = @am__tar@
-+am__untar = @am__untar@
-+bindir = @bindir@
-+build = @build@
-+build_alias = @build_alias@
-+build_cpu = @build_cpu@
-+build_os = @build_os@
-+build_vendor = @build_vendor@
-+datadir = @datadir@
-+exec_prefix = @exec_prefix@
-+host = @host@
-+host_alias = @host_alias@
-+host_cpu = @host_cpu@
-+host_os = @host_os@
-+host_vendor = @host_vendor@
-+includedir = @includedir@
-+infodir = @infodir@
-+install_sh = @install_sh@
-+libdir = @libdir@
-+libexecdir = @libexecdir@
-+localstatedir = @localstatedir@
-+mandir = @mandir@
-+mkdir_p = @mkdir_p@
-+oldincludedir = @oldincludedir@
-+pkgpyexecdir = @pkgpyexecdir@
-+pkgpythondir = @pkgpythondir@
-+prefix = @prefix@
-+program_transform_name = @program_transform_name@
-+pyexecdir = @pyexecdir@
-+pythondir = @pythondir@
-+sbindir = @sbindir@
-+sharedstatedir = @sharedstatedir@
-+sysconfdir = @sysconfdir@
-+target_alias = @target_alias@
-+INCLUDES = \
-+	-DPACKAGE_LIBEXEC_DIR=\""$(libexecdir)"\" \
-+	-DPACKAGE_SYSCONF_DIR=\""$(sysconfdir)"\" \
-+	-DPACKAGE_DATA_DIR=\""$(datadir)"\" \
-+	-DPACKAGE_BIN_DIR=\""$(bindir)"\" \
-+	-DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
-+	-DPACKAGE_LOCALSTATEDIR=\""$(localstatedir)"\" \
-+	-DPACKAGE_SCRIPT_DIR=\""$(datadir)/hal/scripts"\" \
-+	-I$(top_srcdir) \
-+	@PACKAGE_CFLAGS@
-+
-+hald_runner_SOURCES = main.c runner.c runner.h utils.h utils.c
-+hald_runner_LDADD = @PACKAGE_LIBS@ @DBUS_LIBS@
-+all: all-am
-+
-+.SUFFIXES:
-+.SUFFIXES: .c .lo .o .obj
-+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
-+	@for dep in $?; do \
-+	  case '$(am__configure_deps)' in \
-+	    *$$dep*) \
-+	      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-+		&& exit 0; \
-+	      exit 1;; \
-+	  esac; \
-+	done; \
-+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  hald-runner/Makefile'; \
-+	cd $(top_srcdir) && \
-+	  $(AUTOMAKE) --gnu  hald-runner/Makefile
-+.PRECIOUS: Makefile
-+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-+	@case '$?' in \
-+	  *config.status*) \
-+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-+	  *) \
-+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-+	esac;
-+
-+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+
-+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
-+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
-+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-+install-libexecPROGRAMS: $(libexec_PROGRAMS)
-+	@$(NORMAL_INSTALL)
-+	test -z "$(libexecdir)" || $(mkdir_p) "$(DESTDIR)$(libexecdir)"
-+	@list='$(libexec_PROGRAMS)'; for p in $$list; do \
-+	  p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-+	  if test -f $$p \
-+	     || test -f $$p1 \
-+	  ; then \
-+	    f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-+	   echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(libexecPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(libexecdir)/$$f'"; \
-+	   $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(libexecPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(libexecdir)/$$f" || exit 1; \
-+	  else :; fi; \
-+	done
-+
-+uninstall-libexecPROGRAMS:
-+	@$(NORMAL_UNINSTALL)
-+	@list='$(libexec_PROGRAMS)'; for p in $$list; do \
-+	  f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-+	  echo " rm -f '$(DESTDIR)$(libexecdir)/$$f'"; \
-+	  rm -f "$(DESTDIR)$(libexecdir)/$$f"; \
-+	done
-+
-+clean-libexecPROGRAMS:
-+	@list='$(libexec_PROGRAMS)'; for p in $$list; do \
-+	  f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-+	  echo " rm -f $$p $$f"; \
-+	  rm -f $$p $$f ; \
-+	done
-+hald-runner$(EXEEXT): $(hald_runner_OBJECTS) $(hald_runner_DEPENDENCIES) 
-+	@rm -f hald-runner$(EXEEXT)
-+	$(LINK) $(hald_runner_LDFLAGS) $(hald_runner_OBJECTS) $(hald_runner_LDADD) $(LIBS)
-+
-+mostlyclean-compile:
-+	-rm -f *.$(OBJEXT)
-+
-+distclean-compile:
-+	-rm -f *.tab.c
-+
-+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/main.Po at am__quote@
-+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/runner.Po at am__quote@
-+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/utils.Po at am__quote@
-+
-+.c.o:
-+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ at am__fastdepCC_FALSE@	$(COMPILE) -c $<
-+
-+.c.obj:
-+ at am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ at am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`
-+
-+.c.lo:
-+ at am__fastdepCC_TRUE@	if $(LTCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-+ at am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-+ at AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-+ at am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<
-+
-+mostlyclean-libtool:
-+	-rm -f *.lo
-+
-+clean-libtool:
-+	-rm -rf .libs _libs
-+
-+distclean-libtool:
-+	-rm -f libtool
-+uninstall-info-am:
-+
-+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-+	unique=`for i in $$list; do \
-+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+	  done | \
-+	  $(AWK) '    { files[$$0] = 1; } \
-+	       END { for (i in files) print i; }'`; \
-+	mkid -fID $$unique
-+tags: TAGS
-+
-+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-+		$(TAGS_FILES) $(LISP)
-+	tags=; \
-+	here=`pwd`; \
-+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-+	unique=`for i in $$list; do \
-+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+	  done | \
-+	  $(AWK) '    { files[$$0] = 1; } \
-+	       END { for (i in files) print i; }'`; \
-+	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-+	  test -n "$$unique" || unique=$$empty_fix; \
-+	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-+	    $$tags $$unique; \
-+	fi
-+ctags: CTAGS
-+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-+		$(TAGS_FILES) $(LISP)
-+	tags=; \
-+	here=`pwd`; \
-+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-+	unique=`for i in $$list; do \
-+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-+	  done | \
-+	  $(AWK) '    { files[$$0] = 1; } \
-+	       END { for (i in files) print i; }'`; \
-+	test -z "$(CTAGS_ARGS)$$tags$$unique" \
-+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-+	     $$tags $$unique
-+
-+GTAGS:
-+	here=`$(am__cd) $(top_builddir) && pwd` \
-+	  && cd $(top_srcdir) \
-+	  && gtags -i $(GTAGS_ARGS) $$here
-+
-+distclean-tags:
-+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-+
-+distdir: $(DISTFILES)
-+	@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
-+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
-+	list='$(DISTFILES)'; for file in $$list; do \
-+	  case $$file in \
-+	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
-+	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
-+	  esac; \
-+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-+	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
-+	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
-+	    dir="/$$dir"; \
-+	    $(mkdir_p) "$(distdir)$$dir"; \
-+	  else \
-+	    dir=''; \
-+	  fi; \
-+	  if test -d $$d/$$file; then \
-+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-+	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-+	    fi; \
-+	    cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-+	  else \
-+	    test -f $(distdir)/$$file \
-+	    || cp -p $$d/$$file $(distdir)/$$file \
-+	    || exit 1; \
-+	  fi; \
-+	done
-+check-am: all-am
-+check: check-am
-+all-am: Makefile $(PROGRAMS)
-+installdirs:
-+	for dir in "$(DESTDIR)$(libexecdir)"; do \
-+	  test -z "$$dir" || $(mkdir_p) "$$dir"; \
-+	done
-+install: install-am
-+install-exec: install-exec-am
-+install-data: install-data-am
-+uninstall: uninstall-am
-+
-+install-am: all-am
-+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-+
-+installcheck: installcheck-am
-+install-strip:
-+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-+	  `test -z '$(STRIP)' || \
-+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-+mostlyclean-generic:
-+
-+clean-generic:
-+
-+distclean-generic:
-+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-+
-+maintainer-clean-generic:
-+	@echo "This command is intended for maintainers to use"
-+	@echo "it deletes files that may require special tools to rebuild."
-+clean: clean-am
-+
-+clean-am: clean-generic clean-libexecPROGRAMS clean-libtool \
-+	mostlyclean-am
-+
-+distclean: distclean-am
-+	-rm -rf ./$(DEPDIR)
-+	-rm -f Makefile
-+distclean-am: clean-am distclean-compile distclean-generic \
-+	distclean-libtool distclean-tags
-+
-+dvi: dvi-am
-+
-+dvi-am:
-+
-+html: html-am
-+
-+info: info-am
-+
-+info-am:
-+
-+install-data-am:
-+
-+install-exec-am: install-libexecPROGRAMS
-+
-+install-info: install-info-am
-+
-+install-man:
-+
-+installcheck-am:
-+
-+maintainer-clean: maintainer-clean-am
-+	-rm -rf ./$(DEPDIR)
-+	-rm -f Makefile
-+maintainer-clean-am: distclean-am maintainer-clean-generic
-+
-+mostlyclean: mostlyclean-am
-+
-+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-+	mostlyclean-libtool
-+
-+pdf: pdf-am
-+
-+pdf-am:
-+
-+ps: ps-am
-+
-+ps-am:
-+
-+uninstall-am: uninstall-info-am uninstall-libexecPROGRAMS
-+
-+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-+	clean-libexecPROGRAMS clean-libtool ctags distclean \
-+	distclean-compile distclean-generic distclean-libtool \
-+	distclean-tags distdir dvi dvi-am html html-am info info-am \
-+	install install-am install-data install-data-am install-exec \
-+	install-exec-am install-info install-info-am \
-+	install-libexecPROGRAMS install-man install-strip installcheck \
-+	installcheck-am installdirs maintainer-clean \
-+	maintainer-clean-generic mostlyclean mostlyclean-compile \
-+	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-+	tags uninstall uninstall-am uninstall-info-am \
-+	uninstall-libexecPROGRAMS
-+
-+# Tell versions [3.59,3.63) of GNU make to not export all variables.
-+# Otherwise a system limit (for SysV at least) may be exceeded.
-+.NOEXPORT:
-diff -ruN hal-0.5.6-old/hald-runner/main.c hal-0.5.6/hald-runner/main.c
---- hal-0.5.6-old/hald-runner/main.c	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald-runner/main.c	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,217 @@
-+/***************************************************************************
-+ * CVSID: $Id: main.c,v 1.3 2006/01/23 14:54:48 kay Exp $
-+ *
-+ * main.c - Main dbus interface of the hald runner
-+ *
-+ * Copyright (C) 2006 Sjoerd Simons, <sjoerd at luon.net>
-+ *
-+ * Licensed under the Academic Free License version 2.1
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-+ *
-+ **************************************************************************/
-+#include <stdio.h>
-+#include <stdlib.h>
-+#define DBUS_API_SUBJECT_TO_CHANGE 
-+#include <dbus/dbus-glib-lowlevel.h>
-+
-+#include <glib.h>
-+#include "utils.h"
-+#include "runner.h"
-+
-+static gboolean
-+parse_first_part(run_request *r, DBusMessage *msg, DBusMessageIter *iter)
-+{
-+	DBusMessageIter sub_iter;
-+	char *tmpstr;
-+
-+	/* First should be the device UDI */
-+	if (dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_STRING) 
-+		goto malformed;
-+	dbus_message_iter_get_basic(iter, &tmpstr);
-+	r->udi = g_strdup(tmpstr);
-+
-+	/* Then the environment array */
-+	if (!dbus_message_iter_next(iter) || dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY)
-+		goto malformed;
-+	dbus_message_iter_recurse(iter, &sub_iter);
-+	r->environment = get_string_array(&sub_iter);
-+
-+	/* Then argv */
-+	if (!dbus_message_iter_next(iter) || dbus_message_iter_get_arg_type(iter) != DBUS_TYPE_ARRAY) 
-+		goto malformed;
-+	dbus_message_iter_recurse(iter, &sub_iter);
-+	r->argv = get_string_array(&sub_iter);
-+
-+	return TRUE;
-+
-+malformed:
-+	return FALSE;
-+}
-+
-+static void
-+handle_run(DBusConnection *con, DBusMessage *msg)
-+{
-+	DBusMessage *reply;
-+	DBusMessageIter iter;
-+	run_request *r;
-+	char *tmpstr;
-+
-+	r = new_run_request();
-+	g_assert(dbus_message_iter_init(msg, &iter));
-+
-+	if (!parse_first_part(r, msg, &iter)) 
-+		goto malformed;
-+
-+	/* Next a string of what should be written to stdin */
-+	if (!dbus_message_iter_next(&iter) || dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_STRING)
-+		goto malformed;
-+	dbus_message_iter_get_basic(&iter, &tmpstr);
-+	r->input = g_strdup(tmpstr);
-+
-+	/* Then an bool to indicate if we should grab stderr */
-+	if (!dbus_message_iter_next(&iter) || dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_BOOLEAN) 
-+		goto malformed;
-+	dbus_message_iter_get_basic(&iter, &(r->error_on_stderr));
-+
-+	/* Then an uint32 timeout for it */
-+	if (!dbus_message_iter_next(&iter) || dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_UINT32) 
-+		goto malformed;
-+	dbus_message_iter_get_basic(&iter, &(r->timeout));
-+
-+	/* let run_request_run handle the reply */
-+	run_request_run(r, con, msg);
-+	return;
-+
-+malformed:
-+	del_run_request(r);
-+	reply = dbus_message_new_error(msg, "org.freedesktop.HalRunner.Malformed",
-+				       "Malformed run request");
-+	dbus_connection_send(con, reply, NULL);
-+	dbus_message_unref(reply);
-+}
-+
-+static void
-+handle_start(DBusConnection *con, DBusMessage *msg)
-+{
-+	DBusMessage *reply;
-+	DBusMessageIter iter;
-+	run_request *r;
-+
-+	r = new_run_request();
-+	g_assert(dbus_message_iter_init(msg, &iter));
-+
-+	if (!dbus_message_iter_init(msg, &iter) || !parse_first_part(r, msg, &iter))
-+		goto malformed;
-+
-+	if (run_request_run(r, NULL, NULL)) {
-+		reply = dbus_message_new_method_return(msg);
-+	} else {
-+		reply = dbus_message_new_error(msg, "org.freedesktop.HalRunner.Failed",
-+					       "Start request failed");
-+	}
-+	dbus_connection_send(con, reply, NULL);
-+	dbus_message_unref(reply);
-+	return ;
-+malformed:
-+	del_run_request(r);
-+	reply = dbus_message_new_error(msg, "org.freedesktop.HalRunner.Malformed",
-+				       "Malformed start request");
-+	dbus_connection_send(con, reply, NULL);
-+	dbus_message_unref(reply);
-+}
-+
-+static void
-+handle_kill(DBusConnection *con, DBusMessage *msg)
-+{
-+	DBusError error;
-+	DBusMessage *reply = NULL;
-+	char *udi;
-+
-+	dbus_error_init (&error);
-+	if (!dbus_message_get_args(msg, &error,
-+				   DBUS_TYPE_STRING, &udi,
-+				   DBUS_TYPE_INVALID)) {
-+		reply = dbus_message_new_error (msg, "org.freedesktop.HalRunner.Malformed", 
-+						"Malformed kill message");
-+		g_assert(reply);
-+		dbus_connection_send (con, reply, NULL);
-+		dbus_message_unref(reply);
-+		return;
-+	}
-+	run_kill_udi(udi);
-+
-+	/* always successfull */
-+	reply = dbus_message_new_method_return(msg);
-+	dbus_connection_send(con, reply, NULL);
-+	dbus_message_unref(reply);
-+}
-+
-+static DBusHandlerResult
-+filter(DBusConnection *con, DBusMessage *msg, void *user_data)
-+{
-+	DBusMessage *reply;
-+
-+	if (dbus_message_is_method_call(msg, "org.freedesktop.HalRunner", "Run")) {
-+		handle_run(con, msg);
-+		return DBUS_HANDLER_RESULT_HANDLED;
-+	} else if (dbus_message_is_method_call(msg, "org.freedesktop.HalRunner", "Start")) {
-+		handle_start(con, msg);
-+		return DBUS_HANDLER_RESULT_HANDLED;
-+	} else if (dbus_message_is_method_call(msg, "org.freedesktop.HalRunner", "Kill")) {
-+		handle_kill(con, msg);
-+		return DBUS_HANDLER_RESULT_HANDLED;
-+	} else if (dbus_message_is_method_call(msg, "org.freedesktop.HalRunner", "KillAll")) {
-+		run_kill_all();
-+		/* alwasy successfull */
-+		reply = dbus_message_new_method_return(msg);
-+		dbus_connection_send(con, reply, NULL);
-+		dbus_message_unref(reply);
-+		return DBUS_HANDLER_RESULT_HANDLED;
-+	}
-+	return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
-+}
-+
-+int
-+main(int argc, char **argv)
-+{
-+	DBusConnection *c;
-+	DBusError error;
-+	GMainLoop *loop;
-+	char *dbus_address;
-+
-+	run_init();
-+	dbus_error_init(&error);
-+	dbus_address = getenv("HALD_RUNNER_DBUS_ADDRESS");
-+	g_assert(dbus_address != NULL);
-+
-+	fprintf(stderr, "Runner started - allowed paths are '%s'\n", getenv("PATH"));
-+
-+	c = dbus_connection_open(dbus_address, &error);
-+	if (c == NULL)
-+		goto error;
-+
-+	loop = g_main_loop_new(NULL, FALSE);
-+
-+	dbus_connection_setup_with_g_main(c, NULL);
-+	dbus_connection_set_exit_on_disconnect(c, TRUE);
-+	dbus_connection_add_filter(c, filter, NULL, NULL);
-+
-+	g_main_loop_run(loop);
-+
-+error:
-+	fprintf(stderr,"An error has occured: %s\n", error.message);
-+	return -1;
-+}
-diff -ruN hal-0.5.6-old/hald-runner/runner.c hal-0.5.6/hald-runner/runner.c
---- hal-0.5.6-old/hald-runner/runner.c	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald-runner/runner.c	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,347 @@
-+/***************************************************************************
-+ * CVSID: $Id: runner.c,v 1.6 2006/01/29 15:03:27 hughsient Exp $
-+ *
-+ * runner.c - Process running code
-+ *
-+ * Copyright (C) 2006 Sjoerd Simons, <sjoerd at luon.net>
-+ *
-+ * Licensed under the Academic Free License version 2.1
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-+ *
-+ **************************************************************************/
-+#include <stdio.h>
-+#include <unistd.h>
-+#include <stdlib.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <sys/wait.h>
-+#include <signal.h>
-+#include <string.h>
-+
-+#define DBUS_API_SUBJECT_TO_CHANGE 
-+#include <dbus/dbus-glib-lowlevel.h>
-+
-+#include <glib.h>
-+#include "utils.h"
-+#include "runner.h"
-+
-+/* Successful run of the program */
-+#define HALD_RUN_SUCCESS 0x0 
-+/* Process was killed because of running too long */
-+#define  HALD_RUN_TIMEOUT 0x1 
-+/* Failed to start for some reason */
-+#define HALD_RUN_FAILED 0x2
-+/* Killed on purpose, e.g. hal_util_kill_device_helpers */   
-+#define HALD_RUN_KILLED 0x4
-+
-+GHashTable *udi_hash = NULL;
-+
-+typedef struct {
-+	run_request *r;
-+	DBusMessage *msg;
-+	DBusConnection *con;
-+	GPid pid;
-+	gint stderr_v;
-+	guint watch;
-+	guint timeout;
-+	gboolean sent_kill;
-+} run_data;
-+
-+static void
-+del_run_data(run_data *rd)
-+{
-+	if (rd == NULL)
-+		return;
-+
-+	del_run_request(rd->r);
-+	if (rd->msg)
-+		dbus_message_unref(rd->msg);
-+
-+	g_spawn_close_pid(rd->pid);
-+
-+	if (rd->stderr_v >= 0)
-+		close(rd->stderr_v);
-+
-+	if (rd->timeout != 0)
-+		g_source_remove(rd->timeout);
-+
-+	g_free(rd);
-+}
-+
-+run_request *
-+new_run_request(void)
-+{
-+	run_request *result;
-+	result = g_new0(run_request, 1);
-+	g_assert(result != NULL);
-+	return result;
-+}
-+
-+void
-+del_run_request(run_request *r)
-+{
-+	if (r == NULL)
-+		return;
-+	g_free(r->udi);
-+	free_string_array(r->environment);
-+	free_string_array(r->argv);
-+	g_free(r->input);
-+	g_free(r);
-+}
-+
-+static void
-+send_reply(DBusConnection *con, DBusMessage *msg, guint32 exit_type, gint32 return_code, gchar **error)
-+{
-+	DBusMessage *reply;
-+	DBusMessageIter iter;
-+	int i;
-+
-+	if (con == NULL || msg == NULL) 
-+		return;
-+
-+	reply = dbus_message_new_method_return(msg);
-+	g_assert(reply != NULL);
-+
-+	dbus_message_iter_init_append(reply, &iter);
-+	dbus_message_iter_append_basic(&iter, DBUS_TYPE_UINT32, &exit_type);
-+	dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &return_code);
-+	if (error != NULL) for (i = 0; error[i] != NULL; i++) {
-+		dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &error[i]);
-+	}
-+
-+	dbus_connection_send(con, reply, NULL);
-+	dbus_message_unref(reply);
-+}
-+
-+static void
-+remove_from_hash_table(run_data *rd)
-+{
-+	GList *list;
-+
-+	/* Remove to the hashtable */
-+	list = (GList *)g_hash_table_lookup(udi_hash, rd->r->udi);
-+	list = g_list_remove(list, rd);
-+	/* The hash table will take care to not leak the dupped string */
-+	g_hash_table_insert(udi_hash, g_strdup(rd->r->udi), list);
-+}
-+
-+static void
-+run_exited(GPid pid, gint status, gpointer data)
-+{
-+	run_data *rd = (run_data *)data;
-+	char **error = NULL;
-+
-+	printf("%s exited\n", rd->r->argv[0]);
-+	rd->watch = 0;
-+	if (rd->sent_kill == TRUE) {
-+		/* We send it a kill, so ignore */
-+		del_run_data(rd);
-+		return;
-+	}
-+	/* Check if it was a normal exit */
-+	if (!WIFEXITED(status)) {
-+		/* No not normal termination ? crash ? */
-+		send_reply(rd->con, rd->msg, HALD_RUN_FAILED, 0, NULL);
-+		remove_from_hash_table(rd);
-+		del_run_data(rd);
-+		return;
-+	}
-+	/* normal exit */
-+	if (rd->stderr_v >= 0) {
-+		/* Need to read stderr */
-+		error = get_string_array_from_fd(rd->stderr_v);
-+		rd->stderr_v = -1;
-+	}
-+	if (rd->msg != NULL)
-+		send_reply(rd->con, rd->msg, HALD_RUN_SUCCESS, WEXITSTATUS(status), error);
-+	free_string_array(error);
-+	remove_from_hash_table(rd);
-+	del_run_data(rd);
-+}
-+
-+static gboolean
-+run_timedout(gpointer data) {
-+	run_data *rd = (run_data *)data;
-+	/* Time is up, kill the process, send reply that it was killed! 
-+	 * Don't wait for exit, because it could hang in state D
-+	 */ 
-+	kill(rd->pid, SIGTERM);
-+	/* Ensure the timeout is not removed in the delete */
-+	rd->timeout = 0;
-+	/* So the exit watch will know it's killed  in case it runs*/
-+	rd->sent_kill = TRUE;
-+
-+	send_reply(rd->con, rd->msg, HALD_RUN_TIMEOUT, 0, NULL);
-+	remove_from_hash_table(rd);
-+	return FALSE;
-+}
-+
-+static gboolean
-+find_program(char **argv)
-+{
-+	/* Search for the program in the dirs where it's allowed to be */
-+	char *program;
-+	char *path = NULL;
-+
-+	if (argv[0] == NULL) 
-+		return FALSE;
-+
-+	program = g_path_get_basename(argv[0]);
-+
-+	/* first search $PATH to make e.g. run-hald.sh work */
-+	path = g_find_program_in_path (program);
-+	g_free(program);
-+	if (path == NULL)
-+		return FALSE;
-+	else {
-+		/* Replace program in argv[0] with the full path */
-+		g_free(argv[0]);
-+		argv[0] = path;
-+	}
-+	return TRUE;
-+}
-+
-+/* Run the given request and reply it's result on msg */
-+gboolean
-+run_request_run(run_request *r, DBusConnection *con, DBusMessage *msg)
-+{
-+	GPid pid;
-+	GError *error = NULL;
-+	gint *stdin_p = NULL;
-+	gint *stderr_p = NULL;
-+	gint stdin_v;
-+	gint stderr_v = -1;
-+	run_data *rd = NULL;
-+	gboolean program_exists = FALSE;
-+	char *program_dir = NULL;
-+	GList *list;
-+
-+	printf("Run started %s (%d) (%d) \n!", r->argv[0], r->timeout,
-+		r->error_on_stderr);
-+	if (r->input != NULL) {
-+		stdin_p = &stdin_v; 
-+	}
-+	if (r->error_on_stderr) {
-+		stderr_p = &stderr_v;
-+	}
-+
-+	program_exists = find_program(r->argv);
-+
-+	if (program_exists)
-+		program_dir = g_path_get_dirname (r->argv[0]);
-+
-+	if (!program_exists ||
-+		!g_spawn_async_with_pipes(program_dir, r->argv, r->environment,
-+		                          G_SPAWN_DO_NOT_REAP_CHILD,
-+		                          NULL, NULL, &pid,
-+		                          stdin_p, NULL, stderr_p, &error)) {
-+		g_free (program_dir);
-+		del_run_request(r);
-+		if (con && msg)
-+			send_reply(con, msg, HALD_RUN_FAILED, 0, NULL);
-+		return FALSE;
-+	}
-+	g_free (program_dir);
-+
-+	if (r->input) {
-+		write(stdin_v, r->input, strlen(r->input));
-+		close(stdin_v);
-+	}
-+
-+	rd = g_new0(run_data,1);
-+	g_assert(rd != NULL);
-+	rd->r = r;
-+	rd->msg = msg;
-+	if (msg != NULL)
-+		dbus_message_ref(msg);
-+
-+	rd->con = con;
-+	rd->pid = pid;
-+	rd->stderr_v = stderr_v;
-+	rd->sent_kill = FALSE;
-+
-+	/* Add watch for exit of the program */
-+	rd->watch = g_child_watch_add(pid, run_exited, rd);
-+
-+	/* Add timeout if needed */
-+	if (r->timeout > 0)
-+		rd->timeout = g_timeout_add(r->timeout, run_timedout, rd);
-+	else
-+		rd->timeout = 0;
-+
-+	/* Add to the hashtable */
-+	list = (GList *)g_hash_table_lookup(udi_hash, r->udi);
-+	list = g_list_prepend(list, rd);
-+
-+	/* The hash table will take care to not leak the dupped string */
-+	g_hash_table_insert(udi_hash, g_strdup(r->udi), list);
-+	return TRUE;
-+}
-+
-+static void
-+kill_rd(gpointer data, gpointer user_data)
-+{
-+	run_data *rd = (run_data *)data;
-+
-+	kill(rd->pid, SIGTERM);
-+	printf("Sent kill to %d\n", rd->pid);
-+	if (rd->timeout != 0) {
-+		/* Remove the timeout watch */
-+		g_source_remove(rd->timeout);
-+		rd->timeout = 0;
-+	}
-+
-+	/* So the exit watch will know it's killed  in case it runs */
-+	rd->sent_kill = TRUE;
-+
-+	if (rd->msg != NULL)
-+		send_reply(rd->con, rd->msg, HALD_RUN_KILLED, 0, NULL);
-+}
-+
-+static void
-+do_kill_udi(gchar *udi)
-+{
-+	GList *list;
-+	list = (GList *)g_hash_table_lookup(udi_hash, udi);
-+	g_list_foreach(list, kill_rd, NULL);
-+	g_list_free(list);
-+}
-+
-+/* Kill all running request for a udi */
-+void 
-+run_kill_udi(gchar *udi)
-+{
-+	do_kill_udi(udi);
-+	g_hash_table_remove(udi_hash, udi);
-+}
-+
-+static void
-+hash_kill_udi(gpointer key, gpointer value, gpointer user_data) {
-+	do_kill_udi(key);
-+}
-+
-+/* Kill all running request*/
-+void 
-+run_kill_all()
-+{
-+	g_hash_table_foreach_remove(udi_hash, hash_kill_udi, NULL);
-+}
-+
-+void
-+run_init()
-+{
-+	udi_hash = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
-+}
-diff -ruN hal-0.5.6-old/hald-runner/runner.h hal-0.5.6/hald-runner/runner.h
---- hal-0.5.6-old/hald-runner/runner.h	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald-runner/runner.h	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,57 @@
-+/***************************************************************************
-+ * CVSID: $Id: runner.h,v 1.2 2006/01/23 14:54:48 kay Exp $
-+ *
-+ * runner.h - Process running interface
-+ *
-+ * Copyright (C) 2006 Sjoerd Simons, <sjoerd at luon.net>
-+ *
-+ * Licensed under the Academic Free License version 2.1
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-+ *
-+ **************************************************************************/
-+#ifndef RUNNER_H
-+#define RUNNER_H
-+
-+#define DBUS_API_SUBJECT_TO_CHANGE 
-+#include <dbus/dbus-glib-lowlevel.h>
-+
-+#include <glib.h>
-+
-+typedef struct {
-+	gchar *udi;
-+	gchar **environment;
-+	gchar **argv;
-+	gchar *input;
-+	gboolean error_on_stderr;
-+	guint32 timeout;
-+} run_request;
-+
-+run_request *new_run_request(void);
-+void del_run_request(run_request *r);
-+
-+/* Run the given request and reply it's result on msg */
-+gboolean run_request_run(run_request *r, DBusConnection *con, DBusMessage *msg);
-+
-+/* Kill all running request for a udi */
-+void run_kill_udi(gchar *udi);
-+
-+/* Kill all running request*/
-+void run_kill_all();
-+
-+/* initialise the actual runner data */
-+void run_init();
-+
-+#endif /*  RUNNER_H */
-diff -ruN hal-0.5.6-old/hald-runner/utils.c hal-0.5.6/hald-runner/utils.c
---- hal-0.5.6-old/hald-runner/utils.c	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald-runner/utils.c	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,89 @@
-+/***************************************************************************
-+ * CVSID: $Id: utils.c,v 1.2 2006/01/23 14:54:48 kay Exp $
-+ *
-+ * utils.c - Some utils for the hald runner
-+ *
-+ * Copyright (C) 2006 Sjoerd Simons, <sjoerd at luon.net>
-+ *
-+ * Licensed under the Academic Free License version 2.1
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-+ *
-+ **************************************************************************/
-+#include <stdio.h>
-+#include <stdlib.h>
-+#define DBUS_API_SUBJECT_TO_CHANGE 
-+#include <dbus/dbus-glib-lowlevel.h>
-+#include <glib.h>
-+
-+#include "utils.h"
-+
-+char **
-+get_string_array(DBusMessageIter *iter)
-+{
-+	GArray *array;
-+	char **result;
-+	array = g_array_new(TRUE, FALSE, sizeof(char *));
-+
-+	while (dbus_message_iter_get_arg_type(iter) == DBUS_TYPE_STRING) {
-+		const char *value;
-+		char *t;
-+		dbus_message_iter_get_basic(iter, &value);
-+		t = g_strdup(value);
-+		g_array_append_vals(array, &t, 1);
-+		dbus_message_iter_next(iter);
-+	}
-+	result = (char **) array->data;
-+	g_array_free(array, FALSE);
-+	return result;
-+}
-+
-+char **
-+get_string_array_from_fd(int fd)
-+{
-+	GArray *array;
-+	char **result;
-+	GString *str;
-+	gsize pos;
-+	GIOChannel *io;
-+	int i = 0;
-+
-+	array = g_array_new(TRUE, FALSE, sizeof(char *));
-+	str = g_string_new("");
-+	io = g_io_channel_unix_new(fd);
-+	while (g_io_channel_read_line_string(io, str, &pos, NULL) == G_IO_STATUS_NORMAL && (i++ < 128)) {
-+		char *t;
-+
-+		/* Remove the terminting char aka \n */
-+		g_string_erase(str, pos, 1);
-+		t = g_strdup(str->str);
-+		g_array_append_vals(array, &t, 1);
-+	}
-+	g_string_free(str, TRUE);
-+	g_io_channel_unref(io);
-+	result = (char **) array->data;
-+	g_array_free(array, FALSE);
-+	return result;
-+}
-+
-+void 
-+free_string_array(char **array)
-+{
-+	char **p;
-+
-+	for (p = array; p != NULL && *p != NULL; p++)
-+		g_free(*p);
-+	g_free(array);
-+}
-diff -ruN hal-0.5.6-old/hald-runner/utils.h hal-0.5.6/hald-runner/utils.h
---- hal-0.5.6-old/hald-runner/utils.h	1970-01-01 01:00:00.000000000 +0100
-+++ hal-0.5.6/hald-runner/utils.h	2006-02-12 17:58:28.000000000 +0100
-@@ -0,0 +1,35 @@
-+/***************************************************************************
-+ * CVSID: $Id: utils.h,v 1.1 2006/01/21 02:45:27 david Exp $
-+ *
-+ * utils.h - Some utils for the hald runner
-+ *
-+ * Copyright (C) 2006 Sjoerd Simons, <sjoerd at luon.net>
-+ *
-+ * Licensed under the Academic Free License version 2.1
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-+ *
-+ **************************************************************************/
-+#ifndef UTILS_H
-+#define UTILS_H
-+
-+#define DBUS_API_SUBJECT_TO_CHANGE 
-+#include <dbus/dbus-glib-lowlevel.h>
-+
-+char **get_string_array(DBusMessageIter *iter);
-+char **get_string_array_from_fd(int fd);
-+void free_string_array(char **array);
-+
-+#endif /*  UTILS_H */

Deleted: packages/experimental/hal/debian/patches/03_storage_sigio.patch
===================================================================
--- packages/experimental/hal/debian/patches/03_storage_sigio.patch	2006-02-17 20:56:32 UTC (rev 603)
+++ packages/experimental/hal/debian/patches/03_storage_sigio.patch	2006-02-17 21:01:03 UTC (rev 604)
@@ -1,67 +0,0 @@
-diff -ruN hal-0.5.6-old/hald/linux2/addons/addon-storage.c hal-0.5.6/hald/linux2/addons/addon-storage.c
---- hal-0.5.6-old/hald/linux2/addons/addon-storage.c	2005-11-02 16:38:14.000000000 +0100
-+++ hal-0.5.6/hald/linux2/addons/addon-storage.c	2006-02-01 23:50:49.000000000 +0100
-@@ -1,5 +1,5 @@
- /***************************************************************************
-- * CVSID: $Id: addon-storage.c,v 1.14 2005/11/02 15:38:14 david Exp $
-+ * CVSID: $Id: addon-storage.c,v 1.15 2006/01/27 15:43:58 kay Exp $
-  *
-  * addon-storage.c : Poll storage devices for media changes
-  *
-@@ -42,6 +42,7 @@
- #include <linux/cdrom.h>
- #include <linux/fs.h>
- #include <mntent.h>
-+#include <scsi/sg.h>
- 
- #include "libhal/libhal.h"
- 
-@@ -270,26 +271,22 @@
- 
- 			/* check if eject button was pressed */
- 			if (got_media) {
--				struct cdrom_generic_command cgc;
--				struct request_sense sense;
-+				unsigned char cdb[10] = { 0x4a, 1, 0, 0, 16, 0, 0, 0, 8, 0};
- 				unsigned char buffer[8];
--				int ret;
-+				struct sg_io_hdr sg_h;
-+				int retval;
- 
--				memset (&cgc, 0, sizeof (struct cdrom_generic_command));
--				memset (&sense, 0, sizeof (struct request_sense));
--				memset (buffer, 0, sizeof (buffer));
--				cgc.cmd[0] = GPCMD_GET_EVENT_STATUS_NOTIFICATION;
--				cgc.cmd[1] = 1;
--				cgc.cmd[4] = 16;
--				cgc.cmd[8] = sizeof (buffer);
--				cgc.timeout = 600;
--				cgc.buffer = buffer;
--				cgc.buflen = sizeof (buffer);
--				cgc.data_direction = CGC_DATA_READ;
--				cgc.sense = &sense;
--				cgc.quiet = 1;
--				ret = ioctl (fd, CDROM_SEND_PACKET, &cgc);
--				if (ret == 0 && (buffer[4] & 0x0f) == 0x01) {
-+				memset(buffer, 0, sizeof(buffer));
-+				memset(&sg_h, 0, sizeof(struct sg_io_hdr));
-+				sg_h.interface_id = 'S';
-+				sg_h.cmd_len = sizeof(cdb);
-+				sg_h.dxfer_direction = SG_DXFER_FROM_DEV;
-+				sg_h.dxfer_len = sizeof(buffer);
-+				sg_h.dxferp = buffer;
-+				sg_h.cmdp = cdb;
-+				sg_h.timeout = 5000;
-+				retval = ioctl(fd, SG_IO, &sg_h);
-+				if (retval == 0 && sg_h.status == 0 && (buffer[4] & 0x0f) == 0x01) {
- 					DBusError error;
- 
- 					/* emit signal from drive device object */
-@@ -297,7 +294,6 @@
- 					libhal_device_emit_condition (ctx, udi, "EjectPressed", "", &error);
- 				}
- 			}
--
- 			close (fd);
- 		} else {
- 			fd = open (device_file, O_RDONLY);

Deleted: packages/experimental/hal/debian/patches/04_hald-no-patch.patch
===================================================================
--- packages/experimental/hal/debian/patches/04_hald-no-patch.patch	2006-02-17 20:56:32 UTC (rev 603)
+++ packages/experimental/hal/debian/patches/04_hald-no-patch.patch	2006-02-17 21:01:03 UTC (rev 604)
@@ -1,27 +0,0 @@
-diff -ruN hal-0.5.6-old/hald/hald.c hal-0.5.6/hald/hald.c
---- hal-0.5.6-old/hald/hald.c	2006-02-01 23:56:06.000000000 +0100
-+++ hal-0.5.6/hald/hald.c	2006-02-01 23:56:18.000000000 +0100
-@@ -382,13 +382,18 @@
- 	 * run-hald.sh and friends)
- 	 */
- 	path = getenv ("PATH");
--	g_strlcpy (newpath, path, sizeof (newpath));
- 	if (path != NULL) {
-+		g_strlcpy (newpath, path, sizeof (newpath));
- 		g_strlcat (newpath, ":", sizeof (newpath));
--		g_strlcat (newpath, PACKAGE_LIBEXEC_DIR, sizeof (newpath));
--		g_strlcat (newpath, ":", sizeof (newpath));
--		g_strlcat (newpath, PACKAGE_SCRIPT_DIR, sizeof (newpath));
--	}
-+	} else {
-+		/* No PATH was set */
-+		newpath[0] = '\0';
-+	} 
-+
-+	g_strlcat (newpath, PACKAGE_LIBEXEC_DIR, sizeof (newpath));
-+	g_strlcat (newpath, ":", sizeof (newpath));
-+	g_strlcat (newpath, PACKAGE_SCRIPT_DIR, sizeof (newpath));
-+
- 	setenv ("PATH", newpath, TRUE);
- 
- 	while (1) {

Deleted: packages/experimental/hal/debian/patches/05_hald_clear_udev_buffer.patch
===================================================================
--- packages/experimental/hal/debian/patches/05_hald_clear_udev_buffer.patch	2006-02-17 20:56:32 UTC (rev 603)
+++ packages/experimental/hal/debian/patches/05_hald_clear_udev_buffer.patch	2006-02-17 21:01:03 UTC (rev 604)
@@ -1,12 +0,0 @@
-diff -ruN hal-0.5.6-old/hald/linux2/osspec.c hal-0.5.6/hald/linux2/osspec.c
---- hal-0.5.6-old/hald/linux2/osspec.c	2006-02-13 18:46:22.000000000 +0100
-+++ hal-0.5.6/hald/linux2/osspec.c	2006-02-13 18:47:55.000000000 +0100
-@@ -118,6 +118,8 @@
- 	int ifindex = -1;
- 	unsigned long long seqnum = 0;
- 
-+	memset(buf, 0x00, sizeof (buf));
-+
- 	fd = g_io_channel_unix_get_fd (source);
- 
- 	iov.iov_base = &buf;




More information about the Pkg-utopia-commits mailing list