Add a script that simply lets you make a quick tarball - without the lengthy build testing
This commit was SVN r20509.
Этот коммит содержится в:
родитель
390ce219f8
Коммит
29a037123b
204
contrib/dist/make_tarball
поставляемый
Исполняемый файл
204
contrib/dist/make_tarball
поставляемый
Исполняемый файл
@ -0,0 +1,204 @@
|
||||
#!/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 (c) 2008 Cisco Systems, Inc. All rights reserved.
|
||||
# $COPYRIGHT$
|
||||
#
|
||||
# Additional copyrights may follow
|
||||
#
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
#
|
||||
# Version of auto tools that we want
|
||||
#
|
||||
|
||||
M4_TARGET_VERSION=1.4.11
|
||||
AM_TARGET_VERSION=1.10.1
|
||||
AC_TARGET_VERSION=2.63
|
||||
LT_TARGET_VERSION=2.2.6
|
||||
|
||||
#
|
||||
# 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:
|
||||
m4: $M4_TARGET_VERSION
|
||||
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..."
|
||||
rm -f success
|
||||
(./autogen.sh 2>&1 && touch success) | tee auto.out
|
||||
if test ! -f success; then
|
||||
echo "Autogen failed. Aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# Configure
|
||||
#
|
||||
echo "*** Running configure..."
|
||||
rm -f success
|
||||
(./configure --enable-dist 2>&1 && touch success) | tee config.out
|
||||
if test ! -f success; then
|
||||
echo "Configure failed. Aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
#
|
||||
# make tarball
|
||||
#
|
||||
echo "*** Running make distcheck..."
|
||||
save_LD=$LD_LIBRARY_PATH
|
||||
LD_LIBRARY_PATH=
|
||||
rm -f success
|
||||
(make dist 2>&1 && touch success) | tee dist.out
|
||||
if test ! -f success; then
|
||||
echo "Make dist failed. Aborting"
|
||||
exit 1
|
||||
fi
|
||||
rm -f success
|
||||
LD_LIBRARY_PATH=$save_LD
|
||||
|
||||
#
|
||||
# move
|
||||
#
|
||||
echo "*** Moving tarballs..."
|
||||
mv openmpi-* ..
|
||||
|
||||
echo "*** All done"
|
||||
}
|
||||
|
||||
#########################################################################
|
||||
# main
|
||||
#########################################################################
|
||||
|
||||
echo "*** Checking GNU tools versions..."
|
||||
check_gnu_version m4 $M4_TARGET_VERSION
|
||||
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 file..."
|
||||
rm -f VERSION
|
||||
|
||||
if test -d .svn; then
|
||||
echo "*** Running svn up..."
|
||||
svn up
|
||||
if test ! "$?" = "0"; then
|
||||
echo "SVN update failed. Aborting"
|
||||
exit 1
|
||||
fi
|
||||
elif test -d .hg; then
|
||||
echo "*** Running hg up..."
|
||||
hg revert VERSION
|
||||
hg up
|
||||
if test ! "$?" = "0"; then
|
||||
echo "HG update failed. Aborting"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
#
|
||||
# Ditch "svn/hg" from all version numbers
|
||||
#
|
||||
echo "*** Removing svn version numbers..."
|
||||
svn_r="r`svnversion .`"
|
||||
version_files=VERSION
|
||||
release_date=`date '+%b %d, %Y'`
|
||||
for file in $version_files; do
|
||||
echo " - $file"
|
||||
sed -e 's/^want_svn=.*/want_svn=0/' \
|
||||
-e 's/^svn_r=.*/'svn_r=$svn_r/ \
|
||||
-e "s/^date=.*/date=\"$release_date\"/" \
|
||||
$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
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user