upstream fixes for hal addon keyboard
authorDoug Goldstein <cardoe@gentoo.org>
Fri, 13 Apr 2007 01:26:05 +0000 (01:26 +0000)
committerDoug Goldstein <cardoe@gentoo.org>
Fri, 13 Apr 2007 01:26:05 +0000 (01:26 +0000)
Package-Manager: portage-2.1.2.3

sys-apps/hal/ChangeLog
sys-apps/hal/Manifest
sys-apps/hal/files/0.5.9/08_contains_not_fdi_directive.patch [new file with mode: 0644]
sys-apps/hal/files/0.5.9/09_hald_addon_keyboard_start_one.patch [new file with mode: 0644]
sys-apps/hal/files/0.5.9/series

index 4ab1cc059e65bc8f55908a75666e38d253032850..c5407fdba7105194324940358ea7477cdd4ec454 100644 (file)
@@ -1,6 +1,11 @@
 # ChangeLog for sys-apps/hal
 # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.163 2007/04/12 16:43:50 cardoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/hal/ChangeLog,v 1.164 2007/04/13 01:26:05 cardoe Exp $
+
+  13 Apr 2007; Doug Goldstein <cardoe@gentoo.org>
+  +files/0.5.9/08_contains_not_fdi_directive.patch,
+  +files/0.5.9/09_hald_addon_keyboard_start_one.patch, files/0.5.9/series:
+  upstream fixes for hal addon keyboard
 
   12 Apr 2007; Doug Goldstein <cardoe@gentoo.org> hal-0.5.9.ebuild:
   haldaemon groups tweak for FreeBSD
index 08b9a78242ce3a920ae942acd13a25df7bdb1359..9cc62ae4686244b985af1331b7a8ae457721a12d 100644 (file)
@@ -41,6 +41,14 @@ AUX 0.5.9/07_malloc_h_for_stdlib_h.patch 1401 RMD160 2e1140954fd8818d412fc07750f
 MD5 61d44f37a51f2e92054bda4df0b67688 files/0.5.9/07_malloc_h_for_stdlib_h.patch 1401
 RMD160 2e1140954fd8818d412fc07750f12b25d04f7ada files/0.5.9/07_malloc_h_for_stdlib_h.patch 1401
 SHA256 04749b15f3349e146523d9ed2571e5362804de5f0320f68cbcc85395debc6554 files/0.5.9/07_malloc_h_for_stdlib_h.patch 1401
+AUX 0.5.9/08_contains_not_fdi_directive.patch 3572 RMD160 78371b05ece90cfe34abdd3c64fceeca403a93ed SHA1 019f6c9a54a860eb4cce7f4d9d078d60d43ca2c9 SHA256 ebfa47c89693685c49a6c53aacd053433a9d9b4c49ac608449b97d58c3143ad5
+MD5 091f420c52ba7f3391d4419749294c97 files/0.5.9/08_contains_not_fdi_directive.patch 3572
+RMD160 78371b05ece90cfe34abdd3c64fceeca403a93ed files/0.5.9/08_contains_not_fdi_directive.patch 3572
+SHA256 ebfa47c89693685c49a6c53aacd053433a9d9b4c49ac608449b97d58c3143ad5 files/0.5.9/08_contains_not_fdi_directive.patch 3572
+AUX 0.5.9/09_hald_addon_keyboard_start_one.patch 1519 RMD160 161baddfab13ee3293092444fbb7315bafe395b8 SHA1 fcc019e63da0cc0f3c91f55cce7219d42235cc54 SHA256 697fbf2f234bb0d8f47b4086c0636e20674e00eb38181c303c02ecad3ee9bdb8
+MD5 a736ab94241050088914f7b0a19fde70 files/0.5.9/09_hald_addon_keyboard_start_one.patch 1519
+RMD160 161baddfab13ee3293092444fbb7315bafe395b8 files/0.5.9/09_hald_addon_keyboard_start_one.patch 1519
+SHA256 697fbf2f234bb0d8f47b4086c0636e20674e00eb38181c303c02ecad3ee9bdb8 files/0.5.9/09_hald_addon_keyboard_start_one.patch 1519
 AUX 0.5.9/95_gentoo_man_page.patch 18159 RMD160 cd4bf6c16e84464b11de755323ef2d0f5c1a54f9 SHA1 f9de30d705eada8e2f631e51b715b9923f732fb4 SHA256 59d81dcb273f3cdc9c7fc9f195331529642fef2c2150b3eeb3fd98ea555b1893
 MD5 f6d115e0eb501aba476f4df965bfeb6c files/0.5.9/95_gentoo_man_page.patch 18159
 RMD160 cd4bf6c16e84464b11de755323ef2d0f5c1a54f9 files/0.5.9/95_gentoo_man_page.patch 18159
@@ -49,10 +57,10 @@ AUX 0.5.9/96_plugdev_allow_send.patch 1781 RMD160 08f0cbb8960d4753d15d02c8694fae
 MD5 38976c1da85ba17ba6a46f56cd1de3bf files/0.5.9/96_plugdev_allow_send.patch 1781
 RMD160 08f0cbb8960d4753d15d02c8694fae09a6ef2a02 files/0.5.9/96_plugdev_allow_send.patch 1781
 SHA256 090d666c8df223fc0ea30f473fa3d52412ef22aff85c1eebf609a3f00dbd652a files/0.5.9/96_plugdev_allow_send.patch 1781
-AUX 0.5.9/series 285 RMD160 d92863c4c3cf329a51899563f188e1b77569d75d SHA1 634770c21f28025a21bc8a3da8e8c61d5b023de5 SHA256 a1e80a782c05f61626ba22634b4d1aa37d04b3a8a13ce3fc15493b01ac14e90f
-MD5 c63db3a969b89354f997be4d8a68e4c5 files/0.5.9/series 285
-RMD160 d92863c4c3cf329a51899563f188e1b77569d75d files/0.5.9/series 285
-SHA256 a1e80a782c05f61626ba22634b4d1aa37d04b3a8a13ce3fc15493b01ac14e90f files/0.5.9/series 285
+AUX 0.5.9/series 360 RMD160 f7684975bbad57132ec7205875f15355dae95fc2 SHA1 b76a1299719517d5e67ed634d354b0174054d3ea SHA256 4616a47af97e26404ba1cff554dd3095450ea9e168fbdead906710b6087d71c0
+MD5 41a50a4d45d866220c9054bbbbc6d8c9 files/0.5.9/series 360
+RMD160 f7684975bbad57132ec7205875f15355dae95fc2 files/0.5.9/series 360
+SHA256 4616a47af97e26404ba1cff554dd3095450ea9e168fbdead906710b6087d71c0 files/0.5.9/series 360
 AUX fix-scsi-fake-host-event.patch 3108 RMD160 2bda406fcb2dd92c348781a6c0958d40c79d78ea SHA1 af1d5c9a2cde091bd7abe04ed5e91a4bb815b675 SHA256 199749c188e5fb4858e4c1dac8800525377daf6a680dcd13e7096e71266ed05d
 MD5 3b6df9a24978d931781dc029c85288a9 files/fix-scsi-fake-host-event.patch 3108
 RMD160 2bda406fcb2dd92c348781a6c0958d40c79d78ea files/fix-scsi-fake-host-event.patch 3108
@@ -171,10 +179,10 @@ EBUILD hal-0.5.9.ebuild 6763 RMD160 440c42459fab10c43d90d4ae9357fe21ed635315 SHA
 MD5 192292871d72fa19e6632c7c0f83ed58 hal-0.5.9.ebuild 6763
 RMD160 440c42459fab10c43d90d4ae9357fe21ed635315 hal-0.5.9.ebuild 6763
 SHA256 d55f2c8f4056a4850bbf5b714f606293b89c7c4c7d1a38f72fb6cff4614b50ba hal-0.5.9.ebuild 6763
-MISC ChangeLog 26119 RMD160 d46a42a39c4979579f5c55fc6fe64d973ee37a4b SHA1 fd2836e919a0dc3e70a8b5497d7f8063f63cda35 SHA256 6eaeea012bcd4edc6e7b3ec44d6c9c9806981a0721f209d1ff85bf9e67b1bfa6
-MD5 53e5fe6dd166b28863cb8bc3c2af142a ChangeLog 26119
-RMD160 d46a42a39c4979579f5c55fc6fe64d973ee37a4b ChangeLog 26119
-SHA256 6eaeea012bcd4edc6e7b3ec44d6c9c9806981a0721f209d1ff85bf9e67b1bfa6 ChangeLog 26119
+MISC ChangeLog 26337 RMD160 f77b6149600ccdea7498a76bf4d3b8bb4fcd8c93 SHA1 9dc026d829837e627aa6871e83a8f7d0d67ac1d3 SHA256 1a7956e125a243659564c6a714fffb12109eb0d8cbea65b1b659ffe260f4af4f
+MD5 a4ddc17b05f4b13c5f2e2b1ff8f0fe05 ChangeLog 26337
+RMD160 f77b6149600ccdea7498a76bf4d3b8bb4fcd8c93 ChangeLog 26337
+SHA256 1a7956e125a243659564c6a714fffb12109eb0d8cbea65b1b659ffe260f4af4f ChangeLog 26337
 MISC metadata.xml 345 RMD160 aa6e810e9546542453ebe5d6ca46804e99f447f2 SHA1 fef829210e8555807f9b69ba5afedffb8af8d02c SHA256 0c9aeabf473a6836c25a5db2ca86b880dec1efa9e52310725e08d1e0df93447d
 MD5 3317c4000387b670183d305ef9937b75 metadata.xml 345
 RMD160 aa6e810e9546542453ebe5d6ca46804e99f447f2 metadata.xml 345
@@ -191,7 +199,7 @@ SHA256 d862b002c9a5547954874b2a0cbadd614381d085e850539e6aef2dd9e9d52dfe files/di
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.3 (GNU/Linux)
 
-iD8DBQFGHmGtoeSe8B0zEfwRAsv8AJ99r7cTCrAo7xp27mMHSzAU4QZiGgCfe2/5
-9Tdwf7TreqcYfvudYQz+icM=
-=zVxo
+iD8DBQFGHtwToeSe8B0zEfwRAuwoAJ90goUu8JNeu2QwExLii2BjLGR4IQCfYWgV
+bEH5cDGlJWfa4eOxemhNFEE=
+=9sHF
 -----END PGP SIGNATURE-----
diff --git a/sys-apps/hal/files/0.5.9/08_contains_not_fdi_directive.patch b/sys-apps/hal/files/0.5.9/08_contains_not_fdi_directive.patch
new file mode 100644 (file)
index 0000000..573418f
--- /dev/null
@@ -0,0 +1,86 @@
+From: Danny Kukawka <danny.kukawka@web.de>
+Date: Thu, 12 Apr 2007 19:39:06 +0000 (-0400)
+Subject: fix contains_not fdi-directive
+X-Git-Tag: HAL_0_2
+X-Git-Url: http://gitweb.freedesktop.org/?p=hal.git;a=commitdiff;h=485f9aa6780690d915a13d813bc753501a3c899e
+
+fix contains_not fdi-directive
+
+This patch fixes the contains_not FDI file directive/rule to return true (let
+the match not fail) if the property is not set on the device. This allow to
+have this rule:
+
+       <match key="info.addons" contains_not="hald-addon-input">
+         <append key="info.addons" type="strlist">hald-addon-input</append>
+       </match>
+
+Without this patch this fails if info.addons is not already set. With the
+change it would match if:
+* info.addons is not available
+or
+* info.addons contains no string 'hald-addon-input'
+---
+
+--- a/doc/spec/hal-spec-fdi-files.xml
++++ b/doc/spec/hal-spec-fdi-files.xml
+@@ -156,10 +156,10 @@
+           <para>
+             <literal>contains_not</literal> - can only be used with strlist (string list) 
+           and string properties.
+-            For a string list this match if the given string is not match any of the
+-            item of the list for a string this match of the property not contains the
+-          (sub-)string. You can use this attribute to construct if/else blocks together 
+-          with e.g. <literal>contains</literal>.
++            For a string list this match if the given string not match any of the
++            item of the list (or the property is not set for the device). For a string  
++          this match of the property not contains the (sub-)string. You can use this 
++          attribute to construct if/else blocks together with e.g. <literal>contains</literal>.
+           </para>
+         </listitem>
+         <listitem>
+--- a/hald/device_info.c
++++ b/hald/device_info.c
+@@ -447,27 +447,28 @@ handle_match (struct rule *rule, HalDevi
+       {
+               dbus_bool_t contains = FALSE;
+-              if (hal_device_property_get_type (d, prop_to_check) == HAL_PROPERTY_TYPE_STRING) {
+-                      if (hal_device_has_property (d, prop_to_check)) {
++              if (hal_device_has_property (d, prop_to_check) && value != NULL) {
++
++                      if (hal_device_property_get_type (d, prop_to_check) == HAL_PROPERTY_TYPE_STRING) {
+                               const char *haystack;
+                               haystack = hal_device_property_get_string (d, prop_to_check);
+-                              if (value != NULL && haystack != NULL &&  (strstr(haystack, value) != NULL))
+-                                      contains = TRUE;
+-                      }
+-              } else if (hal_device_property_get_type (d, prop_to_check) == HAL_PROPERTY_TYPE_STRLIST && value != NULL) {
+-                      HalDeviceStrListIter iter;
+-                      for (hal_device_property_strlist_iter_init (d, prop_to_check, &iter);
+-                           hal_device_property_strlist_iter_is_valid (&iter);
+-                           hal_device_property_strlist_iter_next (&iter)) {
+-                              const char *str = hal_device_property_strlist_iter_get_value (&iter);
+-                              if (strcmp (str, value) == 0) {
++                              if (haystack != NULL &&  (strstr(haystack, value) != NULL))
+                                       contains = TRUE;
+-                                      break;
++                      } else if (hal_device_property_get_type (d, prop_to_check) == HAL_PROPERTY_TYPE_STRLIST) {
++                              HalDeviceStrListIter iter;
++                              for (hal_device_property_strlist_iter_init (d, prop_to_check, &iter);
++                                   hal_device_property_strlist_iter_is_valid (&iter);
++                                   hal_device_property_strlist_iter_next (&iter)) {
++                                      const char *str = hal_device_property_strlist_iter_get_value (&iter);
++                                      if (strcmp (str, value) == 0) {
++                                              contains = TRUE;
++                                              break;
++                                      }
+                               }
++                      } else {
++                              return FALSE;
+                       }
+-              } else {
+-                      return FALSE;
+               }
+       
+               if (rule->type_match == MATCH_CONTAINS) {       
diff --git a/sys-apps/hal/files/0.5.9/09_hald_addon_keyboard_start_one.patch b/sys-apps/hal/files/0.5.9/09_hald_addon_keyboard_start_one.patch
new file mode 100644 (file)
index 0000000..d5318aa
--- /dev/null
@@ -0,0 +1,34 @@
+From: David Zeuthen <davidz@redhat.com>
+Date: Thu, 12 Apr 2007 19:46:26 +0000 (-0400)
+Subject: only start one hald-addon-keyboard addon
+X-Git-Tag: HAL_0_2
+X-Git-Url: http://gitweb.freedesktop.org/?p=hal.git;a=commitdiff;h=f22a37b7a7073b3398e9060e21bc1d12dc58783f
+
+only start one hald-addon-keyboard addon
+
+this patch fixes the problem that one device can have get started the
+same hald-addon-keyboard addon multiple times. This work only together
+with my patch for the contains_not FDI-file directive.
+
+(similar to commit 5745da44f3bb43dafd9b53cbfcfc1218619a5263 on master)
+---
+
+--- a/fdi/policy/10osvendor/10-keyboard-policy.fdi
++++ b/fdi/policy/10osvendor/10-keyboard-policy.fdi
+@@ -5,10 +5,14 @@
+   <device>
+     <match key="info.capabilities" contains="input">
+       <match key="info.capabilities" contains="button">
+-      <append key="info.addons" type="strlist">hald-addon-keyboard</append>
++        <match key="info.addons" contains_not="hald-addon-keyboard">
++        <append key="info.addons" type="strlist">hald-addon-keyboard</append>
++        </match>
+       </match>
+       <match key="info.capabilities" contains="input.keyboard">
+-      <append key="info.addons" type="strlist">hald-addon-keyboard</append>
++        <match key="info.addons" contains_not="hald-addon-keyboard">
++        <append key="info.addons" type="strlist">hald-addon-keyboard</append>
++        </match>
+         <match key="info.capabilities" contains_not="button">
+         <append key="info.capabilities" type="strlist">button</append>
+         </match>
index 7713b7cc8133d1dd44f076e8e42c50b42fc5c111..4193623fd732fce250a9a12f1de44a0c47e6495f 100644 (file)
@@ -5,5 +5,7 @@
 05_freebsd_partutil_make_fix.patch
 06_freebsd_backend_fix.patch
 07_malloc_h_for_stdlib_h.patch
+08_contains_not_fdi_directive.patch
+09_hald_addon_keyboard_start_one.patch
 95_gentoo_man_page.patch
 96_plugdev_allow_send.patch