On Wed, Nov 25, 2009 at 6:10 AM, Martin Pitt <span dir="ltr">&lt;<a href="mailto:martin.pitt@ubuntu.com">martin.pitt@ubuntu.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello Victor,<br>
<br>
sorry for the late response; conference and all that..<br>
<br>
Victor Lowther [2009-11-15 21:59 -0600]:<br>
<div class="im">&gt; And now, a version that actaully works.  With a bit of glue code, this<br>
&gt; can replace auto quirk and smart kernel driver handling in pm-utils.<br>
<br>
</div>I just tried your script, but AFAIK it just figures out the quirks<br>
that are necessary on the _current_ system by parsing the .fdi<br>
directly, right?<br></blockquote><div><br>No, it translates the .fdi files that are currently on the system into a native format that uses bash-style extended regular expressions instead of the .fdi ad-hoc pattern matching scheme..  The translation is fairly simplistic right now (and could certainly do with being rewritten, in a language that acctually understands xml) but it only reads the .fdi files to translate them, and it only does that if they are newer than the native format files.  If there are no .fdi files, or they are older than the native ones, it just uses the native format files.<br>
<br>Take a look at maybe_update_native(), translate_xml() and their callers in the script for more details.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

What I actually had in mind was that we should do a static conversion<br>
to produce a simple-to-parse text file map which can then be put into,<br>
and maintained within (well, it&#39;s not going to change often any more),<br>
pm-utils itself, so that we can get rid of hal/hal-info completely.<br>
<br>
Would you want to change your script accordingly, or want me to work<br>
on such a static conversion script?<br></blockquote><div><br>No need, I already do that in the current script for convienence.  Once we actually decide that this is the way forward, moving the XML translation into its own script or rewriting it in a language that actually understands XML will be pretty easy.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I thought about having one file per vendor, such as<br>
<br>
  /usr/share/pm-utils/video-quirks/ibm<br></blockquote><div><br>I already do this.<br> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

and each file would have a list of (dmi property:value)* → quirks map like<br>
<br>
  product_name:.*X31;bios-version:INET17WW      s3_bios s3_mode<br>
<br>
which can then be matched against /sys/class/dmi/id/* with grep.<br></blockquote><div><br>I tried that, it is hideously expensive -- you end up having to parse each line in the file in the shell, and then run grep on the specific DMI property you are looking at with the bits you parse out, which ends up running grep several hundred times. Since bash already knows about regular expressions, I cut out the middleman, and keeping the current treeish structure makes it easier to save a little time by not comparing the bits you do not actually care about.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><font color="#888888">
Martin<br>
</font><div><div></div><div class="h5"><br>
--<br>
Martin Pitt                        | <a href="http://www.piware.de" target="_blank">http://www.piware.de</a><br>
Ubuntu Developer (<a href="http://www.ubuntu.com" target="_blank">www.ubuntu.com</a>)  | Debian Developer  (<a href="http://www.debian.org" target="_blank">www.debian.org</a>)<br>
</div></div><br>-----BEGIN PGP SIGNATURE-----<br>
Version: GnuPG v1.4.9 (GNU/Linux)<br>
<br>
iEYEARECAAYFAksNHpgACgkQDecnbV4Fd/IQ/QCgvPBIp4E6Yt68mmStzEWsXZNt<br>
jYwAn2f9GGomtquFSI5r5rHrIscFLNCZ<br>
=JttI<br>
-----END PGP SIGNATURE-----<br>
<br>_______________________________________________<br>
hal mailing list<br>
<a href="mailto:hal@lists.freedesktop.org">hal@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/hal" target="_blank">http://lists.freedesktop.org/mailman/listinfo/hal</a><br>
<br></blockquote></div><br>