GNOME Bugzilla – Bug 326376
Checking out from CVS repositories using CVSROOT/modules fail
Last modified: 2006-05-15 05:26:17 UTC
I'm trying to build the library pwlib so I've added an entry in one of the modulesets for it. When jhbuild tries to checkout it, the following happens: cvs -z3 -q -d :pserver:anonymous@cvs.sourceforge.net:/cvsroot/openh323 checkout -P -A ptlib_unix ... *** error during stage checkout of ptlib_unix: could not update module *** [1/1] The problem is that ptlib_unix is a "virtual module" specified in CVSROOT/modules consisting of some files in the pwlib directory. So the directory that the checkout creates is named "pwlib" and not "ptlib_unix" like jhbuild expect. I think it would be very useful if jhbuild could deal with this case. Maybe by parsing CVSROOT/modules or by checking which directories exist before and compare it to which exist after or by allowing you to specify what the checked out directory will be called in the modules file. Using the checkoutdir attribute (so that you get the -d option) doesn't work either because that only fetches the files inside the pwlib dir.
This sounds a lot easier to fix from the openh323 end.
Will look at supporting this when the moduletype refactor is complete. Probably use checkoutdir plus some flag saying not to use "-d" with checkout.
Okay, I've added support for this to jhbuild/versioncontrol/cvs.py. It should be possible to do a module definition like: <autotools id="pwlib"> <branch repo="openh323" module="ptlib_unix" checkoutdir="pwlib" override-checkoutdir="no" /> </autotools> There is also a update-new-dirs="no" attribute you can use to prevent jhbuild from passing the "-d" arg to "cvs update", which would prevent it from checking out the stuff that "checkout ptlib_unix" skipped.