#!/bin/sh #------------------------------------------------------------------------------ # ========= | # \\ / F ield | foam-extend: Open Source CFD # \\ / O peration | Version: 4.0 # \\ / A nd | Web: http://www.foam-extend.org # \\/ M anipulation | For copyright notice see file Copyright #------------------------------------------------------------------------------ # License # This file is part of foam-extend. # # foam-extend 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 3 of the License, or (at your # option) any later version. # # foam-extend 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 foam-extend. If not, see . # # Script # foamPackBin [outputDir] # # Description # Packs and compresses binary version of foam 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 #------------------------------------------------------------------------------