Add support for XML database.
author Michael Pyne
committer Michael Pyne
commit 8f66365417e052855cf0fee610631c4aea6ada96
tree 9b258497935fca66bac62b80e53e09f1ba565b03
parent 278900634c7f041d02f38ea7085519d9c5b58327
Add support for XML database.

This commit adds initial support for the XML database
as exported by

The short story is, to use the "use-xml-modules" option in a
*module-set*. E.g., what I just tested was with

use-xml-modules phonon-gstreamer
end module-set

If you want --pretend to work you should throw a module set that uses
XML modules in somewhere and try having the XML-based module built, or
just download kde_projects.xml yourself and plop it right in the base
source directory.

In theory a grouping module (such as extragear/utils) should allow you
to recursively grab and build every module composed within it.

However, modules that contain a <repo> tag, and then have children
underneath also containing <repo> tags only have the very base <repo>
tag working (if I coded it right ;)

The reasoning for this is to allow module groups where you can build the
entire module, or given subsets of it (e.g. Calligra allows this from
what I can tell, you can build Calligra or assuming you've met the
dependencies, Krita).

If a module has no direct <repo> tag, but includes modules or projects
or whatever that each have their own <repo>, then everything should be
recursively built.

kdesrc-build obeys the <active> tag, so modules that claim not to be
active will not be built by kdesrc-build (at this point, even if
directly passed on the command line, although that may change later).

I'm super-tired and won't have time to test throughout much of this
week, so I've put it in a branch. Feel free to test yourself if you're
interested though!

I'd like to thank Allen Winter who contributed the core XML parsing
code, it was a big boost to getting something working. :)