#!/usr/bin/env perl
-
#
-# the default source directory and source package is 'gsi-openssh'. Change
-# at will to suit your needs.
+# make_gpt_dist - adapted from GPT's make_gpt_dist script
+#
+# Create a GPT source package after deriving the necessary build files.
#
-
-$srcdir = "gsi-openssh";
-$srcpkg = "gsi-openssh";
#
-# uncomment when we're more mature
+# You can define the source directory and package names to suit your needs. It's
+# important to remember that GPT needs the source package name to be similar to
+# the name of the package as defined in the package metadata (pkg_data_src.gpt).
#
-#for my $subdir ('packaging_tools', 'package_management', 'archive_compress') {
-# chdir "$subdir" or die "Unable to cd to $subdir: $?";
-# if(-e "config.cache")
-# {
-# #config.cache is tested for because it is generated when ./configure is executed
-# #if config.cache is present, then a make distclean must be performed in order
-# #to remove the cache. if a make distclean is run and config.cache is not
-# #present, then this script will recieve a zero from the system and error.
-#
-# system("make distclean");
-# }
+# Failing to do this correctly will not affect bundle-creation, but will affect
+# globus-build's ability to select and untar the correct package corresponding
+# to the name gpt-bundle gives in its 'packaging_list'.
#
-# chdir ".." or die "Unable to cd to packaging: $?";
-#}
+
+$srcdirname = "gsi_openssh-3.1-src";
+$srcpkgname = "gsi_openssh-3.1-src";
#
# uncomment when we've got a better place to get the current version from
#
# test to make sure we're okay to
-# o create/use the $srcdir directories
+# o create/use the $srcdirname directories
# o create the source package
#
-if ( (!defined($srcdir)) || length($srcdir) le 0 )
+if ( (!defined($srcdirname)) || length($srcdirname) le 0 )
{
- printf("\$srcdir must be defined to a usable value!\n");
+ printf("\$srcdirname must be defined to a usable value!\n");
die;
}
-if ( (!defined($srcpkg)) || length($srcpkg) le 0 )
+if ( (!defined($srcpkgname)) || length($srcpkgname) le 0 )
{
- printf("\$srcpkg must be defined to a usable value!\n");
+ printf("\$srcpkgname must be defined to a usable value!\n");
die;
}
-if ( -e "../$srcdir" )
+if ( -e "../$srcdirname" )
{
- printf("found existing '../$srcdir'... please remove before continuing\n");
+ printf("found existing '../$srcdirname'... please remove before continuing\n");
die;
}
-if ( -e "./$srcdir" )
+if ( -e "./$srcdirname" )
{
- printf("found existing './$srcdir'... please remove before continuing\n");
+ printf("found existing './$srcdirname'... please remove before continuing\n");
die;
}
-if ( -e "./$srcpkg.tar" )
+if ( -e "./$srcpkgname.tar" )
{
- printf("found existing './$srcpkg.tar'... please remove before continuing\n");
+ printf("found existing './$srcpkgname.tar'... please remove before continuing\n");
die;
}
-if ( -e "./$srcpkg.tar.gz" )
+if ( -e "./$srcpkgname.tar.gz" )
{
- printf("found existing './$srcpkg.tar.gz'... please remove before continuing\n");
+ printf("found existing './$srcpkgname.tar.gz'... please remove before continuing\n");
die;
}
#
printf("copying files into source directory...\n");
-system("mkdir ../$srcdir")==0 or die "Unable to create ../$srcdir: $?";
-system("cp -rf * ../$srcdir")==0 or die "Unable to copy . into ../$srcdir: $?";
-system("mv ../$srcdir ./$srcdir")==0 or die "Unable to move $srcdir from ../ to ./: $?";
+system("mkdir ../$srcdirname")==0 or die "Unable to create ../$srcdirname: $?";
+system("cp -rf * ../$srcdirname")==0 or die "Unable to copy . into ../$srcdirname: $?";
+system("mv ../$srcdirname ./$srcdirname")==0 or die "Unable to move $srcdirname from ../ to ./: $?";
-chdir("./$srcdir");
+chdir("./$srcdirname");
#
# remove any 'unnecessary' files from the source directory.
printf("pruning source directory of extraneous files...\n");
system("rm -rf `find . -name CVS -print`")==0 or die "Unable to remove cvs directories: $?";
-system("rm -f ./make_gpt_dist")==0 or die "Unable to remove gpt script: $?";
-system("rm -rf ./gpt")==0 or die "Unable to remove gpt directory: $?";
#
-# run the standard development tools to get the necessary derived files.
+# Originally, we were going to include the MD5 sums in the Announcement
+# file. Among other virtues, this complicated the process of distributing
+# the Announcement to users since it would get included in the package
+# itself. We decided to keep the announcement in the package, and got
+# around the Catch-22 by not including MD5 sums in that file.
+#
+# So, keep this line commented!:
+# system("rm -f Announcement.txt")==0 or die "Unable to remove Announcement.txt: $?";
#
-printf("running autoheader...\n");
-system("autoheader")==0 or die "Could not run autoheader: $?";
+#
+# run the standard development tools to get the necessary derived files.
+#
-printf("running autoconf...\n");
-system("autoconf")==0 or die "Could not run autoheader: $?";
+printf("running make distprep...\n");
+system("make -f Makefile.in distprep")==0 or die "Could not run make distprep: $?";
chdir("../");
# create the source package from the source directory.
#
-printf("creating source tarball '$srcpkg.tar.gz'...\n");
-system("tar -cf ./$srcpkg.tar ./$srcdir")==0 or die "Unable to create $srcpkg.tar: $?";
-system("gzip -f ./$srcpkg.tar")==0 or die "Unable to gzip $srcpkg.tar: $?";
+printf("creating source tarball '$srcpkgname.tar.gz'...\n");
+system("tar -cf ./$srcpkgname.tar ./$srcdirname")==0 or die "Unable to create $srcpkgname.tar: $?";
+system("gzip -f ./$srcpkgname.tar")==0 or die "Unable to gzip $srcpkgname.tar: $?";
printf("cleaning up after myself...\n");
-system("rm -rf ./$srcdir")==0 or die "Unable to remove ./$srcdir: $?";
+system("rm -rf ./$srcdirname")==0 or die "Unable to remove ./$srcdirname: $?";
#
# done.