[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.0.3-18-gc20d855
mysql vizuser
noreply at mpich.org
Thu Apr 11 21:31:44 CDT 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "MPICH primary repository".
The branch, master has been updated
via c20d8550c61f6e08d07bdb8719f56a6c239570d8 (commit)
from 38fb9ec634e018b373513d0014029c3ead06ed4e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://git.mpich.org/mpich.git/commitdiff/c20d8550c61f6e08d07bdb8719f56a6c239570d8
commit c20d8550c61f6e08d07bdb8719f56a6c239570d8
Author: Pavan Balaji <balaji at mcs.anl.gov>
Date: Tue Apr 9 06:56:17 2013 -0500
Improvements to the release.pl script.
1. The release.pl creation script now takes a remote git repository as
an argument instead of a local clone. This allows this script to be
standalone and not rely on the copy used by the nightly scripts.
2. Allow release.pl to abort if no recent commits have been pushed to
the repository.
3. Simultaneously create both the main tarball as well as the hydra
tarball.
4. Renames of some arguments to better match what they are referring
to.
Reviewed by goodell.
diff --git a/maint/release.pl b/maint/release.pl
index 6b9db94..be42bac 100755
--- a/maint/release.pl
+++ b/maint/release.pl
@@ -19,17 +19,18 @@ use Getopt::Long;
use File::Temp qw( tempdir );
my $arg = 0;
-my $source = "";
-my $psource = "";
+my $branch = "";
+my $pbranch = "";
my $version = "";
my $append_commit_id;
+my $since = "";
my $root = cwd();
my $with_autoconf = "";
my $with_automake = "";
-my $git_repo_path = ".";
+my $remote_git_repo = "";
# Default to MPICH
-my $pack = "mpich";
+my $prefix = "mpich";
my $logfile = "release.log";
@@ -38,19 +39,14 @@ sub usage
print "Usage: $0 [OPTIONS]\n\n";
print "OPTIONS:\n";
- print "\t--source git tree-ish specifying source to be packaged\n";
- print "\t--psource git tree-ish for the previous version source for ABI compliance (required)\n";
+ print "\t--branch git branch to be packaged (required)\n";
+ print "\t--pbranch git previous version branch for ABI compliance (required)\n";
+ print "\t--version tarball version (required)\n";
+ print "\t--remote-git-repo path to root of the git repository (required)\n";
- # what package we are creating
- print "\t--package package to create (optional)\n";
-
- # version string associated with the tarball
- print "\t--version tarball version (required)\n";
-
- # append a valid git commit ID (SHA1 or git-describe output)
+ print "\t--prefix package prefix to use (optional)\n";
print "\t--append-commit-id append git commit ID (optional)\n";
-
- print "\t--git-repository path to root of the git repository\n";
+ print "\t--newer-than date (optional)\n";
print "\n";
@@ -139,14 +135,15 @@ sub run_cmd
}
GetOptions(
- "source=s" => \$source,
- "psource=s" => \$psource,
- "package:s" => \$pack,
+ "branch=s" => \$branch,
+ "pbranch=s" => \$pbranch,
+ "prefix:s" => \$prefix,
"version=s" => \$version,
"append-commit-id!" => \$append_commit_id,
+ "newer-than=s" => \$since,
"with-autoconf" => \$with_autoconf,
"with-automake" => \$with_automake,
- "git-repository=s" => \$git_repo_path,
+ "remote-git-repo=s" => \$remote_git_repo,
"help" => \&usage,
# old deprecated args, retained with usage() to help catch non-updated cron
@@ -158,7 +155,7 @@ if (scalar(@ARGV) != 0) {
usage();
}
-if (!$source || !$version || !$psource) {
+if (!$branch || !$version || !$pbranch) {
usage();
}
@@ -178,42 +175,61 @@ check_autotools_version("automake", "1.12.4");
check_autotools_version("libtool", "2.4.2");
print("\n");
-# chdirs to $git_repo_path if valid
-check_git_repo($git_repo_path);
+
+my $tdir = tempdir(CLEANUP => 1);
+my $local_git_clone = "${tdir}/${prefix}-clone";
+
+
+# clone git repo
+print("===> Cloning git repo... ");
+run_cmd("git clone ${remote_git_repo} ${local_git_clone}");
+print("done\n");
+
+# chdirs to $local_git_clone if valid
+check_git_repo($local_git_clone);
print("\n");
-my $current_ver = `git show ${source}:maint/version.m4 | grep MPICH_VERSION_m4 | \
+if ($since) {
+ # If there have been no commits in the past some amount of time,
+ # do not create a tarball
+ if (!(`git log --since='$since' ${branch}`)) {
+ chdir("${tdir}/..");
+ print "No recent commits found... aborting\n";
+ exit;
+ }
+}
+
+my $current_ver = `git show ${branch}:maint/version.m4 | grep MPICH_VERSION_m4 | \
sed -e 's/^.*\\[MPICH_VERSION_m4\\],\\[\\(.*\\)\\].*/\\1/g'`;
if ("$current_ver" ne "$version\n") {
print("\tWARNING: Version mismatch\n\n");
}
-if ($psource) {
+if ($pbranch) {
# Check diff
- my $d = `git diff ${psource}:src/include/mpi.h.in ${source}:src/include/mpi.h.in`;
- $d .= `git diff ${psource}:src/binding ${source}:src/binding`;
+ my $d = `git diff ${pbranch}:src/include/mpi.h.in ${branch}:src/include/mpi.h.in`;
+ $d .= `git diff ${pbranch}:src/binding ${branch}:src/binding`;
if ("$d" ne "") {
print("\tWARNING: ABI mismatch\n\n");
}
}
if ($append_commit_id) {
- my $desc = `git describe --always ${source}`;
+ my $desc = `git describe --always ${branch}`;
chomp $desc;
$version .= "-${desc}";
}
-my $tdir = tempdir(CLEANUP => 1);
+my $expdir = "${tdir}/${prefix}-${version}";
# Clean up the log file
system("rm -f ${root}/$logfile");
-# Check out the appropriate source
-print("===> Exporting $pack source from git... ");
-run_cmd("rm -rf ${pack}-${version}");
-my $expdir = "${tdir}/${pack}-${version}";
+# Check out the appropriate branch
+print("===> Exporting code from git... ");
+run_cmd("rm -rf ${expdir}");
run_cmd("mkdir -p ${expdir}");
-run_cmd("git archive ${source} --prefix='${pack}-${version}/' | tar -x -C $tdir");
+run_cmd("git archive ${branch} --prefix='${prefix}-${version}/' | tar -x -C $tdir");
print("done\n");
print("===> Create release date and version information... ");
@@ -226,8 +242,8 @@ system(qq(perl -p -i -e 's/\\[MPICH_RELEASE_DATE_m4\\],\\[unreleased development
# above modifications
print("done\n");
-# Remove packages that are not being released
-print("===> Removing packages that are not being released... ");
+# Remove content that is not being released
+print("===> Removing content that is not being released... ");
chdir($expdir);
run_cmd("rm -rf doc/notes src/pm/mpd/Zeroconf.py");
@@ -241,7 +257,7 @@ for my $module (@nem_modules) {
print("done\n");
# Create configure
-print("===> Creating configure in the main package... ");
+print("===> Creating configure in the main codebase... ");
chdir($expdir);
{
my $cmd = "./autogen.sh";
@@ -252,7 +268,7 @@ chdir($expdir);
print("done\n");
# Disable unnecessary tests in the release tarball
-print("===> Disabling unnecessary tests in the main package... ");
+print("===> Disabling unnecessary tests in the main codebase... ");
chdir($expdir);
run_cmd("perl -p -i -e 's/^\@perfdir\@\$/#\@perfdir\@/' test/mpi/testlist.in");
run_cmd("perl -p -i -e 's/^large_message /#large_message /' test/mpi/pt2pt/testlist");
@@ -260,18 +276,18 @@ run_cmd("perl -p -i -e 's/^large-count /#large-count /' test/mpi/datatype/testli
print("done\n");
# Remove unnecessary files
-print("===> Removing unnecessary files in the main package... ");
+print("===> Removing unnecessary files in the main codebase... ");
chdir($expdir);
run_cmd("rm -rf README.vin maint/config.log maint/config.status unusederr.txt");
run_cmd("find . -name autom4te.cache | xargs rm -rf");
print("done\n");
# Get docs
-print("===> Creating secondary package for the docs... ");
+print("===> Creating secondary codebase for the docs... ");
run_cmd("cp -a ${expdir} ${expdir}-tmp");
print("done\n");
-print("===> Configuring and making the secondary package... ");
+print("===> Configuring and making the secondary codebase... ");
chdir("${expdir}-tmp");
{
my $cmd = "./autogen.sh";
@@ -302,12 +318,18 @@ run_cmd("make");
run_cmd("rm -f users-guide.blg users-guide.toc users-guide.aux users-guide.bbl users-guide.log users-guide.dvi");
print("done\n");
-# Create the tarball
-print("===> Creating the final ${pack} tarball... ");
+# Create the main tarball
+print("===> Creating the final ${prefix} tarball... ");
chdir("${tdir}");
-run_cmd("tar -czvf ${pack}-${version}.tar.gz ${pack}-${version}");
-run_cmd("rm -rf ${expdir}");
-run_cmd("cp -a ${pack}-${version}.tar.gz ${root}/");
+run_cmd("tar -czvf ${prefix}-${version}.tar.gz ${prefix}-${version}");
+run_cmd("cp -a ${prefix}-${version}.tar.gz ${root}/");
+print("done\n");
+
+# Create the hydra tarball
+print("===> Creating the final hydra tarball... ");
+run_cmd("cp -a ${expdir}/src/pm/hydra hydra-${version}");
+run_cmd("tar -czvf hydra-${version}.tar.gz hydra-${version}");
+run_cmd("cp -a hydra-${version}.tar.gz ${root}/");
print("done\n\n");
# make sure we are outside of the tempdir so that the CLEANUP logic can run
-----------------------------------------------------------------------
Summary of changes:
maint/release.pl | 112 ++++++++++++++++++++++++++++++++----------------------
1 files changed, 67 insertions(+), 45 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list