Globus: Accessing the Globus Alliance's Code via CVS
This page contains instructions for experienced developers who want to checkout code directly from CVS that has not yet been released.
For example, a developer has been told "Bug X has been fixed in CVS and will show up in the 5.0.5 release" and the developer wants to try it in CVS to make sure it works as expected before the 5.0.5 release ships.
Globus Toolkit® development releases are available by anonymous CVS. Development releases contain code developed by many sources that has not yet undergone the testing and validation process for a stable release of the Globus Toolkit. Our goal is for the development release to always be in a state that will compile cleanly, but transient problems may occasionally arise. A description of how the Globus Alliance's core development team uses the CVS repository (including details on branches and concurrent development procedures) is available.
As an experienced developer, you should already be subscribed to firstname.lastname@example.org, where porting and development issues are discussed. If not, subscribe by visiting http://dev.globus.org/wiki/Mailing_Lists. To minimize confusion for the majority of subscribers there who do not use CVS, we ask that you preface any comments to email@example.com by stating that you use code from CVS.
Note that there is no implied obligation by the Globus Alliance to provide support or resolve problems that users might encounter with development code. Use of the development release is subject to terms of the Globus Toolkit Public License. Users wishing to contribute bug patches or discuss features should do so through the developers-discuss mailing list.
- Accessing Remote CVS for GT 5.0
- Accessing Remote CVS for GT 4.0
- Accessing Remote CVS for GT 3.2
- Flow for make-packages
- CVS Options
Set your CVSROOT to:
Check out the packaging directory:
cvs co -r <tag> packaging
cvs co -r globus_4_0_branch packaging
If you are checking out
fait_accompli/installer.sh --t2=<tag> --t4=<tag>
(See Specifying tags for information about
This script creates an installer subdirectory which will have a configure script that will create a Makefile. Read the INSTALL file for installation details. It simply involves running:
configure make make install
Alternatively, you may use the
The flow of control in
make-packages.pl is as follows:
|1||Cleanup old build directories.|
|2||Checkout CVS source trees. This step creates one subdirectory of
Build prerequisite tools (like autotools and globus_core).
The autotools prerequisite is installed under
The Grid Packaging Tool
(GPT) prerequisite is installed under
Create GPT packages from CVS subdirectories. This step creates the
|5||Create GPT bundles from packages. This step will create
If you decide to use the make-packages.pl script directly, the following are
various options. The
--man options are
- Checking out anonymously
- Specifying tags
- Turning off steps
- Specifying a subset of code to build
If you specify
--anonymous, the CVS checkout will be anonymous,
otherwise it will use ssh checkouts.
To specify tags, use the following options:
- Specifies tags to use for GT2 and autotools.
- Specifies tags for GT3 and cbindings (that are not included in GT2).
- This will specify tags to use for GT4 (that were not included in GT2 or GT3).
You can also turn off the some of the steps of the
make-packages.pl flow if
you want to skip them:
- Inhibits CVS checkouts/updates
- Does not make GPT packages
- Does not create bundles.
The design intent is for you to be able to start and stop the tool where you
want. For example, you can create source bundles on one machine, then ship
them to another for building. On the second machine, you would use
but then specify
Many times you just want to build what you're working on. The
--trees options are designed to restrict the working set of
Keep the following in mind when using these options:
- The CVS archives are defined in the
%cvs_archiveshash at the top of
- There is a subdirectory of
package-listfile contains a list of packages and their CVS subdirectory.
bundlesfile contains a list of bundles and their constituent packages.
The following are a few examples of using options with the
make-packages.pl --anonymous --bundles=globus-data-management-server --install=/tmp/inst
These options checkout CVS anonymously, then make the
globus-data-management-server bundle and install it into
make-packages.pl --t4=globus_x_y_z --anonymous --skippackage --skipbundle
These options checkout CVS anonymously using the
globus_x_y_z tag and do
not make any packages or bundles. The CVS checkouts will be under
make-packages.pl --anonymous --packages=globus_xio
These options checkout CVS anonymously, then create the
It will be stored in
make-packages.pl -n --bundles=globus-gsi
These options do not update CVS but do make the
globus-gsi bundle. You must
already have CVS checkouts in
source-trees to use this option.