#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox # \\ / O peration | # \\ / A nd | Copyright held by original author # \\/ M anipulation | #------------------------------------------------------------------------------ # License # This file is part of OpenFOAM. # # OpenFOAM is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation; either version 2 of the License, or (at your # option) any later version. # # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. # # You should have received a copy of the GNU General Public License # along with OpenFOAM; if not, write to the Free Software Foundation, # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # Script # foamPackBin [outputDir] # # Description # Packs and compresses binary version of OpenFOAM for release # #------------------------------------------------------------------------------ if [ $# -eq 0 ] then echo "Error: architecture type expected, exiting" echo echo "Usage : ${0##*/} [outputDir]" echo exit 1 fi arch=$1 # base arch (w/o precision, optimization, etc) baseArch=$(echo "$arch" | sed -e 's@[DS]P.*$@@') timeStamp=$(date +%Y-%m-%d) packDir=$WM_PROJECT-$WM_PROJECT_VERSION packFile=${packDir}.${arch}_${timeStamp}.gtgz # add optional output directory if [ -d "$2" ] then packFile="$2/$packFile" fi if [ -f $packFile ] then echo "Error: $packFile already exists" exit 1 fi # check for essential directories for dir in $packDir $packDir/lib/$arch $packDir/applications/bin/$arch do if [ ! -d $dir ] then echo "Error: directory $dir does not exist" exit 1 fi done # get list of directories dirList=$( for dir in \ $packDir/lib/$arch \ $packDir/applications/bin/$arch \ $packDir/wmake/rules \ $packDir/wmake/bin/$baseArch \ ; do [ -d $dir ] && echo $dir done ) echo echo "Packing $arch ($baseArch) port of $packDir into $packFile" echo tar czpf $packFile $dirList if [ $? -eq 0 ] then echo "Finished packing and compressing file $packFile" else echo "Error: failure packing $packFile" rm -f $packFile 2>/dev/null fi #------------------------------------------------------------------------------