ThirdParty packages: Add comment in README file. Contributed by Darrin Stephens
[OpenFOAM-1.6-ext.git] / bin / foamPack
blob0ebe26e78f0258e3c83621435e25bb5847c2ce7a
1 #!/bin/sh
2 #------------------------------------------------------------------------------
3 # ========= |
4 # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
5 # \\ / O peration |
6 # \\ / A nd | Copyright held by original author
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 the
14 # Free Software Foundation; either version 2 of the License, or (at your
15 # 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, write to the Free Software Foundation,
24 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
26 # Script
27 # foamPack [outputDir]
29 # Description
30 # Packs and compresses the OpenFOAM directory for release
32 #------------------------------------------------------------------------------
33 tmpFile=${TMPDIR:-/tmp}/foamPackFiles.$$
35 timeStamp=$(date +%Y-%m-%d)
36 packDir=$WM_PROJECT-$WM_PROJECT_VERSION
37 packFile=${packDir}_${timeStamp}.tgz
39 if [ ! -d $packDir ]
40 then
41 echo "Error: directory $packDir does not exist" 1>&2
42 exit 1
45 # add optional output directory
46 if [ -d "$1" ]
47 then
48 packFile="$1/$packFile"
51 if [ -f $packFile ]
52 then
53 echo "Error: $packFile already exists" 1>&2
54 exit 1
57 # Create time stamp file
58 # ~~~~~~~~~~~~~~~~~~~~~~
60 echo $timeStamp 2>/dev/null > $packDir/.timeStamp
62 # Clean up on termination and on Ctrl-C
63 trap 'rm -f $tmpFile 2>/dev/null; exit 0' EXIT TERM INT
66 # Pack and compress the packFile using GNU tar
67 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
69 echo
70 echo "Packing foam version $packDir into $packFile"
71 echo
72 echo "finding and packing"
74 find -H $packDir \
75 ! -type d -type f \
76 ! -name "*~" \
77 -a ! -name ".*~" \
78 -a ! -name "*.orig" \
79 -a ! -name "*.dep" \
80 -a ! -name "*.o" \
81 -a ! -name "*.so" \
82 -a ! -name "*.a" \
83 -a ! -name "core" \
84 -a ! -name "core.[1-9]*" \
85 -a ! -name "pvml.[1-9]*" \
86 -a ! -name "log[0-9]*" \
87 -a ! -name "so_locations" \
88 | sed \
89 -e "\@$packDir/.git/@d" \
90 -e "\@.svn/@d" \
91 -e "\@$packDir/lib/@d" \
92 -e '\@/\.git/@d' \
93 -e '\@applications/bin/@d' \
94 -e '\@wmake/bin/@d' \
95 -e '\@/t/@d' \
96 -e '\@Make[.A-Za-z]*/[^/]*/@d' \
97 -e '\@doc/[Dd]oxygen/html@d' \
98 -e '\@doc/[Dd]oxygen/latex@d' \
99 -e '\@doc/[Dd]oxygen/man@d' \
100 -e '\@/lnInclude@d' \
101 -e '\@/ii_files@d' \
102 | tee $tmpFile
104 tar czpf $packFile --files-from $tmpFile
106 if [ $? -eq 0 ]
107 then
108 echo "Finished packing and compressing $packDir into file $packFile"
109 else
110 echo "Error: failure packing $packDir into file $packFile" 1>&2
111 rm -f $packFile 2>/dev/null
114 #------------------------------------------------------------------------------