After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 691394 - jhbuild doesn't know about xml or python module sysdeps
jhbuild doesn't know about xml or python module sysdeps
Status: RESOLVED FIXED
Product: jhbuild
Classification: Infrastructure
Component: general
3.10.x
Other All
: Normal normal
: ---
Assigned To: Jhbuild maintainers
Jhbuild QA
Depends on: 741537
Blocks: 741538 742266
 
 
Reported: 2013-01-09 10:54 UTC by Asif Ali Rizvan
Modified: 2015-01-06 19:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
refactor sysdep uninstalled list handling a bit (7.70 KB, patch)
2014-12-15 00:49 UTC, Allison Karlitskaya (desrt)
none Details | Review
sysdeps: support for 'xml' and 'python2' sysdeps (2.17 KB, patch)
2014-12-15 00:50 UTC, Allison Karlitskaya (desrt)
none Details | Review
refactor sysdep uninstalled list handling a bit (7.65 KB, patch)
2015-01-04 01:01 UTC, Allison Karlitskaya (desrt)
committed Details | Review
sysdeps: support for 'xml' and 'python2' sysdeps (2.16 KB, patch)
2015-01-04 01:31 UTC, Allison Karlitskaya (desrt)
committed Details | Review

Description Asif Ali Rizvan 2013-01-09 10:54:51 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]
Comment 1 Simon Feltman 2014-03-12 04:58:53 UTC
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?
Comment 2 Asif Ali Rizvan 2014-03-12 05:05:26 UTC
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.
Comment 3 Allison Karlitskaya (desrt) 2014-12-15 00:49:38 UTC
The problem here is that we can't add the sysdep because jhbuild doesn't know about how to handle these types of sysdeps.
Comment 4 Allison Karlitskaya (desrt) 2014-12-15 00:49:59 UTC
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.
Comment 5 Allison Karlitskaya (desrt) 2014-12-15 00:50:02 UTC
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.
Comment 6 Stefan Sauer (gstreamer, gtkdoc dev) 2014-12-29 20:20:15 UTC
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.
Comment 7 Michael Catanzaro 2014-12-29 20:32:33 UTC
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.
Comment 8 Allison Karlitskaya (desrt) 2015-01-04 01:01:13 UTC
Created attachment 293684 [details] [review]
refactor sysdep uninstalled list handling a bit

The previous iteration of this patch contained some errors.
Comment 9 Allison Karlitskaya (desrt) 2015-01-04 01:31:59 UTC
Created attachment 293688 [details] [review]
sysdeps: support for 'xml' and 'python2' sysdeps

A fix here too.
Comment 10 Allison Karlitskaya (desrt) 2015-01-06 19:46:13 UTC
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