[vsipl++] [patch] Source configuration for package.py

Jules Bergmann jules at codesourcery.com
Thu Apr 19 21:28:43 UTC 2007


> Jules,
> 
> I have a couple of high-level questions:
> 
> 1) Why do you keep the source configuration in a new file, instead of
>    integrating it into the existing 'config' machinery ?

I think merging the two would be a good idea, however because of 
orthogonality (the choice of source modules is mostly independent of how 
the binary packages are built) and ignorance of python, I have them 
separated right now.

Is there (and there must be, it is python!) a good way to include one 
configure file from another?

That would allow the 1.3.1 commercial config to be:

	cfg.svpp_dir='csl/vpp/branches/1.3'
	cfg.fftw_dir='csl/fftw-commercial/trunk'
	cfg.patches=['docbook.diff']
	include standard_config

and the GPL config to be

	cfg.svpp_dir='csl/vpp/branches/1.3'
	cfg.fftw_dir='csl/fftw/trunk'
	cfg.patches=['docbook.diff']
	include standard_config

Where 'standard_config' is the current 'config' file.



> 
> 2) Why do we apply patches to a fftw working copy, as opposed to keeping
>    them merged in the repository ? (why don't we use a branch for that ?)

Are you asking about the 'cfg.patches'?

That isn't necessarily for FFTW.  In putting out the past releases, I've 
found that prior to getting everything just right, there are usually a 
small number of changes necessary.  Rather than checking in each change 
individually and starting a new build, I collect them up in a patch that 
is applied to the checkout.  Once everything is in order, that patch 
gets checked in so the final build is from a clean checkout.

So ideally for the final package, the patches list would be empty.

However ... the patch mechanism also lets us work around things like the 
font size issue in docbook.  That is how it is being used above.

> 
> 3) How is the fftw working copy combined with the vpp working copy after
>    the checkout ? (sorry if that is obvious from the code, I couldn't find
>    the related code)

Good question.  We've designed our build system to pretty much use a 
stock FFTW source package without modification.  The FFTW working copy 
is placed in the VSIPL++ working copy's vendor/fftw directory.  That's 
it!  Sort of a manual external.

				-- Jules

-- 
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705



More information about the vsipl++ mailing list