Hello community,
here is the log from the commit of package hal
checked in at Sat Aug 25 00:32:21 CEST 2007.
--------
--- hal/hal.changes 2007-08-16 16:22:51.000000000 +0200
+++ /mounts/work_src_done/STABLE/hal/hal.changes 2007-08-24 17:51:27.000000000 +0200
@@ -1,0 +2,24 @@
+Fri Aug 24 16:37:24 CEST 2007 - dkukawka@suse.de
+
+- updated hal/hal-info to current git (20070824):
+ - fixed reported bugs: b.n.c #303834, #303855
+ - new keymaps for 6 HP and 3 Acer machines and other (hal-info)
+ - suspend quirk for Lenovo Z61t and Acer TM 250 (hal-info)
+- added new patches:
+ - hal-fix-fd.o_10399_burn_speeds.diff: update available burn
+ speed of CD/DVD writer with each media change
+ - hal-fix-strlist_changeset_handling.diff: fix handling of
+ strlist changeset calls via libhal. Only emit one signal about
+ changed property for each call and not each changed list entry,
+ fixed possible crash in libhal_changeset_set_property_strlist()
+- removed upstream gone patches:
+ - hal-fix-computer_probing_v2.diff
+ - hal-allow_uid_gid_on_hfs_v2.diff
+- fixed patches:
+ - hal-add-tabletPC_support_v2.diff: set baud_base correct for the
+ setserial command, FPI2004 devices don't need baud_base anymore
+ (b.n.c #304388, #304396)
+- added ConsoleKit to Requires and setserial to Requires for *x86
+ needed for TabletPCs
+
+-------------------------------------------------------------------
Old:
----
hal-0.5.9_git20070816.tar.bz2
hal-allow_uid_gid_on_hfs_v2.diff
hal-fix-computer_probing_v2.diff
hal-info-20070816.tar.bz2
New:
----
hal-0.5.9_git20070824.tar.bz2
hal-fix-fd.o_10399_burn_speeds.diff
hal-fix-strlist_changeset_handling.diff
hal-info-20070824.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hal-doc.spec ++++++
--- /var/tmp/diff_new_pack.J11380/_old 2007-08-25 00:31:35.000000000 +0200
+++ /var/tmp/diff_new_pack.J11380/_new 2007-08-25 00:31:35.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package hal-doc (Version 0.5.9_git20070816)
+# spec file for package hal-doc (Version 0.5.9_git20070824)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -18,11 +18,11 @@
Summary: Daemon for Collecting Hardware Information
%define dbus_version 0.61
%define dbus_release 1
-%define hal_info_version 20070816
+%define hal_info_version 20070824
URL: http://freedesktop.org/Software/hal
License: Other uncritical OpenSource License, HAL is licensed to you under your choice of the Academic Free
Group: System/Daemons
-Version: 0.5.9_git20070816
+Version: 0.5.9_git20070824
Release: 1
Autoreqprov: on
Requires: pm-utils
@@ -43,12 +43,15 @@
%else
PreReq: /usr/sbin/groupadd /usr/sbin/useradd /etc/init.d/boot.localfs
PreReq: %insserv_prereq
-Requires: dbus-1 >= %{dbus_version}-%{dbus_release}, dbus-1-glib >= %{dbus_version}-%{dbus_release}, aaa_base, PolicyKit, pm-utils
+Requires: dbus-1 >= %{dbus_version}-%{dbus_release}, dbus-1-glib >= %{dbus_version}-%{dbus_release}, aaa_base, PolicyKit, ConsoleKit, pm-utils
Provides: hotplugctl = 0.08
Obsoletes: hotplugctl <= 0.08
%ifarch %ix86 x86_64 ia64
Requires: pmtools, libsmbios-libs >= 0.13.4
%endif
+%ifarch %ix86 x86_64
+Requires: setserial
+%endif
%endif
#
# Sources:
@@ -70,11 +73,11 @@
Patch100: hal-fix-util_compute_time_remaining_warning_highTime.diff
Patch101: hal-add_soundcard_fix_device_file_handling_v2.diff
Patch102: hal-fix-acpi_on_battery_discharging.diff
-Patch103: hal-allow_uid_gid_on_hfs_v2.diff
-Patch104: hal-cleanup-deprecated_libhal-storage.diff
-Patch105: hal-fix-computer_probing_v2.diff
-# need to backport
+Patch103: hal-fix-strlist_changeset_handling.diff
+Patch104: hal-fix-fd.o_10399_burn_speeds.diff
#Patch300: hal-temp.diff
+# currently unused patches:
+Patch500: hal-cleanup-deprecated_libhal-storage.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
@@ -149,9 +152,9 @@
%patch101 -p1
%patch102 -p1
%patch103 -p1
-#%patch104 -p1
-%patch105 -p1
+%patch104 -p1
#%patch300 -p1
+#%patch500 -p1
# patch hal-info files if needed
pushd hal-info-%{hal_info_version}
#%patch500 -p1
++++++ hal.spec ++++++
--- /var/tmp/diff_new_pack.J11380/_old 2007-08-25 00:31:35.000000000 +0200
+++ /var/tmp/diff_new_pack.J11380/_new 2007-08-25 00:31:35.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package hal (Version 0.5.9_git20070816)
+# spec file for package hal (Version 0.5.9_git20070824)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
@@ -18,11 +18,11 @@
Summary: Daemon for Collecting Hardware Information
%define dbus_version 0.61
%define dbus_release 1
-%define hal_info_version 20070816
+%define hal_info_version 20070824
URL: http://freedesktop.org/Software/hal
License: HAL is licensed to you under your choice of the Academic Free
Group: System/Daemons
-Version: 0.5.9_git20070816
+Version: 0.5.9_git20070824
Release: 1
Autoreqprov: on
Requires: pm-utils
@@ -43,12 +43,15 @@
%else
PreReq: /usr/sbin/groupadd /usr/sbin/useradd /etc/init.d/boot.localfs
PreReq: %insserv_prereq
-Requires: dbus-1 >= %{dbus_version}-%{dbus_release}, dbus-1-glib >= %{dbus_version}-%{dbus_release}, aaa_base, PolicyKit, pm-utils
+Requires: dbus-1 >= %{dbus_version}-%{dbus_release}, dbus-1-glib >= %{dbus_version}-%{dbus_release}, aaa_base, PolicyKit, ConsoleKit, pm-utils
Provides: hotplugctl = 0.08
Obsoletes: hotplugctl <= 0.08
%ifarch %ix86 x86_64 ia64
Requires: pmtools, libsmbios-libs >= 0.13.4
%endif
+%ifarch %ix86 x86_64
+Requires: setserial
+%endif
%endif
#
# Sources:
@@ -70,11 +73,11 @@
Patch100: hal-fix-util_compute_time_remaining_warning_highTime.diff
Patch101: hal-add_soundcard_fix_device_file_handling_v2.diff
Patch102: hal-fix-acpi_on_battery_discharging.diff
-Patch103: hal-allow_uid_gid_on_hfs_v2.diff
-Patch104: hal-cleanup-deprecated_libhal-storage.diff
-Patch105: hal-fix-computer_probing_v2.diff
-# need to backport
+Patch103: hal-fix-strlist_changeset_handling.diff
+Patch104: hal-fix-fd.o_10399_burn_speeds.diff
#Patch300: hal-temp.diff
+# currently unused patches:
+Patch500: hal-cleanup-deprecated_libhal-storage.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
#
@@ -149,9 +152,9 @@
%patch101 -p1
%patch102 -p1
%patch103 -p1
-#%patch104 -p1
-%patch105 -p1
+%patch104 -p1
#%patch300 -p1
+#%patch500 -p1
# patch hal-info files if needed
pushd hal-info-%{hal_info_version}
#%patch500 -p1
@@ -311,6 +314,27 @@
%endif
%changelog
+* Fri Aug 24 2007 - dkukawka@suse.de
+- updated hal/hal-info to current git (20070824):
+ - fixed reported bugs: b.n.c #303834, #303855
+ - new keymaps for 6 HP and 3 Acer machines and other (hal-info)
+ - suspend quirk for Lenovo Z61t and Acer TM 250 (hal-info)
+- added new patches:
+ - hal-fix-fd.o_10399_burn_speeds.diff: update available burn
+ speed of CD/DVD writer with each media change
+ - hal-fix-strlist_changeset_handling.diff: fix handling of
+ strlist changeset calls via libhal. Only emit one signal about
+ changed property for each call and not each changed list entry,
+ fixed possible crash in libhal_changeset_set_property_strlist()
+- removed upstream gone patches:
+ - hal-fix-computer_probing_v2.diff
+ - hal-allow_uid_gid_on_hfs_v2.diff
+- fixed patches:
+ - hal-add-tabletPC_support_v2.diff: set baud_base correct for the
+ setserial command, FPI2004 devices don't need baud_base anymore
+ (b.n.c #304388, #304396)
+- added ConsoleKit to Requires and setserial to Requires for *x86
+ needed for TabletPCs
* Thu Aug 16 2007 - dkukawka@suse.de
- updated hal/hal-info to current git (20070816)
- removed upstream gone patches:
++++++ hal-0.5.9_git20070816.tar.bz2 -> hal-0.5.9_git20070824.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/ChangeLog new/hal-0.5.9_git20070824/ChangeLog
--- old/hal-0.5.9_git20070816/ChangeLog 2007-08-16 16:00:56.000000000 +0200
+++ new/hal-0.5.9_git20070824/ChangeLog 2007-08-24 17:47:41.000000000 +0200
@@ -1,3 +1,92 @@
+commit cd0d218accc1e1f665069028566c4d949c19f73c
+Author: Danny Kukawka
+Date: Thu Aug 23 22:02:02 2007 +0200
+
+ fix detection of system.formfactor=laptop for ACPI machines
+
+ There are problems on laptops if the smbios.chassis.type is not
+ directly
+ mapped from the smbios to 'laptop' (e.g. smbios tell it's 'Unknown').
+
+ In this case HAL currently call as next coldplug_synthesize_events()
+ after
+ the smbios probing and first then start to synthesizing the ACPI
+ events/
+ devices. But in the ACPI code HAL set system.formfactor=laptop,
+ if it isn't
+ already detected as Laptop (e.g. if the machine has a battery).
+
+ The problem is: all other devices as e.g. the WLAN device get
+ synthesized
+ before the ACPI devices. Hence all fdi-file checks for laptop can
+ fail with
+ the result:
+ * the properties get not set as planed
+ * e.g. the IPW killswitch device get not spawned
+
+ Fixed the problem for the ACPI case by check for a battery bay or
+ a lid
+ button in /proc/acpi/*. we can ignore the APM case for the
+ moment. Changed
+ acpi_synthesize() a little bit to let the function run without
+ synthesize
+ ACPI devices because this function already check if the machine is
+ a laptop.
+
+ In computer_probing_helper_done() HAL check now if system.formfactor
+ isn't
+ set or not 'laptop' and calls acpi_check_is_laptop() in this case,
+ to do the
+ needed checks and set if needed the machine as latop as soon as
+ possible
+ before othere devices get handeled.
+
+ hald/linux/acpi.c | 36 ++++++++++++++++++++++++++----------
+ hald/linux/acpi.h | 2 ++
+ hald/linux/osspec.c | 7 +++++++
+ 3 files changed, 35 insertions(+), 10 deletions(-)
+
+commit c940b3cb8e6951e4e8d94fc5661dfc8982860bfa
+Author: Danny Kukawka
+Date: Thu Aug 23 18:44:08 2007 +0200
+
+ fix hal-ipw-killswitch-linux to return status of killswitch
+
+ Fixed hal-ipw-killswitch-linux to return the status of the killswitch
+ and not the status of WLAN/radio. It returns now 0 if the killswitch
+ is not active and 1 if the switch is activated and WLAN is off.
+
+ tools/linux/hal-ipw-killswitch-linux.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 455004a6e503cc0cbf995ab182014850848b551b
+Author: Danny Kukawka
+Date: Thu Aug 23 16:33:02 2007 +0200
+
+ source hal-functions in hal-luks-teardown
+
+ Fixed hal-luks-teardown to source needed hal-functions.
+
+ tools/hal-luks-teardown | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit db8bd2dcb434384f3a24f8f0112343720be1b8a0
+Author: Danny Kukawka
+Date: Thu Aug 23 15:32:50 2007 +0200
+
+ allow gid= for hfs, remove uid= for hfs+ and handle hfs like fat
+
+ This patch adds support for mountoption gid= to HFS partitions
+ and handle
+ them like FAT partitions in hal-storage-mount.
+
+ Removed uid= mount option from HFS+ partitions because this filesystem
+ has per file uid support and it dont support this option.
+
+ fdi/policy/10osvendor/20-storage-methods.fdi | 2 +-
+ tools/hal-storage-mount.c | 3 ++-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
commit e8e3988db89e062210d9d97778775ae27e2b4815
Author: Danny Kukawka
Date: Thu Aug 16 15:45:31 2007 +0200
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/configure new/hal-0.5.9_git20070824/configure
--- old/hal-0.5.9_git20070816/configure 2007-08-16 15:48:58.000000000 +0200
+++ new/hal-0.5.9_git20070824/configure 2007-08-24 17:26:41.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for hal 0.5.9_git20070816.
+# Generated by GNU Autoconf 2.60 for hal 0.5.9_git20070824.
#
# Report bugs to .
#
@@ -713,8 +713,8 @@
# Identity of this package.
PACKAGE_NAME='hal'
PACKAGE_TARNAME='hal'
-PACKAGE_VERSION='0.5.9_git20070816'
-PACKAGE_STRING='hal 0.5.9_git20070816'
+PACKAGE_VERSION='0.5.9_git20070824'
+PACKAGE_STRING='hal 0.5.9_git20070824'
PACKAGE_BUGREPORT='dkukawka@suse.de'
# Factoring default headers for most tests.
@@ -1493,7 +1493,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures hal 0.5.9_git20070816 to adapt to many kinds of systems.
+\`configure' configures hal 0.5.9_git20070824 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1563,7 +1563,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of hal 0.5.9_git20070816:";;
+ short | recursive ) echo "Configuration of hal 0.5.9_git20070824:";;
esac
cat <<\_ACEOF
@@ -1722,7 +1722,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-hal configure 0.5.9_git20070816
+hal configure 0.5.9_git20070824
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1736,7 +1736,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by hal $as_me 0.5.9_git20070816, which was
+It was created by hal $as_me 0.5.9_git20070824, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -2406,7 +2406,7 @@
# Define the identity of the package.
PACKAGE='hal'
- VERSION='0.5.9_git20070816'
+ VERSION='0.5.9_git20070824'
cat >>confdefs.h <<_ACEOF
@@ -26394,7 +26394,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by hal $as_me 0.5.9_git20070816, which was
+This file was extended by hal $as_me 0.5.9_git20070824, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -26447,7 +26447,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-hal config.status 0.5.9_git20070816
+hal config.status 0.5.9_git20070824
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/configure.in new/hal-0.5.9_git20070824/configure.in
--- old/hal-0.5.9_git20070816/configure.in 2007-08-16 15:48:40.000000000 +0200
+++ new/hal-0.5.9_git20070824/configure.in 2007-08-24 17:25:59.000000000 +0200
@@ -7,7 +7,7 @@
#
AC_PREREQ(2.59c)
-AC_INIT(hal, 0.5.9_git20070816, dkukawka@suse.de)
+AC_INIT(hal, 0.5.9_git20070824, dkukawka@suse.de)
AM_INIT_AUTOMAKE([gnu 1.9])
AM_MAINTAINER_MODE
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/doc/api/libhal/html/index.html new/hal-0.5.9_git20070824/doc/api/libhal/html/index.html
--- old/hal-0.5.9_git20070816/doc/api/libhal/html/index.html 2007-08-16 16:01:03.000000000 +0200
+++ new/hal-0.5.9_git20070824/doc/api/libhal/html/index.html 2007-08-24 17:47:48.000000000 +0200
@@ -24,7 +24,7 @@
<code class="email"><<a href="mailto:david@fubar.dk">david@fubar.dk</a>></code><br>
</p></div></div>
</div></div></div>
-<div><p class="releaseinfo">Version 0.5.9_git20070816
+<div><p class="releaseinfo">Version 0.5.9_git20070824
</p></div>
<div><p class="copyright">Copyright © 2007 The HAL Authors</p></div>
<div><div class="legalnotice">
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/doc/api/libhal/version.xml new/hal-0.5.9_git20070824/doc/api/libhal/version.xml
--- old/hal-0.5.9_git20070816/doc/api/libhal/version.xml 2007-08-16 15:49:34.000000000 +0200
+++ new/hal-0.5.9_git20070824/doc/api/libhal/version.xml 2007-08-24 17:28:18.000000000 +0200
@@ -1 +1 @@
-0.5.9_git20070816
+0.5.9_git20070824
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/doc/api/libhal-storage/html/index.html new/hal-0.5.9_git20070824/doc/api/libhal-storage/html/index.html
--- old/hal-0.5.9_git20070816/doc/api/libhal-storage/html/index.html 2007-08-16 16:01:03.000000000 +0200
+++ new/hal-0.5.9_git20070824/doc/api/libhal-storage/html/index.html 2007-08-24 17:47:48.000000000 +0200
@@ -24,7 +24,7 @@
<code class="email"><<a href="mailto:david@fubar.dk">david@fubar.dk</a>></code><br>
</p></div></div>
</div></div></div>
-<div><p class="releaseinfo">Version 0.5.9_git20070816
+<div><p class="releaseinfo">Version 0.5.9_git20070824
</p></div>
<div><p class="copyright">Copyright © 2007 The HAL Authors</p></div>
<div><div class="legalnotice">
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/doc/api/libhal-storage/html/version.xml new/hal-0.5.9_git20070824/doc/api/libhal-storage/html/version.xml
--- old/hal-0.5.9_git20070816/doc/api/libhal-storage/html/version.xml 2007-08-16 16:01:03.000000000 +0200
+++ new/hal-0.5.9_git20070824/doc/api/libhal-storage/html/version.xml 2007-08-24 17:47:48.000000000 +0200
@@ -1 +1 @@
-0.5.9_git20070816
+0.5.9_git20070824
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/doc/api/libhal-storage/version.xml new/hal-0.5.9_git20070824/doc/api/libhal-storage/version.xml
--- old/hal-0.5.9_git20070816/doc/api/libhal-storage/version.xml 2007-08-16 15:49:34.000000000 +0200
+++ new/hal-0.5.9_git20070824/doc/api/libhal-storage/version.xml 2007-08-24 17:28:18.000000000 +0200
@@ -1 +1 @@
-0.5.9_git20070816
+0.5.9_git20070824
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/doc/spec/hal-spec.xml.in new/hal-0.5.9_git20070824/doc/spec/hal-spec.xml.in
--- old/hal-0.5.9_git20070816/doc/spec/hal-spec.xml.in 2007-08-16 15:49:34.000000000 +0200
+++ new/hal-0.5.9_git20070824/doc/spec/hal-spec.xml.in 2007-08-24 17:28:18.000000000 +0200
@@ -3,8 +3,8 @@
<book id="index">
<bookinfo>
- <title>HAL 0.5.9_git20070816 Specification</title>
- <releaseinfo>Version 0.5.9_git20070816</releaseinfo>
+ <title>HAL 0.5.9_git20070824 Specification</title>
+ <releaseinfo>Version 0.5.9_git20070824</releaseinfo>
<date>March 24th, 2007</date> <!-- Update this manually -->
<authorgroup>
<author>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/fdi/policy/10osvendor/20-storage-methods.fdi new/hal-0.5.9_git20070824/fdi/policy/10osvendor/20-storage-methods.fdi
--- old/hal-0.5.9_git20070816/fdi/policy/10osvendor/20-storage-methods.fdi 2007-08-16 15:47:14.000000000 +0200
+++ new/hal-0.5.9_git20070824/fdi/policy/10osvendor/20-storage-methods.fdi 2007-08-23 21:18:11.000000000 +0200
@@ -219,13 +219,13 @@
<!-- allow these mount options for hfs -->
<match key="volume.fstype" string="hfs">
+ <append key="volume.mount.valid_options" type="strlist">gid=</append>
<append key="volume.mount.valid_options" type="strlist">uid=</append>
<append key="volume.mount.valid_options" type="strlist">force</append>
</match>
<!-- allow these mount options for hfsplus -->
<match key="volume.fstype" string="hfsplus">
- <append key="volume.mount.valid_options" type="strlist">uid=</append>
<append key="volume.mount.valid_options" type="strlist">force</append>
</match>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/hald/linux/acpi.c new/hal-0.5.9_git20070824/hald/linux/acpi.c
--- old/hal-0.5.9_git20070816/hald/linux/acpi.c 2007-08-16 15:47:14.000000000 +0200
+++ new/hal-0.5.9_git20070824/hald/linux/acpi.c 2007-08-23 21:53:44.000000000 +0200
@@ -739,13 +739,14 @@
* acpi_synthesize:
* @path: The ACPI path, e.g. "/proc/acpi/battery"
* @acpi_type: The type of device, e.g. ACPI_TYPE_BATTERY
+ * @synthesize: If a device should get synthesized
*
* Synthesizes generic acpi objects, i.e. registers all the objects of type
* into HAL. This lets us have more than one type of device e.g. BATx
* in the same battery class.
*/
static void
-acpi_synthesize (const gchar *path, int acpi_type)
+acpi_synthesize (const gchar *path, int acpi_type, gboolean synthesize)
{
const gchar *f;
gboolean is_laptop = FALSE;
@@ -786,8 +787,10 @@
}
}
- snprintf (buf, sizeof (buf), "%s/%s", path, f);
- acpi_synthesize_item (buf, acpi_type);
+ if (synthesize) {
+ snprintf (buf, sizeof (buf), "%s/%s", path, f);
+ acpi_synthesize_item (buf, acpi_type);
+ }
}
/* close directory */
@@ -899,18 +902,18 @@
}
/* collect batteries */
- acpi_synthesize ("/proc/acpi/battery", ACPI_TYPE_BATTERY);
+ acpi_synthesize ("/proc/acpi/battery", ACPI_TYPE_BATTERY, TRUE);
/* collect processors */
- acpi_synthesize ("/proc/acpi/processor", ACPI_TYPE_PROCESSOR);
+ acpi_synthesize ("/proc/acpi/processor", ACPI_TYPE_PROCESSOR, TRUE);
/* collect fans */
- acpi_synthesize ("/proc/acpi/fan", ACPI_TYPE_FAN);
+ acpi_synthesize ("/proc/acpi/fan", ACPI_TYPE_FAN, TRUE);
/* collect AC adapters */
- acpi_synthesize ("/proc/acpi/ac_adapter", ACPI_TYPE_AC_ADAPTER);
+ acpi_synthesize ("/proc/acpi/ac_adapter", ACPI_TYPE_AC_ADAPTER, TRUE);
/* collect buttons */
- acpi_synthesize ("/proc/acpi/button/lid", ACPI_TYPE_BUTTON);
- acpi_synthesize ("/proc/acpi/button/power", ACPI_TYPE_BUTTON);
- acpi_synthesize ("/proc/acpi/button/sleep", ACPI_TYPE_BUTTON);
+ acpi_synthesize ("/proc/acpi/button/lid", ACPI_TYPE_BUTTON, TRUE);
+ acpi_synthesize ("/proc/acpi/button/power", ACPI_TYPE_BUTTON, TRUE);
+ acpi_synthesize ("/proc/acpi/button/sleep", ACPI_TYPE_BUTTON, TRUE);
/*
* Collect video adaptors (from vendor added modules)
@@ -1275,3 +1278,16 @@
hotplug_event->acpi.acpi_type = acpi_type;
return hotplug_event;
}
+
+void
+acpi_check_is_laptop (const gchar *acpi_type)
+{
+ if (acpi_type != NULL) {
+
+ if (strcmp (acpi_type, "BATTERY") == 0) {
+ acpi_synthesize ("/proc/acpi/battery", ACPI_TYPE_BATTERY, FALSE);
+ } else if (strcmp (acpi_type, "LID") == 0) {
+ acpi_synthesize ("/proc/acpi/button/lid", ACPI_TYPE_BUTTON, FALSE);
+ }
+ }
+}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/hald/linux/acpi.h new/hal-0.5.9_git20070824/hald/linux/acpi.h
--- old/hal-0.5.9_git20070816/hald/linux/acpi.h 2007-08-16 15:47:14.000000000 +0200
+++ new/hal-0.5.9_git20070824/hald/linux/acpi.h 2007-08-23 21:53:44.000000000 +0200
@@ -33,6 +33,7 @@
gboolean acpi_rescan_device (HalDevice *d);
HotplugEvent *acpi_generate_add_hotplug_event (HalDevice *d);
HotplugEvent *acpi_generate_remove_hotplug_event (HalDevice *d);
+void acpi_check_is_laptop (const gchar *acpi_type);
#else /* HAVE_ACPI */
static inline gboolean acpi_synthesize_hotplug_events (void) {return FALSE;}
static inline void hotplug_event_begin_add_acpi (const gchar *acpi_path, int acpi_type, HalDevice *parent, void *end_token) {return;}
@@ -40,6 +41,7 @@
static inline gboolean acpi_rescan_device (HalDevice *d) {return FALSE;}
static inline HotplugEvent *acpi_generate_add_hotplug_event (HalDevice *d) {return NULL;}
static inline HotplugEvent *acpi_generate_remove_hotplug_event (HalDevice *d) {return NULL;}
+static inline void acpi_check_is_laptop (const gchar *acpi_type) {return;}
#endif /* HAVE_ACPI */
#endif /* ACPI_H */
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/hald/linux/osspec.c new/hal-0.5.9_git20070824/hald/linux/osspec.c
--- old/hal-0.5.9_git20070816/hald/linux/osspec.c 2007-08-16 15:47:14.000000000 +0200
+++ new/hal-0.5.9_git20070824/hald/linux/osspec.c 2007-08-23 21:53:44.000000000 +0200
@@ -393,6 +393,13 @@
static void
computer_probing_helper_done (HalDevice *d)
{
+ /* check if this is may a laptop */
+ if (!hal_device_has_property (d, "system.formfactor") ||
+ (strcmp (hal_device_property_get_string (d, "system.formfactor"), "laptop") != 0)) {
+ HAL_INFO (("Check if the machine is may a laptop ..."));
+ acpi_check_is_laptop("BATTERY");
+ acpi_check_is_laptop("LID");
+ }
/* if not set, set a default value */
if (!hal_device_has_property (d, "system.formfactor")) {
hal_device_property_set_string (d, "system.formfactor", "unknown");
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/tools/hal-luks-teardown new/hal-0.5.9_git20070824/tools/hal-luks-teardown
--- old/hal-0.5.9_git20070816/tools/hal-luks-teardown 2007-08-16 15:47:14.000000000 +0200
+++ new/hal-0.5.9_git20070824/tools/hal-luks-teardown 2007-08-23 21:18:11.000000000 +0200
@@ -6,6 +6,8 @@
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2.
+. hal-functions
+
locked_out() {
echo "org.freedesktop.Hal.Device.InterfaceLocked" >&2
echo "Enclosing drive/volume is locked" >&2
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/tools/hal-storage-mount.c new/hal-0.5.9_git20070824/tools/hal-storage-mount.c
--- old/hal-0.5.9_git20070816/tools/hal-storage-mount.c 2007-08-16 15:47:14.000000000 +0200
+++ new/hal-0.5.9_git20070824/tools/hal-storage-mount.c 2007-08-23 21:18:11.000000000 +0200
@@ -718,11 +718,12 @@
* (since these drives normally use vfat)
*/
if (volume != NULL) {
- /* don't consider uid= on vfat, iso9660, udf change-uid for the purpose of policy
+ /* don't consider uid= on vfat, iso9660, hfs and udf change-uid for the purpose of policy
* (since these doesn't contain uid/gid bits)
*/
if (strcmp (libhal_volume_get_fstype (volume), "vfat") != 0 &&
strcmp (libhal_volume_get_fstype (volume), "iso9660") != 0 &&
+ strcmp (libhal_volume_get_fstype (volume), "hfs") != 0 &&
strcmp (libhal_volume_get_fstype (volume), "udf") != 0) {
pol_change_uid = wants_to_change_uid;
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-0.5.9_git20070816/tools/linux/hal-ipw-killswitch-linux.c new/hal-0.5.9_git20070824/tools/linux/hal-ipw-killswitch-linux.c
--- old/hal-0.5.9_git20070816/tools/linux/hal-ipw-killswitch-linux.c 2007-08-16 15:47:14.000000000 +0200
+++ new/hal-0.5.9_git20070824/tools/linux/hal-ipw-killswitch-linux.c 2007-08-23 21:18:11.000000000 +0200
@@ -87,12 +87,12 @@
switch(kill_status) {
case '0':
- ret = 1;
+ ret = 0;
break;
case '1':
case '2':
case '3':
- ret = 0;
+ ret = 1;
break;
}
++++++ hal-add-tabletPC_support_v2.diff ++++++
--- /var/tmp/diff_new_pack.J11380/_old 2007-08-25 00:31:37.000000000 +0200
+++ /var/tmp/diff_new_pack.J11380/_new 2007-08-25 00:31:37.000000000 +0200
@@ -20,7 +20,7 @@
index 0000000..2d16560
--- /dev/null
+++ b/fdi/policy/10osvendor/10-tabletPCs.fdi
-@@ -0,0 +1,24 @@
+@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deviceinfo version="0.2">
@@ -34,7 +34,6 @@
+ <!-- to get the device up we need to set the baud_rate correct -->
+ <match key="pnp.id" contains="FPI2004">
+ <merge key="input.device.set" type="string">/dev/ttyS0</merge>
-+ <merge key="pnp.serial.baud_base" type="int">38400</merge>
+ </match>
+ </match>
+
@@ -243,7 +242,7 @@
+ if(port == NULL)
+ port = getenv("HAL_PROP_PNP_SERIAL_PORT");
+ if(baud_base == NULL)
-+ port = getenv("HAL_PROP_PNP_SERIAL_BAUD_BASE");
++ baud_base = getenv("HAL_PROP_PNP_SERIAL_BAUD_BASE");
+ if(input_dev == NULL)
+ input_dev = getenv("HAL_PROP_INPUT_DEVICE_SET");
+
++++++ hal-allow_uid_for_ntfs.diff ++++++
--- /var/tmp/diff_new_pack.J11380/_old 2007-08-25 00:31:37.000000000 +0200
+++ /var/tmp/diff_new_pack.J11380/_new 2007-08-25 00:31:37.000000000 +0200
@@ -2,10 +2,10 @@
index ef8d1a9..47412a8 100644
--- a/tools/hal-storage-mount.c
+++ b/tools/hal-storage-mount.c
-@@ -728,6 +728,7 @@ #endif
- */
+@@ -724,6 +724,7 @@
if (strcmp (libhal_volume_get_fstype (volume), "vfat") != 0 &&
strcmp (libhal_volume_get_fstype (volume), "iso9660") != 0 &&
+ strcmp (libhal_volume_get_fstype (volume), "hfs") != 0 &&
+ strcmp (libhal_volume_get_fstype (volume), "ntfs") != 0 &&
strcmp (libhal_volume_get_fstype (volume), "udf") != 0) {
pol_change_uid = wants_to_change_uid;
++++++ hal-fix-fd.o_10399_burn_speeds.diff ++++++
diff --git a/hald/linux/probing/probe-storage.c b/hald/linux/probing/probe-storage.c
index 458c5ff..b47971c 100644
--- a/hald/linux/probing/probe-storage.c
+++ b/hald/linux/probing/probe-storage.c
@@ -154,27 +154,27 @@ main (int argc, char *argv[])
HAL_DEBUG (("Doing probe-storage for %s (bus %s) (drive_type %s) (udi=%s) (--only-check-for-fs==%d)",
device_file, bus, drive_type, udi, only_check_for_fs));
- if (!only_check_for_fs) {
- /* Get properties for CD-ROM drive */
- if (strcmp (drive_type, "cdrom") == 0) {
- int capabilities;
- int read_speed, write_speed;
- char *write_speeds;
-
- HAL_DEBUG (("Doing open (\"%s\", O_RDONLY | O_NONBLOCK)", device_file));
- fd = open (device_file, O_RDONLY | O_NONBLOCK);
- if (fd < 0) {
- HAL_ERROR (("Cannot open %s: %s", device_file, strerror (errno)));
- goto out;
- }
- HAL_DEBUG (("Returned from open(2)"));
+ /* Get properties for CD-ROM drive */
+ if (strcmp (drive_type, "cdrom") == 0) {
+ int capabilities;
+ int read_speed, write_speed;
+ char *write_speeds;
+
+ HAL_DEBUG (("Doing open (\"%s\", O_RDONLY | O_NONBLOCK)", device_file));
+ fd = open (device_file, O_RDONLY | O_NONBLOCK);
+ if (fd < 0) {
+ HAL_ERROR (("Cannot open %s: %s", device_file, strerror (errno)));
+ goto out;
+ }
+ HAL_DEBUG (("Returned from open(2)"));
- if (ioctl (fd, CDROM_SET_OPTIONS, CDO_USE_FFLAGS) < 0) {
- HAL_ERROR (("Error: CDROM_SET_OPTIONS failed: %s\n", strerror(errno)));
- close (fd);
- goto out;
- }
-
+ if (ioctl (fd, CDROM_SET_OPTIONS, CDO_USE_FFLAGS) < 0) {
+ HAL_ERROR (("Error: CDROM_SET_OPTIONS failed: %s\n", strerror(errno)));
+ close (fd);
+ goto out;
+ }
+
+ if (!only_check_for_fs) {
capabilities = ioctl (fd, CDROM_GET_CAPABILITY, 0);
if (capabilities < 0) {
close (fd);
@@ -220,13 +220,13 @@ main (int argc, char *argv[])
if (profile & DRIVE_CDROM_CAPS_DVDRW)
libhal_changeset_set_property_bool (cs, "storage.cdrom.dvdrw", TRUE);
if (profile & DRIVE_CDROM_CAPS_DVDPLUSR)
- libhal_changeset_set_property_bool(cs, "storage.cdrom.dvdplusr", TRUE);
+ libhal_changeset_set_property_bool (cs, "storage.cdrom.dvdplusr", TRUE);
if (profile & DRIVE_CDROM_CAPS_DVDPLUSRW)
libhal_changeset_set_property_bool (cs, "storage.cdrom.dvdplusrw", TRUE);
if (profile & DRIVE_CDROM_CAPS_DVDPLUSRWDL)
libhal_changeset_set_property_bool (cs, "storage.cdrom.dvdplusrwdl", TRUE);
if (profile & DRIVE_CDROM_CAPS_DVDPLUSRDL)
- libhal_changeset_set_property_bool (cs, "storage.cdrom.dvdplusrdl", TRUE);
+ libhal_changeset_set_property_bool (cs, "storage.cdrom.dvdplusrdl", TRUE);
}
if (capabilities & CDC_DVD_R) {
libhal_changeset_set_property_bool (cs, "storage.cdrom.dvdr", TRUE);
@@ -255,36 +255,37 @@ main (int argc, char *argv[])
} else {
libhal_changeset_set_property_bool (cs, "storage.cdrom.support_multisession", FALSE);
}
-
- if (get_read_write_speed(fd, &read_speed, &write_speed, &write_speeds) >= 0) {
- libhal_changeset_set_property_int (cs, "storage.cdrom.read_speed", read_speed);
- if (write_speed > 0) {
- libhal_changeset_set_property_int (
- cs, "storage.cdrom.write_speed", write_speed);
-
- if (write_speeds != NULL)
- {
- gchar **wspeeds;
- wspeeds = g_strsplit_set (write_speeds, ",", -1);
- libhal_changeset_set_property_strlist (cs,
- "storage.cdrom.write_speeds",
- (const char **) wspeeds);
- g_strfreev (wspeeds);
- free (write_speeds);
- }
- } else {
- gchar *wspeeds[1] = {NULL};
- libhal_changeset_set_property_int (cs, "storage.cdrom.write_speed", 0);
+
+ }
+
+ if (get_read_write_speed(fd, &read_speed, &write_speed, &write_speeds) >= 0) {
+ libhal_changeset_set_property_int (cs, "storage.cdrom.read_speed", read_speed);
+
+ if (write_speed > 0) {
+ libhal_changeset_set_property_int (cs, "storage.cdrom.write_speed", write_speed);
+
+ if (write_speeds != NULL)
+ {
+ gchar **wspeeds;
+
+ wspeeds = g_strsplit_set (write_speeds, ",", -1);
libhal_changeset_set_property_strlist (cs, "storage.cdrom.write_speeds",
(const char **) wspeeds);
+ g_strfreev (wspeeds);
+ free (write_speeds);
+
}
+ } else {
+ gchar *wspeeds[1] = {NULL};
+ libhal_changeset_set_property_int (cs, "storage.cdrom.write_speed", 0);
+ libhal_changeset_set_property_strlist (cs, "storage.cdrom.write_speeds",
+ (const char **) wspeeds);
}
-
- close (fd);
}
- } /* !only_check_for_fs */
-
+ close (fd);
+ }
+
ret = 0;
/* Also return 2 if we're a cdrom and we got a disc */
++++++ hal-fix-strlist_changeset_handling.diff ++++++
diff --git a/hald/device.c b/hald/device.c
index d163078..9514c9d 100644
--- a/hald/device.c
+++ b/hald/device.c
@@ -355,7 +355,7 @@ hal_property_strlist_clear (HalProperty *prop)
}
g_slist_free (prop->v.strlist_value);
- return FALSE;
+ return TRUE;
}
@@ -598,9 +598,9 @@ merge_device_rewrite_cb (HalDevice *source,
{
GSList *l;
- hal_device_property_strlist_clear (ud->target, target_key);
+ hal_device_property_strlist_clear (ud->target, target_key, FALSE);
for (l = hal_property_get_strlist (p); l != NULL; l = l->next)
- hal_device_property_strlist_append (ud->target, target_key, l->data);
+ hal_device_property_strlist_append (ud->target, target_key, l->data, FALSE);
}
break;
@@ -1409,7 +1409,8 @@ hal_device_property_get_strlist_elem (HalDevice *device,
gboolean
hal_device_property_strlist_append (HalDevice *device,
const char *key,
- const char *value)
+ const char *value,
+ gboolean changeset)
{
HalProperty *prop;
@@ -1421,9 +1422,10 @@ hal_device_property_strlist_append (HalDevice *device,
return FALSE;
hal_property_strlist_append (prop, value);
-
- g_signal_emit (device, signals[PROPERTY_CHANGED], 0,
- key, FALSE, FALSE);
+
+ if (!changeset)
+ g_signal_emit (device, signals[PROPERTY_CHANGED], 0,
+ key, FALSE, FALSE);
} else {
prop = hal_property_new (HAL_PROPERTY_TYPE_STRLIST);
@@ -1431,13 +1433,39 @@ hal_device_property_strlist_append (HalDevice *device,
g_hash_table_insert (device->private->props, g_strdup (key), prop);
+ if (!changeset)
+ g_signal_emit (device, signals[PROPERTY_CHANGED], 0,
+ key, FALSE, TRUE);
+ }
+
+ return TRUE;
+}
+
+gboolean
+hal_device_property_strlist_append_finish_changeset (HalDevice *device,
+ const char *key,
+ gboolean is_added){
+
+ HalProperty *prop;
+
+ /* check if property already exists */
+ prop = hal_device_property_find (device, key);
+
+ if (prop != NULL) {
+ if (hal_property_get_type (prop) != HAL_PROPERTY_TYPE_STRLIST)
+ return FALSE;
+
g_signal_emit (device, signals[PROPERTY_CHANGED], 0,
- key, FALSE, TRUE);
+ key, FALSE, is_added);
+
+ } else {
+ return FALSE;
}
return TRUE;
}
+
gboolean
hal_device_property_strlist_prepend (HalDevice *device,
const char *key,
@@ -1497,7 +1525,8 @@ hal_device_property_strlist_remove_elem (HalDevice *device,
gboolean
hal_device_property_strlist_clear (HalDevice *device,
- const char *key)
+ const char *key,
+ gboolean changeset)
{
HalProperty *prop;
@@ -1508,21 +1537,26 @@ hal_device_property_strlist_clear (HalDevice *device,
prop = hal_property_new (HAL_PROPERTY_TYPE_STRLIST);
g_hash_table_insert (device->private->props, g_strdup (key), prop);
- g_signal_emit (device, signals[PROPERTY_CHANGED], 0,
- key, FALSE, TRUE);
+ if (!changeset)
+ g_signal_emit (device, signals[PROPERTY_CHANGED], 0,
+ key, FALSE, TRUE);
return TRUE;
}
if (hal_property_get_type (prop) != HAL_PROPERTY_TYPE_STRLIST)
return FALSE;
- if (hal_property_strlist_clear (prop)) {
+ /* TODO: check why hal_property_strlist_clear (prop) not work */
+ g_hash_table_remove (device->private->props, key);
+ prop = hal_property_new (HAL_PROPERTY_TYPE_STRLIST);
+ g_hash_table_insert (device->private->props, g_strdup (key), prop);
+
+ if (!changeset) {
g_signal_emit (device, signals[PROPERTY_CHANGED], 0,
key, FALSE, FALSE);
- return TRUE;
}
-
- return FALSE;
+
+ return TRUE;
}
@@ -1672,7 +1706,7 @@ hal_device_acquire_lock (HalDevice *device, const char *lock_name, gboolean excl
goto out;
}
- hal_device_property_strlist_append (device, buf, sender);
+ hal_device_property_strlist_append (device, buf, sender, FALSE);
g_snprintf (buf, sizeof (buf), "info.named_locks.%s.locked", lock_name);
hal_device_property_set_bool (device, buf, TRUE);
diff --git a/hald/device.h b/hald/device.h
index 4141c63..a135d82 100644
--- a/hald/device.h
+++ b/hald/device.h
@@ -183,7 +183,11 @@ gboolean hal_device_property_set_strlist (HalDevice *device,
GSList *value);
gboolean hal_device_property_strlist_append (HalDevice *device,
const char *key,
- const char *value);
+ const char *value,
+ gboolean changeset);
+gboolean hal_device_property_strlist_append_finish_changeset (HalDevice *device,
+ const char *key,
+ gboolean is_added);
gboolean hal_device_property_strlist_prepend (HalDevice *device,
const char *key,
const char *value);
@@ -191,7 +195,8 @@ gboolean hal_device_property_strlist_remove_elem (HalDevice *device,
const char *key,
guint index);
gboolean hal_device_property_strlist_clear (HalDevice *device,
- const char *key);
+ const char *key,
+ gboolean changeset);
gboolean hal_device_property_strlist_add (HalDevice *device,
const char *key,
const char *value);
diff --git a/hald/device_info.c b/hald/device_info.c
index 194257c..8b28c1a 100644
--- a/hald/device_info.c
+++ b/hald/device_info.c
@@ -751,7 +751,7 @@ handle_merge (struct rule *rule, HalDevice *d)
if (type == HAL_PROPERTY_TYPE_STRLIST || type == HAL_PROPERTY_TYPE_INVALID) {
hal_device_property_remove (d, key);
- hal_device_property_strlist_append (d, key, value);
+ hal_device_property_strlist_append (d, key, value, FALSE);
}
} else if (rule->type_merge == MERGE_INT32) {
@@ -811,7 +811,7 @@ handle_merge (struct rule *rule, HalDevice *d)
}
if (rule->type_merge == MERGE_STRLIST) {
- hal_device_property_strlist_append (d, key, value);
+ hal_device_property_strlist_append (d, key, value, FALSE);
} else {
const char *existing_string;
@@ -881,7 +881,7 @@ handle_merge (struct rule *rule, HalDevice *d)
if (!hal_device_has_property (d, key) ||
!hal_device_property_strlist_contains (d, key, value)) {
- hal_device_property_strlist_append (d, key, value);
+ hal_device_property_strlist_append (d, key, value, FALSE);
}
} else if (rule->rtype == RULE_REMOVE) {
diff --git a/hald/freebsd/hf-usb.c b/hald/freebsd/hf-usb.c
index b7991b5..48b8186 100644
--- a/hald/freebsd/hf-usb.c
+++ b/hald/freebsd/hf-usb.c
@@ -394,7 +394,7 @@ hf_usb_device_new (HalDevice *parent,
char *port;
port = g_strdup_printf("%i", di->udi_ports[i]);
- hal_device_property_strlist_append(device, "usb_device.freebsd.ports", port);
+ hal_device_property_strlist_append(device, "usb_device.freebsd.ports", port, FALSE);
g_free(port);
}
diff --git a/hald/hald_dbus.c b/hald/hald_dbus.c
index 95e803c..0df1fa2 100644
--- a/hald/hald_dbus.c
+++ b/hald/hald_dbus.c
@@ -1212,22 +1212,40 @@ device_set_multiple_properties (DBusConnection *connection, DBusMessage *message
switch (change_type) {
case DBUS_TYPE_ARRAY:
+ {
+ gboolean _error;
+ gboolean _added;
+
+ _error = FALSE;
+ _added = TRUE;
+
if (dbus_message_iter_get_element_type (&var_iter) != DBUS_TYPE_STRING) {
/* TODO: error */
}
dbus_message_iter_recurse (&var_iter, &array_iter);
- hal_device_property_strlist_clear (d, key);
+ if (hal_device_has_property(d, key)) {
+ if (hal_device_property_get_type(d, key) != HAL_PROPERTY_TYPE_STRLIST) {
+ _error = TRUE;
+ }
+ _added = FALSE;
+ }
+
+ hal_device_property_strlist_clear (d, key, TRUE);
while (dbus_message_iter_get_arg_type (&array_iter) == DBUS_TYPE_STRING) {
const char *v;
dbus_message_iter_get_basic (&array_iter, &v);
HAL_INFO ((" strlist elem %s -> %s", key, v));
- rc = hal_device_property_strlist_append (d, key, v);
+ rc = hal_device_property_strlist_append (d, key, v, TRUE);
dbus_message_iter_next (&array_iter);
}
+
+ if (!_error)
+ hal_device_property_strlist_append_finish_changeset(d, key, _added);
break;
+ }
case DBUS_TYPE_STRING:
{
const char *v;
@@ -1741,7 +1759,7 @@ device_string_list_append_prepend (DBusConnection * connection, DBusMessage * me
if (do_prepend)
ret = hal_device_property_strlist_prepend (d, key, value);
else
- ret = hal_device_property_strlist_append (d, key, value);
+ ret = hal_device_property_strlist_append (d, key, value, FALSE);
if (!ret) {
raise_property_type_error (connection, message, udi, key);
return DBUS_HANDLER_RESULT_HANDLED;
@@ -4667,12 +4685,14 @@ reply_from_fwd_message (DBusPendingCall *pending_call,
reply_from_addon = dbus_pending_call_steal_reply (pending_call);
reply = dbus_message_copy (reply_from_addon);
- dbus_message_set_destination (reply, dbus_message_get_sender (method_from_caller));
- dbus_message_set_reply_serial (reply, dbus_message_get_serial (method_from_caller));
+ if (reply != NULL) {
+ dbus_message_set_destination (reply, dbus_message_get_sender (method_from_caller));
+ dbus_message_set_reply_serial (reply, dbus_message_get_serial (method_from_caller));
- if (dbus_connection != NULL)
- dbus_connection_send (dbus_connection, reply, NULL);
+ if (dbus_connection != NULL)
+ dbus_connection_send (dbus_connection, reply, NULL);
+ }
dbus_message_unref (reply_from_addon);
dbus_message_unref (reply);
dbus_message_unref (method_from_caller);
diff --git a/hald/linux/osspec.c b/hald/linux/osspec.c
index 3512c6a..9dc2f25 100644
--- a/hald/linux/osspec.c
+++ b/hald/linux/osspec.c
@@ -581,7 +581,7 @@ get_openfirmware_entry(HalDevice *d, char *property, char *entry,
if (multivalue) {
gsize offset = 0;
while (offset < length) {
- hal_device_property_strlist_append(d, property, contents + offset);
+ hal_device_property_strlist_append(d, property, contents + offset, FALSE);
for (; offset < length - 1 && contents[offset] != '\0'; offset++)
;
offset++;
diff --git a/hald/solaris/devinfo_storage.c b/hald/solaris/devinfo_storage.c
index f7d6512..9181572 100644
--- a/hald/solaris/devinfo_storage.c
+++ b/hald/solaris/devinfo_storage.c
@@ -1619,10 +1619,10 @@ devinfo_storage_append_nickname (HalDevice *d, const char *media_type, int media
char buf[64];
if (media_num == 0) {
- hal_device_property_strlist_append (d, "storage.solaris.nicknames", media_type);
+ hal_device_property_strlist_append (d, "storage.solaris.nicknames", media_type, FALSE);
}
snprintf(buf, sizeof (buf), "%s%d", media_type, media_num);
- hal_device_property_strlist_append (d, "storage.solaris.nicknames", buf);
+ hal_device_property_strlist_append (d, "storage.solaris.nicknames", buf, FALSE);
}
static void
++++++ hal-info-20070816.tar.bz2 -> hal-info-20070824.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-info-20070816/ChangeLog new/hal-info-20070824/ChangeLog
--- old/hal-info-20070816/ChangeLog 2007-08-16 15:29:03.000000000 +0200
+++ new/hal-info-20070824/ChangeLog 2007-08-24 17:53:15.000000000 +0200
@@ -1,3 +1,71 @@
+commit 90634f0b6b79dcc0e01f9af1569d69700ab6d1fe
+Author: Santi Béjar
+Date: Fri Aug 24 13:40:48 2007 +0100
+
+ add video quirks for Acer Travelmate 250
+
+ here it is the quirks needed for a Acer Travelmate 250, very similar
+ to the ones for the Travelmate 240 as both are very similar laptops.
+ I've tested it in X and in the console.
+
+ .../10freedesktop/20-video-quirk-pm-acer.fdi | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+commit 38ae34b634403b75bfbf4c7a43ea7951d623dc2d
+Merge: 5db8802... b844a4d...
+Author: Richard Hughes
+Date: Tue Aug 21 18:05:17 2007 +0100
+
+ Merge branch 'master' of
+ git+ssh://hughsient@git.freedesktop.org/git/hal-info
+
+commit 5db88023b3693f040cf4b1b0aa66d184a444fc7c
+Author: Adel Gadllah
+Date: Tue Aug 21 18:04:11 2007 +0100
+
+ add keymap for INVENTEC SYMPHONY 6.0/7.0
+
+ The attached patch adds keymap quirks for the Zepto 6615WD Laptop.
+ Its a rebranded Laptop thats why it does not expose its name in the
+ dmi data.
+
+ fdi/information/10freedesktop/30-keymap-misc.fdi | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 92f92ea3a46faa73dd9639f703f2bf62c283620a
+Author: Richard Hughes
+Date: Tue Aug 21 18:03:00 2007 +0100
+
+ correct a keyname in an acer keymap
+
+ fdi/information/10freedesktop/30-keymap-acer.fdi | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit b844a4df4072d01917c54371e4001fe0af12157e
+Author: Danny Kukawka
+Date: Tue Aug 21 15:38:25 2007 +0200
+
+ fix keymap-check.sh to cleanup temporary files on exit
+
+ Fixed keymap-check.sh to cleanup temporary /tmp/quirk-keymap-list.txt
+ file before finish the check.
+
+ tools/keymap-check.sh | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+commit fca27b96eb970f9519b1cacb7a55c157dff4feac
+Author: Emil Soleyman
+Date: Sun Aug 19 18:01:27 2007 +0100
+
+ add video quirk for Z61t
+
+ I have found a video quirk when suspending and resuming my Lenovo
+ Z61t.
+ I am attaching a patch that will update hal-info.
+
+ .../10freedesktop/20-video-quirk-pm-lenovo.fdi | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
commit 3d6b1649f772310dba7e67a60bbf0b061524cecf
Author: Danny Kukawka
Date: Thu Aug 16 15:11:54 2007 +0200
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-info-20070816/configure new/hal-info-20070824/configure
--- old/hal-info-20070816/configure 2007-08-16 15:28:21.000000000 +0200
+++ new/hal-info-20070824/configure 2007-08-24 17:52:24.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for hal-info 20070816.
+# Generated by GNU Autoconf 2.60 for hal-info 20070824.
#
# Report bugs to .
#
@@ -559,8 +559,8 @@
# Identity of this package.
PACKAGE_NAME='hal-info'
PACKAGE_TARNAME='hal-info'
-PACKAGE_VERSION='20070816'
-PACKAGE_STRING='hal-info 20070816'
+PACKAGE_VERSION='20070824'
+PACKAGE_STRING='hal-info 20070824'
PACKAGE_BUGREPORT='dkukawka@suse.de'
ac_subst_vars='SHELL
@@ -1166,7 +1166,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures hal-info 20070816 to adapt to many kinds of systems.
+\`configure' configures hal-info 20070824 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1232,7 +1232,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of hal-info 20070816:";;
+ short | recursive ) echo "Configuration of hal-info 20070824:";;
esac
cat <<\_ACEOF
@@ -1322,7 +1322,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-hal-info configure 20070816
+hal-info configure 20070824
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1336,7 +1336,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by hal-info $as_me 20070816, which was
+It was created by hal-info $as_me 20070824, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -2006,7 +2006,7 @@
# Define the identity of the package.
PACKAGE=hal-info
- VERSION=20070816
+ VERSION=20070824
cat >>confdefs.h <<_ACEOF
@@ -4045,7 +4045,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by hal-info $as_me 20070816, which was
+This file was extended by hal-info $as_me 20070824, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -4098,7 +4098,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-hal-info config.status 20070816
+hal-info config.status 20070824
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-info-20070816/configure.in new/hal-info-20070824/configure.in
--- old/hal-info-20070816/configure.in 2007-08-16 15:28:03.000000000 +0200
+++ new/hal-info-20070824/configure.in 2007-08-24 17:52:14.000000000 +0200
@@ -1,6 +1,6 @@
AC_PREREQ(2.57)
-AC_INIT(hal-info, 20070816, dkukawka@suse.de)
+AC_INIT(hal-info, 20070824, dkukawka@suse.de)
AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION)
AM_CONFIG_HEADER(config.h)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-info-20070816/fdi/information/10freedesktop/20-video-quirk-pm-acer.fdi new/hal-info-20070824/fdi/information/10freedesktop/20-video-quirk-pm-acer.fdi
--- old/hal-info-20070816/fdi/information/10freedesktop/20-video-quirk-pm-acer.fdi 2007-08-16 15:15:37.000000000 +0200
+++ new/hal-info-20070824/fdi/information/10freedesktop/20-video-quirk-pm-acer.fdi 2007-08-24 17:50:12.000000000 +0200
@@ -27,6 +27,10 @@
<merge key="power_management.quirk.vbe_post" type="bool">true</merge>
<merge key="power_management.quirk.vbestate_restore" type="bool">true</merge>
</match>
+ <match key="system.hardware.product" prefix="TravelMate 250">
+ <merge key="power_management.quirk.vbe_post" type="bool">true</merge>
+ <merge key="power_management.quirk.vbestate_restore" type="bool">true</merge>
+ </match>
<match key="system.hardware.product" prefix="TravelMate 380">
<merge key="power_management.quirk.vbe_post" type="bool">true</merge>
<merge key="power_management.quirk.vbestate_restore" type="bool">true</merge>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-info-20070816/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi new/hal-info-20070824/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi
--- old/hal-info-20070816/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi 2007-08-16 15:15:37.000000000 +0200
+++ new/hal-info-20070824/fdi/information/10freedesktop/20-video-quirk-pm-lenovo.fdi 2007-08-24 17:50:12.000000000 +0200
@@ -39,6 +39,10 @@
<merge key="power_management.quirk.s3_bios" type="bool">true</merge>
<merge key="power_management.quirk.s3_mode" type="bool">true</merge>
</match>
+ <match key="system.hardware.version" string="ThinkPad Z61t">
+ <merge key="power_management.quirk.s3_bios" type="bool">true</merge>
+ <merge key="power_management.quirk.s3_mode" type="bool">true</merge>
+ </match>
<!-- T61 -->
<match key="system.hardware.version" string="766314G">
<merge key="power_management.quirk.s3_mode" type="bool">true</merge>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-info-20070816/fdi/information/10freedesktop/30-keymap-acer.fdi new/hal-info-20070824/fdi/information/10freedesktop/30-keymap-acer.fdi
--- old/hal-info-20070816/fdi/information/10freedesktop/30-keymap-acer.fdi 2007-08-16 15:15:37.000000000 +0200
+++ new/hal-info-20070824/fdi/information/10freedesktop/30-keymap-acer.fdi 2007-08-24 17:50:12.000000000 +0200
@@ -229,7 +229,7 @@
<append key="input.keymap.data" type="strlist">0x68:up</append>
<append key="input.keymap.data" type="strlist">0x69:down</append>
<append key="input.keymap.data" type="strlist">0x6b:fn</append>
- <append key="input.keymap.data" type="strlist">0x6c:lockscreen</append>
+ <append key="input.keymap.data" type="strlist">0x6c:screenlock</append>
<append key="info.capabilities" type="strlist">input.keymap</append>
</match>
<!-- TravelMate 3000 -->
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-info-20070816/fdi/information/10freedesktop/30-keymap-misc.fdi new/hal-info-20070824/fdi/information/10freedesktop/30-keymap-misc.fdi
--- old/hal-info-20070816/fdi/information/10freedesktop/30-keymap-misc.fdi 2007-08-16 15:15:37.000000000 +0200
+++ new/hal-info-20070824/fdi/information/10freedesktop/30-keymap-misc.fdi 2007-08-24 17:50:12.000000000 +0200
@@ -61,6 +61,14 @@
</match>
</match>
+ <match key="/org/freedesktop/Hal/devices/computer:system.hardware.vendor" string="INVENTEC">
+ <match key="/org/freedesktop/Hal/devices/computer:system.hardware.product" string="SYMPHONY 6.0/7.0">
+ <append key="input.keymap.data" type="strlist">e073:prog2</append> <!-- "P2" programmable button -->
+ <append key="input.keymap.data" type="strlist">e074:prog1</append> <!-- "P1" programmable button -->
+ <append key="info.capabilities" type="strlist">input.keymap</append>
+ </match>
+ </match>
+
</match>
</device>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/hal-info-20070816/tools/keymap-check.sh new/hal-info-20070824/tools/keymap-check.sh
--- old/hal-info-20070816/tools/keymap-check.sh 2007-08-16 15:15:37.000000000 +0200
+++ new/hal-info-20070824/tools/keymap-check.sh 2007-08-24 17:50:12.000000000 +0200
@@ -66,5 +66,9 @@
retval=1
fi
+if [ -e /tmp/quirk-keymap-list.txt ]; then
+ rm -rf /tmp/quirk-keymap-list.txt
+fi
+
exit $retval
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org