This script creates a native package from a non-NMI VDT package. It automatically creates a defs file, a cmdfile, a native.conf file, NMI input files, and an NMI remote_task script. The syntax for calling it is simply
and it will create PACKAGE-Native, and put the results into that.
Don't use this for VDT packages which are already NMI builds; those should just be modified.
There is a separate page that describes the format and use of the “native.conf” files.
The NMI cmdfile should have an extra field,
specifies the name of the RPM file to move into the repository. For
Fetch-CRL-Native, this is:
(Remember, the format of an RPM file is “$NAME-$VERSION-$RELEASE.$ARCH.rpm”).
For NMI input files with
method = ftp, there is a new directive available:
vdt_software. This is simliar to
instead of taking from the current directory, it takes from
/p/vdt/public/html/software. Also, it expands globs.
You willl need to have the following code in the remote build Perl script, most likely in the bundle step:
my $rpm = make_rpm( $tarball );
$tarball should be the file to package up. This assumes the
native package config file is called
native.conf; pass the name
as the second argument if it's called something else.
If you have multiple native packages to create, e.g. for VOMS, you should use
make_rpms instead, like this:
my $rpms = join( " ", make_rpms( $tarball1, "native1.conf", $tarball2, "native2.conf" ) );
This is an empty file inside your package dir (not inside
package/nmi). It makes running scripts that operate on all
native package builds easier.
You can use
native-tools/make-nmi-rpms to run a build. This is
really just a wrapper around
make-vdt. Specify the repository
and the packages you want to build. For example:
native-tools/make-nmi-rpms matyas GPT Globus-Base-Essentials-Native
The RPMs will end up
/p/vdt/public/html/test-nmi-rpm/$repo/$platform, where $repo
is the first argument specified to make-nmi-rpms, and $platform is the NMI
The NMI platform_post step should now create the repo where your RPMs were
written to. If it doesn't, cd into the dir your RPMs are in and run