GNOME Bugzilla – Bug 691394
jhbuild doesn't know about xml or python module sysdeps
Last modified: 2015-01-06 19:46:26 UTC
$ jhbuild build gtk-doc configure: error: could not find DocBook XML DTD V4.3 in XML catalog *** Error during phase configure of gtk-doc: ########## Error running ./autogen.sh --prefix /opt/gnome --libdir '/opt/gnome/lib' --disable-static --disable-gtk-doc *** [4/4] ------------- [root@localhost SPECS]# rpmbuild -ba gtk-doc.spec error: Failed build dependencies: docbook-utils is needed by gtk-doc-1.18-3.fc18.noarch jade is needed by gtk-doc-1.18-3.fc18.noarch docbook-style-xsl is needed by gtk-doc-1.18-3.fc18.noarch scrollkeeper is needed by gtk-doc-1.18-3.fc18.noarch gnome-doc-utils is needed by gtk-doc-1.18-3.fc18.noarch source-highlight is needed by gtk-doc-1.18-3.fc18.noarch # yum install docbook-utils jade docbook-style-xsl scrollkeeper gnome-doc-utils source-highlight After installing the above: (success with jbuild build gtk-doc) ... /home/rizvan/.local/bin/install-check -m 644 gtk-doc.cat '/opt/gnome/_jhbuild/root-gtk-doc/opt/gnome/share/sgml/gtk-doc' make[2]: Leaving directory `/home/rizvan/checkout/gnome/gtk-doc' make[1]: Leaving directory `/home/rizvan/checkout/gnome/gtk-doc' I: Moving temporary DESTDIR u'/opt/gnome/_jhbuild/root-gtk-doc' into build prefix I: Install complete: 55 files copied *** success *** [4/4]
Also hit this with a clean install of fedora 20, installing docbook-dtds and docbooks style-xsl fixed my problems. Do these need to be made into system deps?
Yeah, gtk-doc.spec has all the dependencies; yum-builddep gtk-doc.spec will download them. I stopped using jhbuild, instead I use fedora rawhide 21 to test gnome 3.12.
The problem here is that we can't add the sysdep because jhbuild doesn't know about how to handle these types of sysdeps.
Created attachment 292721 [details] [review] refactor sysdep uninstalled list handling a bit Instead of collecting uninstall sysdeps into two lists (one for pkgconfig and one for filenames) use just one list along with a 'dep_type' field. This lets us send the list into the backend modules without converting C includes and path programs into absolute filenames. Right now we have a convenience function in the backend that implements the same logic as before, but this can be improved in the future. This will also allow for easier addition of new types of sysdeps.
Created attachment 292722 [details] [review] sysdeps: support for 'xml' and 'python2' sysdeps Add support for two new types of system dependencies. An 'xml' dependency names a uri that must exist in the local xml catalog. We discover the path of the xml catalog using the same logic that gtk-doc uses (which is appropriate since gtk-doc is the only program requiring xml depends at the moment). A 'python2' dependency names a python module that should be available for use with 'import' in python 2. There is not currently support in any of the 'sysdep --install' backends for installing these sysdeps if they are missing, but at least now we can report them as missing instead of just waiting for the build to fail.
if the patches still apply, it would be nice to push them. Right now in gnome-sysdeps-3.16.modules we use this check for python-rdflib <systemmodule id="rdflib"> <branch repo="system"/> <systemdependencies> <dep type="path" name="rdf2dot"/> </systemdependencies> </systemmodule> and it fails for ubuntu as instead of rdf2dot the ubuntu pckage ships rdfpipe, which in turn the fedora package lacks. Neither of these binaries are actually needed.
I incorrectly told you that Fedora does have rdfpipe, but it does. I changed the moduleset to look for that instead. That heuristic is still the best approach for now, since it can actually install the missing package.
Created attachment 293684 [details] [review] refactor sysdep uninstalled list handling a bit The previous iteration of this patch contained some errors.
Created attachment 293688 [details] [review] sysdeps: support for 'xml' and 'python2' sysdeps A fix here too.
Attachment 293684 [details] pushed as e84de42 - refactor sysdep uninstalled list handling a bit Attachment 293688 [details] pushed as cb76d68 - sysdeps: support for 'xml' and 'python2' sysdeps