3c11936b34
- The Verification check only checked that a file that's in SVN is there, which AM would have complained about during make dist, so it's really a pointless check - No need to remove / restore autogen.sh, as AM isn't going to put it in the tarball anyway, and even if it would, this thing would only cause it to fail during make dist. All this step did was erase any changes you had to autogen.sh when you run make_dist_tarball, which really sucks. This commit was SVN r13307.
184 строки
4.5 KiB
Bash
Исполняемый файл
184 строки
4.5 KiB
Bash
Исполняемый файл
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana
|
|
# University Research and Technology
|
|
# Corporation. All rights reserved.
|
|
# Copyright (c) 2004-2005 The University of Tennessee and The University
|
|
# of Tennessee Research Foundation. All rights
|
|
# reserved.
|
|
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
# University of Stuttgart. All rights reserved.
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
# All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
#
|
|
# Version of auto tools that we want
|
|
#
|
|
|
|
AM_TARGET_VERSION=1.9.6
|
|
AC_TARGET_VERSION=2.59
|
|
LT_TARGET_VERSION=2.1a
|
|
|
|
#
|
|
# First things first -- check that the auto versions that we have are
|
|
# the ones that we want.
|
|
#
|
|
|
|
check_gnu_version() {
|
|
prog="$1"
|
|
target="$2"
|
|
|
|
ver="`$prog --version | head -n 1 | sed -e's/([^)]*)//g' -e's/[^0-9 .][^ ]* / /g' -e's/ //g'`"
|
|
if test "$ver" != "$target"; then
|
|
cat <<EOF
|
|
ERROR: Program "$prog" does not have the correct/expected version:
|
|
Found: $ver
|
|
|
|
Expected versions:
|
|
Automake: $AM_TARGET_VERSION
|
|
Autoconf: $AC_TARGET_VERSION
|
|
Libtool: $LT_TARGET_VERSION
|
|
|
|
Either change this script to match the found version, or install
|
|
the correct version of the tools.
|
|
EOF
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
#
|
|
# Subroutine to actually make a tarball
|
|
#
|
|
|
|
make_tarball() {
|
|
#
|
|
# Autogen
|
|
#
|
|
echo "*** Running autogen.sh..."
|
|
./autogen.sh 2>&1 | tee auto.out
|
|
if test ! "$?" = "0"; then
|
|
echo "Autogen failed. Aborting"
|
|
exit 1
|
|
fi
|
|
|
|
#
|
|
# Configure
|
|
#
|
|
echo "*** Running configure..."
|
|
./configure --enable-dist 2>&1 | tee config.out
|
|
if test ! "$?" = "0"; then
|
|
echo "Configure failed. Aborting"
|
|
exit 1
|
|
fi
|
|
|
|
#
|
|
# make tarball
|
|
#
|
|
echo "*** Running make distcheck..."
|
|
save_LD=$LD_LIBRARY_PATH
|
|
LD_LIBRARY_PATH=
|
|
make distcheck 2>&1 | tee dist.out
|
|
if test ! "$?" = "0"; then
|
|
echo "Make dist failed. Aborting"
|
|
exit 1
|
|
fi
|
|
LD_LIBRARY_PATH=$save_LD
|
|
|
|
#
|
|
# move
|
|
#
|
|
echo "*** Moving tarballs..."
|
|
mv openmpi-* ..
|
|
|
|
echo "*** All done"
|
|
}
|
|
|
|
#########################################################################
|
|
# main
|
|
#########################################################################
|
|
|
|
echo "*** Checking GNU tools versions..."
|
|
check_gnu_version automake $AM_TARGET_VERSION
|
|
check_gnu_version autoconf $AC_TARGET_VERSION
|
|
check_gnu_version libtool $LT_TARGET_VERSION
|
|
|
|
#
|
|
# Verify that we're in a top Open MPI dir
|
|
#
|
|
echo "*** Checking to ensure in top-level Open MPI directory..."
|
|
if test -f VERSION -a -f configure.ac -a -f config/ompi_setup_cc.m4; then
|
|
happy=1
|
|
else
|
|
echo "Do not appear to be in an Open MPI top directory. Abort!"
|
|
exit 1
|
|
fi
|
|
|
|
#
|
|
# Do svn up and all that
|
|
#
|
|
echo "*** Removing old VERSION files..."
|
|
find . -name VERSION -exec rm -f {} \; -print
|
|
|
|
echo "*** Running svn up..."
|
|
svn up
|
|
if test ! "$?" = "0"; then
|
|
echo "SVN update failed. Aborting"
|
|
exit 1
|
|
fi
|
|
|
|
#
|
|
# Ditch "svn" from all version numbers
|
|
#
|
|
echo "*** Removing svn version numbers..."
|
|
svn_r="r`svnversion .`"
|
|
version_files="`find . -name VERSION`"
|
|
for file in $version_files; do
|
|
echo " - $file"
|
|
sed -e 's/^want_svn=.*/want_svn=0/' \
|
|
-e 's/^svn_r=.*/'svn_r=$svn_r/ $file > $file.new
|
|
cp -f $file.new $file
|
|
rm $file.new
|
|
done
|
|
|
|
#
|
|
# Make 2 tarballs:
|
|
#
|
|
# - one with the greek
|
|
# - one without the greek
|
|
#
|
|
# unless the user specifically said --greekonly, then only make the
|
|
# greek tarball. Making both tarballs at once allows us to guarantee
|
|
# to have two tarballs -- one greek and one not -- that have exactly
|
|
# the same SVN r number (as opposed to, for example, running this
|
|
# script to make a greek tarball, then running it again to make a
|
|
# non-greek tarball -- there is a race condition that someone could
|
|
# commit in the meantime and change the SVN r number in the 2nd
|
|
# tarball)
|
|
#
|
|
|
|
# First, make greek tarball
|
|
|
|
echo "*** Making greek tarball"
|
|
make_tarball
|
|
|
|
# Now if ! --greekonly, make the non-greek tarball
|
|
|
|
if test "$1" != "-greekonly" -a "$1" != "--greekonly"; then
|
|
echo "*** REMOVING ALL GREEK FROM VERSION NUMBERS!!"
|
|
for file in $version_files; do
|
|
echo " - $file"
|
|
sed -e 's/^greek=.*/greek=/' $file > $file.new
|
|
cp -f $file.new $file
|
|
rm $file.new
|
|
done
|
|
echo "Making non-greek tarball"
|
|
make_tarball
|
|
fi
|
|
|