Bug 507263

Summary: HAL fails to parse fdi policies in /etc tree
Product: [Fedora] Fedora Reporter: Ryan Rix <ry>
Component: halAssignee: Richard Hughes <richard>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 11CC: rhughes, richard, ry
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-06-24 11:12:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ryan Rix 2009-06-22 02:45:12 UTC
Description of problem:
policy files located in /etc/hal/fdi/policy/ are not not read by hald.

Context:
I'm trying to enable SHMConfig on my EEE PC 1000HE laptop so that I can run a script used to customize multitouch gestures on trackpads that support it ( http://www.ibm.com/developerworks/library/os-touchpad/ ) and this script uses synclient, which in turn uses SHMConfig. Reading the documentation on fdi, I created the following policy file:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
        <!-- To add custom options for the touchpad, modify the examples below
             to suit your needs. The available options are listed in the
             "synaptics" man page. After modifyfing this file, you must
             restart HAL. Check the output of lshal whether your modifications
             have been merged successfully.

             Note: Options must always be type "string".
             The following examples enable left, right, middle clicks on
             single, double, triple finger tapping, respectively
             <merge key="input.x11_options.SHMConfig" type="string">True</merge>
             <merge key="input.x11_options.TapButton1" type="string">1</merge>
             <merge key="input.x11_options.TapButton2" type="string">3</merge>
             <merge key="input.x11_options.TapButton3" type="string">2</merge>
        -->
        <merge key="input.x11_driver" type="string">synaptics</merge>
    </match>
  </device>
</deviceinfo>

But HAL does not enable SHM config on restarting hald.

Version-Release number of selected component (if applicable):
[root@TheSwan ~]# hald --version
HAL package version: 0.5.12

How reproducible:
Use above fdi file.

Steps to Reproduce:
1. paste the above fdi into /etc/hal/fdi/policy/10-synaptics
2. call /etc/init.d/haldaemon restart
3. lshal, find the synaptic entry, and check if SHMConfig is enabled.
4. synclient -m 100 # this will not work, if SHMConfig is disabled.

Actual results:
SHMConfig is disabled.

Expected results:
SHMConfig should be enabled.

Additional info:
What else would help? :)

Comment 1 Ryan Rix 2009-06-24 08:39:29 UTC
Note: Comment delimiters in fdi policies should be checked BEFORE filing a bug.

(aka, that file has all of the options commented out)

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.touchpad">
        <!-- To add custom options for the touchpad, modify the examples below
             to suit your needs. The available options are listed in the
             "synaptics" man page. After modifyfing this file, you must
             restart HAL. Check the output of lshal whether your modifications
             have been merged successfully.
                -->
             Note: Options must always be type "string".
             The following examples enable left, right, middle clicks on
             single, double, triple finger tapping, respectively
             <merge key="input.x11_options.SHMConfig" type="string">True</merge>
             <merge key="input.x11_options.TapButton1" type="string">1</merge>
             <merge key="input.x11_options.TapButton2" type="string">3</merge>
             <merge key="input.x11_options.TapButton3" type="string">2</merge>
        <merge key="input.x11_driver" type="string">synaptics</merge>
    </match>
  </device>
</deviceinfo>

is a working fdi.

Someone with privileges care to close this as RESOLVED DUE TO MISREADING? :)