[Cairo] Making it easier to build Cairo from CVS.
cworth at east.isi.edu
Wed Nov 5 09:44:42 PST 2003
On Nov 5, James Henstridge wrote:
> For those interested in an easier way to build cairo from CVS, you might
> want to try out jhbuild.
Thanks James. This should help ease what has historically been a
rather painful process with cairo. I just ran through the
instructions, and after working through a couple snags during jhbuild
installation (noted below), I was able to download and build all cairo
modules with a single "jhbuild build cairo".
> Comments on jhbuild and the setup instructions are welcome.
Here are some of my comments after a very brief look at
jhbuild. Please let me know if there's some jhbuild-specific list
that would be more appropriate for all of this.
1) Is there a good reason to install in $(HOME)/bin by default instead
of say, /usr/local/bin?
2) Is install-check a generic program? Or should it get a name like
3) The "make install" step says "Don't forget to create ~/.jhbuildrc"
but doesn't provide any indication where I might find a sample file
or instructions on how to roll my own.
4) I usually build things as a normal user, and then make install to
/usr/local as root. Could jhbuild be made to operate in a two-user
mode like this somehow? Maybe by cooperating with sudo or
5) I notice that the modulesets have hand-coded dependencies in
them. Is there a way this information could be automatically lifted
from the several *.pc files from the packages themselves?
Maybe this information could be in a file on the CVS server
containing the sources? And then perhaps that file could be
automatically updated when new *.pc.in files were committed or
something like that? I don't know.
6) It seems there should be a separation of jhbuild the tool, and the
configuration data, (modulesets and dependencies) that it acts
upon. That would make it easier to use jhbuild more generally with
other repositories of code.
7) Does jhbuild have anyway to deal with changes in dependencies? For
example cairo->xft should now be cairo->fontconfig,freetype. It
seems it would be nice to have some sort of "jhbuild update" that
refreshes its database of dependencies. Otherwise, I'll have to go
manually cvs update/build/install jhbuild itself --- and that's the
kind of thing I'm trying to get rid of by using jhbuild.
Actually, "jhbuild update" needn't be a separate command. Since
jhbuild already depends on a network connection, I don't see why it
shouldn't always try to refresh its dependency database.
8) I ran "jhbuild build cairo" twice in a row. The second time it
seemed to be doing lots of unnecessary steps, (looked like "make
install" all over the place). This was only really a problem with
fontconfig which has a very slow "make install" step. It would be
nice to eliminate all that.
More information about the cairo