ENH: indexedOctree: initialise point even if no match
[OpenFOAM-2.0.x.git] / bin / foamPack
blobd416ad8cc5688f37622b9456be6220e930cdfcde
1 #!/bin/sh
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 # \\ / O peration |
6 # \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.
7 # \\/ M anipulation |
8 #------------------------------------------------------------------------------
9 # License
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
20 # for more details.
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/>.
25 # Script
26 # foamPack [OPTION]
28 # Description
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
35 usage() {
36 exec 1>&2
37 while [ "$#" -gt 0 ]; do echo "$1"; shift; done
38 cat <<USAGE
39 Usage: ${0##*/} [OPTION]
40 options:
41 -o, -output <dir> specify alternative output directory
42 -nogit bypass using 'git archive'
44 * Pack and compress OpenFOAM directory for release
46 USAGE
47 exit 1
50 unset outputDir nogit
51 # parse options
52 while [ "$#" -gt 0 ]
54 case "$1" in
55 -h | -help)
56 usage
58 -nogit)
59 nogit=true
60 shift
62 -o | -output)
63 [ "$#" -ge 2 ] || usage "'$1' option requires an argument"
64 outputDir=${2%%/}
65 shift 2
67 -*)
68 usage "unknown option: '$*'"
71 break
73 esac
74 done
76 # check for essential directories
77 [ -d $packDir ] || {
78 echo "Error: directory $packDir does not exist" 1>&2
79 exit 1
83 #------------------------------------------------------------------------------
84 timeStamp=$(date +%Y-%m-%d)
85 packExt=tgz
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
93 if [ -f $packFile ]
94 then
95 echo "Error: $packFile already exists" 1>&2
96 exit 1
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 ]
106 then
107 echo "pack manually" 1>&2
108 foamPackSource $packDir $packFile
109 else
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 #------------------------------------------------------------------------------