NAME

gpt-bundle - Creates binary or source bundles from an installation or a collection of source packages.


SYNOPSIS

gpt-bundle [options] packages

  Options:
     -verbose                       Print copious output
     -help                          Print usage
     -man                           Print man page.
     -version                       Print GPT version.
     -srcdir=PATH                   Directory containing source packages
     -tmpdir=PATH                   Directory used to create binary packages
     -installdir=PATH               Directory containing an installation
     -bn=NAME                       Name of the bundle
     -bv=MAJOR.MINOR                Version of the bundle
     -bs=STABILITY                  Stability of the bundle contents
     -bl=VERSION                    Version Label of the bundle
     -native                        Create bundles of native pkgs (RPMs only).
     -all                           Bundle everything in the package directory..
     -nodeps                        Don't include any dependent packages.
     -nosetups                      Don't include dependent setup packages.
     -template                      Outputs empty Bundle Def XML file. 
     -bundledef=FILE                Outputs XML file with command line values. 
     -exclude=PACKAGE               Don't include PACKAGE in bundle
     -config=FILE                   Use bundle options stored in FILE
     -xml=FILE                      XML bundle description file
     -output=FILE                   Name of the bundle file,
     -rpmprefix=PATH                Absolute path encoded in the RPM.
     -buildnumber=NUMBER            Build number used for pgm_static packages
     -rpmlicense=LABEL              License Label added to the RPM header
     [packages]                     List of packages to be bundled


DESCRIPTION

gpt-bundle Creates binary or source bundles from an installation or a collection of source packages. These bundles can then distributed be installed using gpt-install or gpt-build. A bundle consists of a collection of packages and a XML formatted description file. The DTD for this file is found in $GPT_LOCATION/etc/gpt_bundle.dtd.

The script accepts a list of packages from the command line or from an inputed bundle description file. It expands this list to include all of the packages that the listed packages depend on. It then uses this expanded list to create a new bundle description file which is then added to the collection of packages to form a bundle.

gpt-bundle assumes that all of the packages needed to create a source bundle are found in one subdirectory identified by the -srcdir switch.

gpt-bundle assumes that all of the packages need to create a binary bundle are installed in a location identified by the -installdir flag or $GLOBUS_LOCATION.

The list of packages that can be entered from the command line are of the form NAME-FLAVOR-PACKAGE_TYPE. The wildcard character '*' can also be used.


OPTIONS

-srcdir=PATH
Specifies where the directory containing your source packages is. If this is used, a source bundle will be created. Note that this flag is required to create source bundles.

-installdir=PATH
Specifies where the installation used for creating binary bundles is. $GLOBUS_LOCATION is the default.

-xml=FILE
Specifies the input bundle description file. A new file will be generated using the contents of this file and included in the bundle.

-bundlename=NAME
The name of the bundle. This name is stored in the bundle description file and used as part of the bundle filename if -output is not specified.

-bundleversion=MAJOR.MINOR
This is the bundle version number. It is stored in the bundle description file and used for bundle updates. It is also used for the bundle filename if -bundlelabel is not specified.

-bundlelabel=VERSION
This is the bundle version label. It is stored in the bundle description file as a string and so can accomodate any versioning scheme. The label is used in user queries, and as part of the bundle filename.

-bundlestability=STABILITY
This is the bundle version stability. It is a field that is used to indicate the stability of this version of the bundle. The field can have values of experimental, alpha, beta, or production. The default vaule is experimental. The field is stored in the bundle description file and used for user queries.

-tmpdir=PATH
Specifies the where the directory is that gpt-bundle should use to store generated binary packages.

-all
Tells gpt-bundle to bundle all of the packages in the source package directory or installation.

-native
Tells gpt-bundle to also bundle packages that are in the native format of the operating system. Presently this only works for RPMS on linux. gpt-bundle will output two bundle giving the native bundle a platform specific extension such as -rpm.

-nodeps
Tells gpt-bundle to only include the packages specified--do not check for or include dependencies.

-nosetups
Tells gpt-bundle to exclude any packages that are pulled in by a setup dependencies. Note that setup packages that are listed on the command line will still be added to the bundle..

-exclude=package1,package2,...
This option excludes the listed packages from the created bundle. It can be specified multiple times with the final listing used being an aggregate of all the listed packages. This option can be abbreviated as '-exclude=package1,package2,...'.

-output=FILE
This is an alternative way to specify the bundle name. The output file is put in the directory from which gpt-bundle was invoked if no path was given, in a directory relative it if a relative path was given, or in the absolute location, if given.

-template
Creates an empty Bundle XML that can be modified and used to create a new bundle.

-bundledef=FILE
Creates an XML file with name equal to FILE.gpt-bundle.xml. This file will contain a GPT Bundle definition with values set to those passed in on the command line.

-rpmprefix=<path_to_installation>
This should be set to the path to your GLOBUS_LOCATION. GPT will use a value of ``/usr/grid'' if this option is not specified.

-rpmlicense=<label>
Provides an alternate copyright label for the rpms. The default is whatever GPT was configured with.

-help
Print a brief help message and exits.

-buildnumber=<number>
Build number used to version static packages.

-man
Prints the manual page and exits.

-version
Prints the version of GPT and exits.


Bundle Definition File Overrides

The -bundle* switches can be used to override content in the bundle definition file inputted by the -xml switch. The relationship between the switches and the bundle definition file contents is shown in the following table:

  I<Switch>         I<Element>         I<Attribute>
  -bundlename       GPTBundleData      Name
  -bundleversion    BundleReleaseInfo  Major, Minor
  -bundlelabel      BundleReleaseInfo  VersionLabel
  -bundlestability  VersionStability   Release


Bundle Names and Versions

gpt-bundle encourages a naming convention for bundle filenames. The convention can be overriden using the -output switch. The convention is as follows:

  NAME-VERSION-src_bundle.tar.gz for source bundles
  NAME-VERSION-ARCH-gpt.tar.gz for gpt binary bundles. ARCH is the platform ID.
  NAME-VERSION-ARCH-rpm.tar.gz for rpm binary bundles.

NAME comes from the -bundlename switch. VERSION comes from the -bundlelabel switch. If this switch is not used then VERSION comes from the -bundleversion switch.

Unless overrided by the switches previously mentioned, the values for can also be extracted from the bundle definition file inputted by the -xml switch.


SEE ALSO

gpt-build(1) gpt-install(1) gpt-pkg(1)


AUTHOR

Michael Bletzinger <mbletzin@ncsa.uiuc.edu>, Eric Blau <blau@mcs.anl.gov> and Patrick Duda <pduda@ncsa.uiuc.edu>