[Dev] new build infrastructure
Andi Vajda
vajda at osafoundation.org
Fri Mar 26 13:29:05 PST 2004
Chandler is a python project that includes and leverages a number of other
open source projects. At this time, that number is 16 and is growing.
Until now we have been including the sources of these projects in our own CVS
repository by 'cvs import'ing them. We've also had to modify them in subtle
ways to integrate them with our build:
This has had several drawbacks:
- our CVS repository is huge
- cvs import is a rather clumsy tool
- everytime we upgrade to a new revision or release it's a headache
determinining if, how and where our changes still apply
- we're essentially maintaining our own forks for these projects
In an effort to streamline this we're considering moving to a new build
infrastructure for managing our dependencies on third party open source
projects used by Chandler:
- When our changes are limited, which is the case with all of systems we
depend on but one, wxPython, we maintain our changes to them in patch
files and we don't import their sources into our CVS tree anymore.
- We supply one downloadable prebuilt release and debug binary archives for
them built for Linux (Red Hat 8 at the moment), Mac OS X (10.3.x) and
Windows (win2k/xp).
- For those who wish to build their own binaries we also provide a separate
tree in our CVS repository that contains all our build files and patches,
and a downloadable source archive to be used with this tree.
This new infrastructure is now available for testing and feedback.
To checkout chandler sources and run them with prebuilt binaries:
- mkdir -p osaf/chandler
- cd osaf
- cvs -d :pserver:<cvslogin>@cvs.osafoundation.org co -d hardhat hardhat
- cd chandler
- cvs -d :pserver:<cvslogin>@cvs.osafoundation.org co -d Chandler osaf/chandler/Chandler
- curl -O http://builds.osafoundation.org/www/docs/external/<os>/release-<version>.tar.gz
where <os> is one of linux, macosx, windows
where <version> is 0.3-1
- tar xvzf release-<version>.tar.gz
- cd Chandler
- ../../hardhat/hardhat.py -b
- cd repository
- ../../../hardhat/hardhat.py -b
- cd ..
- ../release/RunRelease -stderr -create
To checkout chandler sources and build the third party binaries yourself:
- mkdir -p osaf/chandler
- cd osaf
- cvs -d :pserver:<cvslogin>@cvs.osafoundation.org co -d hardhat hardhat
- cd chandler
- cvs -d :pserver:<cvslogin>@cvs.osafoundation.org co -d Chandler osaf/chandler/Chandler
- cd ..
- cvs -d :pserver:<cvslogin>@cvs.osafoundation.org co -d external external
- cd external
read the README file there for instructions on requirements and env vars
- make expand
this downloads the sources from our server and installs them into the
tree you just checked out
- make
- make binaries
if it all worked, you end up with release-0.3-1.tar.gz
- cd ../chandler
- tar xvzf release-<version>.tar.gz
- cd Chandler
- ../../hardhat/hardhat.py -b
- cd repository
- ../../../hardhat/hardhat.py -b
- cd ..
- ../release/RunRelease -stderr -create
Markie, our new release engineer may already have automated some of these
steps. Feel free to contact him for more info: markie at osafoundation.org.
If you have questions or find problems, feel free to contact him (or me).
Thanks for your feedback !
Andi..
More information about the Dev
mailing list