ENH: merge changes from branches

This commit is contained in:
Bill Hoffman 2005-07-11 17:12:17 -04:00
parent 5a3a0151f4
commit d138d16773
8 changed files with 167 additions and 73 deletions

58
Utilities/Release/README Normal file
View File

@ -0,0 +1,58 @@
1. Update Version information
- change version in CMakeLists.txt
- build on windows, and do a make; make install; make release
- this changes cmake_release.sh
* for major release edit Source/cmCPluginAPI.h
2. tag the release
cvs co -r CMake-2-0 # checkout current release branch
cvs tag CMake-2-0-3 # tag with minor version number
NOTES from Brad:
The release scripts are located in CMake and ParaView under the Utilities/Release directory. It is important to run the script obtained by checking out a copy of the corresponding release branch from CVS. Here is a summary of how to use them:
The release_dispatch.sh script has a list of machine names at the top. When run, this script will automatically ssh to these machines to build the releases. Run it like this:
./release_dispatch.sh clean
./release_dispatch.sh binary
./release_dispatch.sh logs
The first line will ssh to all the machines and wipe out any existing release build. The second will ssh to the machines and start the release scripts with output going to a log file. The third line will bring up a whole bunch of xterm windows each showing the log from one of the machines. Therefore you should run this from a prompt with access to an X display. Alternatively you can just look at the log files manually.
After the logs report the job is complete, then the binaries should be sitting on the local machine in the same directory as the scripts. You can run
./cmake_release.sh remote_source localhost
to get the source tarballs. Then run
./cmake_release.sh upload
to upload the files to public in the proper FTP directory.
For shannara, the home directory does not have enough disk space to build ParaView. After the "clean" step, you should manually log into the machine and do
rm -rf /disk2/ParaViewReleaseRoot
ln -s /disk2/ParaViewReleaseRoot ~/
For the aix build, you need to manually login to the box and checkout a copy of the Utilities/Release directory. Then run the release script by hand:
./cmake_release.sh binary_tarball
./paraview_release.sh binary_tarball
Then in the release root directory there will be a Tarballs subdirectory with the binaries.

View File

@ -23,11 +23,11 @@
#
# Release version number.
TAG="Release-1-8"
CMAKE_VERSION="1.8"
VERSION="${CMAKE_VERSION}.0"
TAG="CMake-2-0-6"
CMAKE_VERSION="2.0"
VERSION="${CMAKE_VERSION}.6"
RELEASE="1"
PREVIOUS_VERSION="1.6.7"
PREVIOUS_VERSION="2.0.6"
PREVIOUS_RELEASE="1"
# CVSROOT setting used to check out CMake.
@ -248,7 +248,7 @@ clean()
{
cd "${HOME}" &&
echo "Cleaning up ${RELEASE_ROOT}" &&
rm -rf "${RELEASE_ROOT_NAME}"
rm -rf ${RELEASE_ROOT_NAME}/*
}
#-----------------------------------------------------------------------------
@ -310,16 +310,21 @@ checkout()
{
[ -z "${DONE_checkout}" ] || return 0 ; DONE_checkout="yes"
config || return 1
echo "Exporting cmake from cvs ..." &&
echo "Updating CMake from cvs ..." &&
(
if [ -d cmake-${VERSION}/CVS ]; then
cd cmake-${VERSION} &&
cvs -q -z3 -d $CVSROOT update -dAP -r ${TAG}
else
rm -rf cmake-${VERSION} &&
rm -rf CheckoutTemp &&
mkdir CheckoutTemp &&
cd CheckoutTemp &&
cvs -q -z3 -d $CVSROOT export -r ${TAG} CMake &&
cvs -q -z3 -d $CVSROOT co -r ${TAG} CMake &&
mv CMake ../cmake-${VERSION} &&
cd .. &&
rm -rf CheckoutTemp
fi
) >Logs/checkout.log 2>&1 || error_log Logs/checkout.log
}
@ -337,7 +342,7 @@ source_tarball()
(
mkdir -p Tarballs &&
rm -rf Tarballs/cmake-${VERSION}.tar* &&
tar cvf Tarballs/cmake-${VERSION}.tar cmake-${VERSION} &&
tar cvf Tarballs/cmake-${VERSION}.tar --exclude CVS cmake-${VERSION} &&
gzip -c Tarballs/cmake-${VERSION}.tar >Tarballs/cmake-${VERSION}.tar.gz &&
compress Tarballs/cmake-${VERSION}.tar
) >Logs/source_tarball.log 2>&1 || error_log Logs/source_tarball.log
@ -540,7 +545,7 @@ cygwin_source_tarball()
(
mkdir -p Cygwin &&
rm -rf Cygwin/cmake-${VERSION}.tar.bz2 &&
tar cvjf Cygwin/cmake-${VERSION}.tar.bz2 cmake-${VERSION}
tar cvjf Cygwin/cmake-${VERSION}.tar.bz2 --exclude CVS cmake-${VERSION}
) >Logs/cygwin_source_tarball.log 2>&1 || error_log Logs/cygwin_source_tarball.log
}
@ -555,7 +560,7 @@ cygwin_source_patch()
mkdir -p Cygwin &&
rm -rf Cygwin/Patched &&
mkdir -p Cygwin/Patched &&
(tar c cmake-${VERSION} | (cd Cygwin/Patched; tar x)) &&
(tar c --exclude CVS cmake-${VERSION} | (cd Cygwin/Patched; tar x)) &&
cd Cygwin/Patched &&
mkdir -p cmake-${VERSION}/CYGWIN-PATCHES &&
(
@ -593,7 +598,12 @@ This will create:
Port Notes:
<none>
The directory /usr/share/cmake-${VERSION}/include is purposely not
located at /usr/include/cmake-${VERSION} or /usr/include/cmake. The
files it contains are not meant for inclusion in any C or C++ program.
They are used for compiling dynamically loadable CMake commands inside
projects that provide them. CMake will automatically provide the
proper include path when the files are needed.
------------------
@ -605,16 +615,14 @@ EOF
cat > cmake-${VERSION}/CYGWIN-PATCHES/setup.hint <<EOF
# CMake setup.hint file for cygwin setup.exe program
category: Devel
requires: libncurses6 cygwin
requires: libncurses7 cygwin
sdesc: "A cross platform build manger"
ldesc: "CMake is a cross platform build manager. It allows you to specify build parameters for C and C++ programs in a cross platform manner. For cygwin Makefiles will be generated. CMake is also capable of generating microsoft project files, nmake, and borland makefiles. CMake can also perform system inspection operations like finding installed libraries and header files."
prev: ${PREVIOUS_VERSION}-${PREVIOUS_RELEASE}
curr: ${VERSION}-${RELEASE}
EOF
) &&
dos2unix cmake-${VERSION}/CYGWIN-PATCHES/setup.hint &&
cp cmake-${VERSION}/CYGWIN-PATCHES/setup.hint ../setup.hint &&
(diff -urN "../../cmake-${VERSION}" "cmake-${VERSION}" > "../cmake-${VERSION}-${RELEASE}.patch"; [ "$?" = "1" ])
(diff -x CVS -urN "../../cmake-${VERSION}" "cmake-${VERSION}" > "../cmake-${VERSION}-${RELEASE}.patch"; [ "$?" = "1" ])
) >Logs/cygwin_source_patch.log 2>&1 || error_log Logs/cygwin_source_patch.log
}
@ -717,18 +725,27 @@ osx_install()
echo "Running make install for OSX package ..." &&
(
rm -rf OSX &&
mkdir -p OSX/Package_Root/Applications &&
mkdir -p OSX/Resources/PreFlight &&
mkdir -p OSX/Resources/PostFlight &&
mkdir -p OSX/Resources &&
(
cd "cmake-${VERSION}-${PLATFORM}" &&
${MAKE} install DESTDIR="${RELEASE_ROOT}/OSX/Package_Root"
) &&
cp cmake-${VERSION}/Copyright.txt OSX/Resources/License.txt &&
cp -r cmake-${VERSION}-${PLATFORM}/bin/CMake.app OSX/Package_Root/Applications &&
echo "APPL????" > OSX/Package_Root/Applications/CMake.app/Contents/PkgInfo &&
cp "${WX_RESOURCES}" OSX/Package_Root/Applications/CMake.app/Contents/Resources/wxCMakeSetup.rsrc
cp cmake-${VERSION}/Copyright.txt OSX/Resources/License.txt
) >Logs/osx_install.log 2>&1 || error_log Logs/osx_install.log
# Use this version when the wxCMakeSetup dialog is restored:
# (
# rm -rf OSX &&
# mkdir -p OSX/Resources &&
# mkdir -p OSX/Package_Root/Applications &&
# (
# cd "cmake-${VERSION}-${PLATFORM}" &&
# ${MAKE} install DESTDIR="${RELEASE_ROOT}/OSX/Package_Root"
# ) &&
# cp cmake-${VERSION}/Copyright.txt OSX/Resources/License.txt &&
# cp -r cmake-${VERSION}-${PLATFORM}/bin/CMake.app OSX/Package_Root/Applications &&
# echo "APPL????" > OSX/Package_Root/Applications/CMake.app/Contents/PkgInfo &&
# cp "${WX_RESOURCES}" OSX/Package_Root/Applications/CMake.app/Contents/Resources/wxCMakeSetup.rsrc
# ) >Logs/osx_install.log 2>&1 || error_log Logs/osx_install.log
}
#-----------------------------------------------------------------------------

View File

@ -23,7 +23,7 @@
#
# Release version number.
TAG="ParaView-@CMake_VERSION_MAJOR@-@CMake_VERSION_MINOR@-@CMake_VERSION_PATCH@"
TAG="CMake-@CMake_VERSION_MAJOR@-@CMake_VERSION_MINOR@-@CMake_VERSION_PATCH@"
VERSION="@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@.@CMake_VERSION_PATCH@"
CMAKE_VERSION="@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@"
RELEASE="1"
@ -248,7 +248,7 @@ clean()
{
cd "${HOME}" &&
echo "Cleaning up ${RELEASE_ROOT}" &&
rm -rf "${RELEASE_ROOT_NAME}"
rm -rf ${RELEASE_ROOT_NAME}/*
}
#-----------------------------------------------------------------------------
@ -310,16 +310,21 @@ checkout()
{
[ -z "${DONE_checkout}" ] || return 0 ; DONE_checkout="yes"
config || return 1
echo "Exporting cmake from cvs ..." &&
echo "Updating CMake from cvs ..." &&
(
if [ -d cmake-${VERSION}/CVS ]; then
cd cmake-${VERSION} &&
cvs -q -z3 -d $CVSROOT update -dAP -r ${TAG}
else
rm -rf cmake-${VERSION} &&
rm -rf CheckoutTemp &&
mkdir CheckoutTemp &&
cd CheckoutTemp &&
cvs -q -z3 -d $CVSROOT export -r ${TAG} CMake &&
cvs -q -z3 -d $CVSROOT co -r ${TAG} CMake &&
mv CMake ../cmake-${VERSION} &&
cd .. &&
rm -rf CheckoutTemp
fi
) >Logs/checkout.log 2>&1 || error_log Logs/checkout.log
}
@ -337,7 +342,7 @@ source_tarball()
(
mkdir -p Tarballs &&
rm -rf Tarballs/cmake-${VERSION}.tar* &&
tar cvf Tarballs/cmake-${VERSION}.tar cmake-${VERSION} &&
tar cvf Tarballs/cmake-${VERSION}.tar --exclude CVS cmake-${VERSION} &&
gzip -c Tarballs/cmake-${VERSION}.tar >Tarballs/cmake-${VERSION}.tar.gz &&
compress Tarballs/cmake-${VERSION}.tar
) >Logs/source_tarball.log 2>&1 || error_log Logs/source_tarball.log
@ -540,7 +545,7 @@ cygwin_source_tarball()
(
mkdir -p Cygwin &&
rm -rf Cygwin/cmake-${VERSION}.tar.bz2 &&
tar cvjf Cygwin/cmake-${VERSION}.tar.bz2 cmake-${VERSION}
tar cvjf Cygwin/cmake-${VERSION}.tar.bz2 --exclude CVS cmake-${VERSION}
) >Logs/cygwin_source_tarball.log 2>&1 || error_log Logs/cygwin_source_tarball.log
}
@ -555,7 +560,7 @@ cygwin_source_patch()
mkdir -p Cygwin &&
rm -rf Cygwin/Patched &&
mkdir -p Cygwin/Patched &&
(tar c cmake-${VERSION} | (cd Cygwin/Patched; tar x)) &&
(tar c --exclude CVS cmake-${VERSION} | (cd Cygwin/Patched; tar x)) &&
cd Cygwin/Patched &&
mkdir -p cmake-${VERSION}/CYGWIN-PATCHES &&
(
@ -593,7 +598,12 @@ This will create:
Port Notes:
<none>
The directory /usr/share/cmake-${VERSION}/include is purposely not
located at /usr/include/cmake-${VERSION} or /usr/include/cmake. The
files it contains are not meant for inclusion in any C or C++ program.
They are used for compiling dynamically loadable CMake commands inside
projects that provide them. CMake will automatically provide the
proper include path when the files are needed.
------------------
@ -605,16 +615,14 @@ EOF
cat > cmake-${VERSION}/CYGWIN-PATCHES/setup.hint <<EOF
# CMake setup.hint file for cygwin setup.exe program
category: Devel
requires: libncurses6 cygwin
requires: libncurses7 cygwin
sdesc: "A cross platform build manger"
ldesc: "CMake is a cross platform build manager. It allows you to specify build parameters for C and C++ programs in a cross platform manner. For cygwin Makefiles will be generated. CMake is also capable of generating microsoft project files, nmake, and borland makefiles. CMake can also perform system inspection operations like finding installed libraries and header files."
prev: ${PREVIOUS_VERSION}-${PREVIOUS_RELEASE}
curr: ${VERSION}-${RELEASE}
EOF
) &&
dos2unix cmake-${VERSION}/CYGWIN-PATCHES/setup.hint &&
cp cmake-${VERSION}/CYGWIN-PATCHES/setup.hint ../setup.hint &&
(diff -urN "../../cmake-${VERSION}" "cmake-${VERSION}" > "../cmake-${VERSION}-${RELEASE}.patch"; [ "$?" = "1" ])
(diff -x CVS -urN "../../cmake-${VERSION}" "cmake-${VERSION}" > "../cmake-${VERSION}-${RELEASE}.patch"; [ "$?" = "1" ])
) >Logs/cygwin_source_patch.log 2>&1 || error_log Logs/cygwin_source_patch.log
}
@ -717,18 +725,27 @@ osx_install()
echo "Running make install for OSX package ..." &&
(
rm -rf OSX &&
mkdir -p OSX/Package_Root/Applications &&
mkdir -p OSX/Resources/PreFlight &&
mkdir -p OSX/Resources/PostFlight &&
mkdir -p OSX/Resources &&
(
cd "cmake-${VERSION}-${PLATFORM}" &&
${MAKE} install DESTDIR="${RELEASE_ROOT}/OSX/Package_Root"
) &&
cp cmake-${VERSION}/Copyright.txt OSX/Resources/License.txt &&
cp -r cmake-${VERSION}-${PLATFORM}/bin/CMake.app OSX/Package_Root/Applications &&
echo "APPL????" > OSX/Package_Root/Applications/CMake.app/Contents/PkgInfo &&
cp "${WX_RESOURCES}" OSX/Package_Root/Applications/CMake.app/Contents/Resources/wxCMakeSetup.rsrc
cp cmake-${VERSION}/Copyright.txt OSX/Resources/License.txt
) >Logs/osx_install.log 2>&1 || error_log Logs/osx_install.log
# Use this version when the wxCMakeSetup dialog is restored:
# (
# rm -rf OSX &&
# mkdir -p OSX/Resources &&
# mkdir -p OSX/Package_Root/Applications &&
# (
# cd "cmake-${VERSION}-${PLATFORM}" &&
# ${MAKE} install DESTDIR="${RELEASE_ROOT}/OSX/Package_Root"
# ) &&
# cp cmake-${VERSION}/Copyright.txt OSX/Resources/License.txt &&
# cp -r cmake-${VERSION}-${PLATFORM}/bin/CMake.app OSX/Package_Root/Applications &&
# echo "APPL????" > OSX/Package_Root/Applications/CMake.app/Contents/PkgInfo &&
# cp "${WX_RESOURCES}" OSX/Package_Root/Applications/CMake.app/Contents/Resources/wxCMakeSetup.rsrc
# ) >Logs/osx_install.log 2>&1 || error_log Logs/osx_install.log
}
#-----------------------------------------------------------------------------

View File

@ -1,3 +1,3 @@
PLATFORM="cygwin"
CC="gcc-2"
CXX="g++-2"
CC="gcc"
CXX="g++"

View File

@ -21,4 +21,7 @@ INSTALL_DIR="Install-${PLATFORM}"
write_cache()
{
write_standard_cache
cat >> CMakeCache.txt <<EOF
HAVE_LIBCRYPTO:INTERNAL=0
EOF
}

View File

@ -1,12 +1,10 @@
PLATFORM="x86-linux"
CURSES_LIBRARY="/usr/i686-gcc-322s/lib/libncurses.a"
FORM_LIBRARY="/usr/i686-gcc-322s/lib/libform.a"
CC="gcc322s"
CXX="c++322s"
CFLAGS="-I/usr/i686-gcc-322s/include/ncurses"
CXXFLAGS="-I/usr/i686-gcc-322s/include/ncurses"
BUILD_FLAGS="-j 2"
BOOTSTRAP_FLAGS="--parallel=2"
CURSES_LIBRARY="/usr/i686-gcc-332s/lib/libncurses.a"
FORM_LIBRARY="/usr/i686-gcc-332s/lib/libform.a"
CC="gcc332s"
CXX="c++332s"
#BUILD_FLAGS="-j 2"
#BOOTSTRAP_FLAGS="--parallel=2"
# Write entries into the cache file before building cmake.
write_cache()
@ -15,6 +13,7 @@ write_standard_cache
cat >> CMakeCache.txt <<EOF
CURSES_LIBRARY:FILEPATH=${CURSES_LIBRARY}
CURSES_INCLUDE_PATH:PATH=/usr/i686-gcc-332s/include/ncurses
FORM_LIBRARY:FILEPATH=${FORM_LIBRARY}
EOF
}

View File

@ -44,7 +44,8 @@ conf()
BUILD_TESTING:BOOL=ON
EOF
) &&
${SOURCE_DIR}/configure --prefix=${PREFIX}
${SOURCE_DIR}/bootstrap --prefix=${PREFIX} --datadir=/share/${PKG}-${VER} \
--docdir=/share/doc/${PKG}-${VER} --mandir=/share/man
)
}
@ -62,18 +63,17 @@ install()
(
cd ${BINARY_DIR} &&
make install DESTDIR="${INSTALL_DIR}" &&
mkdir -p ${INSTALL_DIR}${PREFIX}/doc/Cygwin &&
mkdir -p ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER} &&
cp ${SOURCE_DIR}/CMake.pdf ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER} &&
cp ${SOURCE_DIR}/CMake.rtf ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER} &&
cp ${SOURCE_DIR}/Copyright.txt ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER} &&
mkdir -p ${INSTALL_DIR}${PREFIX}/share/doc/Cygwin &&
mkdir -p ${INSTALL_DIR}${PREFIX}/share/doc/${PKG}-${VER} &&
cp ${SOURCE_DIR}/CMake.pdf ${INSTALL_DIR}${PREFIX}/share/doc/${PKG}-${VER} &&
cp ${SOURCE_DIR}/CMake.rtf ${INSTALL_DIR}${PREFIX}/share/doc/${PKG}-${VER} &&
cp ${SOURCE_DIR}/CYGWIN-PATCHES/cmake.README \
${INSTALL_DIR}${PREFIX}/doc/Cygwin/${FULLPKG}.README &&
touch ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER}/MANIFEST &&
${INSTALL_DIR}${PREFIX}/share/doc/Cygwin/${FULLPKG}.README &&
touch ${INSTALL_DIR}${PREFIX}/share/doc/${PKG}-${VER}/MANIFEST &&
cd ${INSTALL_DIR} &&
FILES=`/usr/bin/find .${PREFIX} -type f |sed 's/^\.\//\//'` &&
(
cat >> ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER}/MANIFEST <<EOF
cat >> ${INSTALL_DIR}${PREFIX}/share/doc/${PKG}-${VER}/MANIFEST <<EOF
${FILES}
EOF
)

View File

@ -4,7 +4,7 @@ MACHINES=""
MACHINES="${MACHINES} naboo"
MACHINES="${MACHINES} shannara"
MACHINES="${MACHINES} krondor"
MACHINES="${MACHINES} rapture"
MACHINES="${MACHINES} muse"
MACHINES="${MACHINES} destiny"
run()