From d138d1677314e71a176b555d1fc4e479da774482 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Mon, 11 Jul 2005 17:12:17 -0400 Subject: [PATCH] ENH: merge changes from branches --- Utilities/Release/README | 58 ++++++++++++++++++ Utilities/Release/cmake_release.sh | 85 +++++++++++++++----------- Utilities/Release/cmake_release.sh.in | 55 +++++++++++------ Utilities/Release/config_CYGWIN_NT-5.1 | 4 +- Utilities/Release/config_IRIX64 | 3 + Utilities/Release/config_Linux | 15 +++-- Utilities/Release/cygwin-package.sh.in | 18 +++--- Utilities/Release/release_dispatch.sh | 2 +- 8 files changed, 167 insertions(+), 73 deletions(-) create mode 100644 Utilities/Release/README diff --git a/Utilities/Release/README b/Utilities/Release/README new file mode 100644 index 000000000..d128cf39e --- /dev/null +++ b/Utilities/Release/README @@ -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. + + diff --git a/Utilities/Release/cmake_release.sh b/Utilities/Release/cmake_release.sh index d148ac41c..ee40b4905 100755 --- a/Utilities/Release/cmake_release.sh +++ b/Utilities/Release/cmake_release.sh @@ -10,8 +10,8 @@ # Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. # See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. # -# This software is distributed WITHOUT ANY WARRANTY; without even -# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# This software is distributed WITHOUT ANY WARRANTY; without even +# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR # PURPOSE. See the above copyright notices for more information. # #============================================================================= @@ -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 ..." && ( - rm -rf cmake-${VERSION} && - rm -rf CheckoutTemp && - mkdir CheckoutTemp && - cd CheckoutTemp && - cvs -q -z3 -d $CVSROOT export -r ${TAG} CMake && - mv CMake ../cmake-${VERSION} && - cd .. && - rm -rf CheckoutTemp + 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 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: - +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. ------------------ @@ -604,17 +614,15 @@ EOF ( cat > cmake-${VERSION}/CYGWIN-PATCHES/setup.hint < "../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 } #----------------------------------------------------------------------------- diff --git a/Utilities/Release/cmake_release.sh.in b/Utilities/Release/cmake_release.sh.in index 29dd9e729..cd63c01fb 100755 --- a/Utilities/Release/cmake_release.sh.in +++ b/Utilities/Release/cmake_release.sh.in @@ -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: - +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 < "../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 } #----------------------------------------------------------------------------- diff --git a/Utilities/Release/config_CYGWIN_NT-5.1 b/Utilities/Release/config_CYGWIN_NT-5.1 index bf1a1b4d2..aa2ebe965 100644 --- a/Utilities/Release/config_CYGWIN_NT-5.1 +++ b/Utilities/Release/config_CYGWIN_NT-5.1 @@ -1,3 +1,3 @@ PLATFORM="cygwin" -CC="gcc-2" -CXX="g++-2" +CC="gcc" +CXX="g++" diff --git a/Utilities/Release/config_IRIX64 b/Utilities/Release/config_IRIX64 index be59be60e..ed32b2ace 100644 --- a/Utilities/Release/config_IRIX64 +++ b/Utilities/Release/config_IRIX64 @@ -21,4 +21,7 @@ INSTALL_DIR="Install-${PLATFORM}" write_cache() { write_standard_cache + cat >> CMakeCache.txt <> CMakeCache.txt <> ${INSTALL_DIR}${PREFIX}/doc/${PKG}-${VER}/MANIFEST <> ${INSTALL_DIR}${PREFIX}/share/doc/${PKG}-${VER}/MANIFEST <