2 #------------------------------------------------------------------------------
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
6 # \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation
8 #------------------------------------------------------------------------------
10 # This file is part of OpenFOAM.
12 # OpenFOAM is free software: you can redistribute it and/or modify it
13 # under the terms of the GNU General Public License as published by
14 # the Free Software Foundation, either version 3 of the License, or
15 # (at your option) any later version.
17 # OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
18 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 # You should have received a copy of the GNU General Public License
23 # along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
29 # Pack and compress the OpenFOAM directory for release
31 #------------------------------------------------------------------------------
32 packDir
=$WM_PROJECT-$WM_PROJECT_VERSION
33 toolsDir
="${0%/*}/tools" # this script is located in the tools/ parent dir
37 while [ "$#" -gt 0 ]; do echo "$1"; shift; done
39 Usage: ${0##*/} [OPTION]
41 -o, -output <dir> specify alternative output directory
42 -nogit bypass using 'git archive'
44 * Pack and compress OpenFOAM directory for release
63 [ "$#" -ge 2 ] || usage
"'$1' option requires an argument"
68 usage
"unknown option: '$*'"
76 # check for essential directories
78 echo "Error: directory $packDir does not exist" 1>&2
83 #------------------------------------------------------------------------------
84 timeStamp
=$
(date +%Y-
%m-
%d
)
86 packBase
=${packDir}_
${timeStamp}
88 # add optional output directory
89 [ -d "$outputDir" ] && packBase
="$outputDir/$packBase"
90 packFile
=$packBase.
$packExt
92 # avoid overwriting old pack file
95 echo "Error: $packFile already exists" 1>&2
99 # add time-stamp file before packing
100 echo $timeStamp 2>/dev
/null
> $packDir/.timeStamp
102 # check for git (program and .git directory)
103 (cd $packDir && git branch
) > /dev
/null
2>&1 || nogit
=true
105 if [ "$nogit" = true
]
107 echo "pack manually" 1>&2
108 foamPackSource
$packDir $packFile
110 echo "pack with git-archive" 1>&2
111 ( cd $packDir && git archive
--format=tar --prefix=$packDir/ HEAD
) > $packBase.
tar
113 echo "add in time-stamp and lnInclude directories" 1>&2
114 tar cf
$packBase.tar2
$packDir/.timeStamp
$packDir/.build
`find -H $packDir -type d -name lnInclude`
115 tar Af
$packBase.
tar $packBase.tar2
117 echo "gzip tar file" 1>&2
118 gzip -c9 $packBase.
tar > $packFile
119 rm -f $packBase.
tar $packBase.tar2
2>/dev
/null
122 #------------------------------------------------------------------------------