From 375e968bd1411477b9f0bcd78a6be5c0bd76aa53 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@Germany>
Date: Thu, 16 Jul 2009 09:56:54 +0200
Subject: [PATCH] fixup foamPack* scripts

- handle ThirdParty-VERSION properly

- handle wmake/utilbin/ location

- should the wmake/rules/* really be packed with a binary distribution?
  I think this is just left over from before.
---
 .gitignore                    |  4 ---
 bin/foamPack                  |  7 +++--
 bin/foamPackBin               | 56 +++++++++++++++++++----------------
 bin/foamPackBinAll            |  6 ++--
 bin/foamPackDoxygen           | 20 ++++++-------
 bin/foamPackGeneral           | 12 ++++----
 bin/foamPackSource            | 39 +++++++++++++-----------
 bin/foamPackThirdPartyBin     | 37 +++++++++++++----------
 bin/foamPackThirdPartyGeneral | 15 +++++-----
 9 files changed, 105 insertions(+), 91 deletions(-)

diff --git a/.gitignore b/.gitignore
index a95cd603baf..b124c8d8870 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,10 +41,6 @@ SunOS*Gcc*/
 # reinstate wmake/rules that might look like build folders
 !wmake/rules/*/
 
-# but do continue to ignore the derived wmake files
-wmake/rules/*/dirToString
-wmake/rules/*/wmkdep
-
 # doxygen generated documentation
 doc/[Dd]oxygen/html
 doc/[Dd]oxygen/latex
diff --git a/bin/foamPack b/bin/foamPack
index 5f42ebbb2b1..3f35f5b57df 100755
--- a/bin/foamPack
+++ b/bin/foamPack
@@ -86,9 +86,10 @@ find -H $packDir               \
  -a ! -name "log[0-9]*"        \
  -a ! -name "so_locations"     \
 | sed                          \
- -e "\@$packDir/.git/@d"       \
  -e "\@$packDir/lib/@d"        \
- -e '\@applications/bin/@d'       \
+ -e '\@/\.git/@d'              \
+ -e '\@applications/bin/@d'    \
+ -e '\@wmake/utilbin/@d'       \
  -e '\@/t/@d'                     \
  -e '\@Make[.A-Za-z]*/[^/]*/@d'   \
  -e '\@doc/[Dd]oxygen/html@d'     \
@@ -100,7 +101,7 @@ find -H $packDir               \
 
 tar czpf $packFile --files-from $tmpFile
 
-if [ $? = 0 ]
+if [ $? -eq 0 ]
 then
     echo "Finished packing and compressing $packDir into file $packFile"
 else
diff --git a/bin/foamPackBin b/bin/foamPackBin
index 00ef0c5af3d..5a60b405a9d 100755
--- a/bin/foamPackBin
+++ b/bin/foamPackBin
@@ -33,14 +33,17 @@
 
 if [ $# -eq 0 ]
 then
-   echo "Error: architecture type expected, exiting"
-   echo
-   echo "Usage : ${0##*/} <arch> [outputDir]"
-   echo
-   exit 1
+    echo "Error: architecture type expected, exiting"
+    echo
+    echo "Usage : ${0##*/} <arch> [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
@@ -48,49 +51,50 @@ packFile=${packDir}.${arch}_${timeStamp}.gtgz
 # add optional output directory
 if [ -d "$2" ]
 then
-   packFile="$2/$packFile"
+    packFile="$2/$packFile"
 fi
 
 if [ -f $packFile ]
 then
-   echo "Error: $packFile already exists"
-   exit 1
+    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
+    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 \
-      ;
-   do
-      [ -d $dir ] && echo $dir
-   done
+    for dir in \
+        $packDir/lib/$arch \
+        $packDir/applications/bin/$arch \
+        $packDir/wmake/rules \
+        $packDir/wmake/utilbin/$baseArch \
+        ;
+    do
+        [ -d $dir ] && echo $dir
+    done
 )
 
 echo
-echo "Packing $arch port of $packDir into $packFile"
+echo "Packing $arch ($baseArch) port of $packDir into $packFile"
 echo
 
 tar czpf $packFile $dirList
 
-if [ $? = 0 ]
+if [ $? -eq 0 ]
 then
-   echo "Finished packing and compressing file $packFile"
+    echo "Finished packing and compressing file $packFile"
 else
-   echo "Error: failure packing $packFile"
-   rm -f $packFile 2>/dev/null
+    echo "Error: failure packing $packFile"
+    rm -f $packFile 2>/dev/null
 fi
 
 #------------------------------------------------------------------------------
diff --git a/bin/foamPackBinAll b/bin/foamPackBinAll
index 01555787cbb..57673e98036 100755
--- a/bin/foamPackBinAll
+++ b/bin/foamPackBinAll
@@ -34,14 +34,14 @@ packDir=$WM_PROJECT-$WM_PROJECT_VERSION
 
 if [ ! -d $packDir ]
 then
-   echo "Error: directory $packDir does not exist"
-   exit 1
+    echo "Error: directory $packDir does not exist"
+    exit 1
 fi
 
 # obtain arch types from lib/
 for bin in $packDir/lib/*
 do
-   foamPackBin ${bin##*/} $@
+    foamPackBin ${bin##*/} $@
 done
 
 #------------------------------------------------------------------------------
diff --git a/bin/foamPackDoxygen b/bin/foamPackDoxygen
index efdcdacc09f..4503470846a 100755
--- a/bin/foamPackDoxygen
+++ b/bin/foamPackDoxygen
@@ -41,7 +41,7 @@ Usage: ${0##*/} [-prefix DIR] [-o outputDir]
     Packs and compresses the OpenFOAM doxygen html for release
 
 USAGE
-   exit 1
+    exit 1
 }
 
 unset prefix outputDir
@@ -87,16 +87,16 @@ fi
 #
 if [ -d "$outputDir" ]
 then
-   packFile="$outputDir/$packDir$packTag"
+    packFile="$outputDir/$packDir$packTag"
 else
-   packFile="$packDir$packTag"
+    packFile="$packDir$packTag"
 fi
 
 
 if [ -f $packFile ]
 then
-   echo "Error: $packFile already exists"
-   exit 1
+    echo "Error: $packFile already exists"
+    exit 1
 fi
 
 # Pack and compress the packFile using GNU tar
@@ -107,16 +107,16 @@ echo
 
 if [ -n "$prefix" ]
 then
-   tar czpf $packFile --transform="s@^@$prefix/@" doc/Doxygen/html
+    tar czpf $packFile --transform="s@^@$prefix/@" doc/Doxygen/html
 else
-   tar czpf $packFile $packDir/doc/Doxygen/html
+    tar czpf $packFile $packDir/doc/Doxygen/html
 fi
 
-if [ $? = 0 ]
+if [ $? -eq 0 ]
 then
-   echo "Finished packing doxygen html into file $packFile"
+    echo "Finished packing doxygen html into file $packFile"
 else
-   echo "Error: failure packing doxygen html file $packFile"
+    echo "Error: failure packing doxygen html file $packFile"
 fi
 
 #------------------------------------------------------------------------------
diff --git a/bin/foamPackGeneral b/bin/foamPackGeneral
index 3da41972265..e55d834bce3 100755
--- a/bin/foamPackGeneral
+++ b/bin/foamPackGeneral
@@ -37,20 +37,20 @@ packFile=${packDir}.General_${timeStamp}.gtgz
 
 if [ ! -d $packDir ]
 then
-   echo "Error: directory $packDir does not exist"
-   exit 1
+    echo "Error: directory $packDir does not exist"
+    exit 1
 fi
 
 # add optional output directory
 if [ -d "$1" ]
 then
-   packFile="$1/$packFile"
+    packFile="$1/$packFile"
 fi
 
 if [ -f $packFile ]
 then
-   echo "Error: $packFile already exists"
-   exit 1
+    echo "Error: $packFile already exists"
+    exit 1
 fi
 
 # Create time stamp file
@@ -62,7 +62,7 @@ echo $timeStamp 2>/dev/null > $packDir/.timeStamp
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 echo
-echo "Packing $packDir into $packFile"
+echo "Packing $packDir source files into $packFile"
 echo
 
 foamPackSource $packDir $packFile
diff --git a/bin/foamPackSource b/bin/foamPackSource
index c4d0fc7eb47..b5e34c8a040 100755
--- a/bin/foamPackSource
+++ b/bin/foamPackSource
@@ -35,12 +35,12 @@ tmpFile=${TMPDIR:-/tmp}/foamPackFiles.$$
 
 if [ $# -ne 2 ]
 then
-   echo "Usage : ${0##*/} directory tarFile"
-   echo ""
-   echo "Packs all .C and .H files and Make/options and Make/files into"
-   echo "<tarFile>"
-   echo ""
-   exit 1
+    echo "Usage : ${0##*/} directory tarFile"
+    echo ""
+    echo "Packs all .C and .H files and Make/options and Make/files into"
+    echo "<tarFile>"
+    echo ""
+    exit 1
 fi
 
 # canonical form (no double and no trailing dashes)
@@ -49,14 +49,14 @@ packFile=$2
 
 if [ ! -d $packDir ]
 then
-   echo "Error: directory $packDir does not exist"
-   exit 1
+    echo "Error: directory $packDir does not exist"
+    exit 1
 fi
 
 if [ -f $packFile ]
 then
-   echo "Error: $packFile already exists"
-   exit 1
+    echo "Error: $packFile already exists"
+    exit 1
 fi
 
 # Clean up on termination and on Ctrl-C
@@ -78,24 +78,29 @@ find -H $packDir               \
  -a ! -name "log[0-9]*"        \
  -a ! -name "libccmio*"        \
 | sed                          \
- -e "\@$packDir/.git/@d"       \
- -e "\@/.tags/@d"              \
  -e "\@$packDir/lib/@d"        \
- -e "\@libccmio.*/@d"          \
+ -e '\@/\.git/@d'              \
+ -e '\@/\.tags/@d'             \
  -e '\@applications/bin/@d'    \
+ -e '\@wmake/utilbin/@d'       \
  -e '\@/t/@d'                  \
  -e '\@/Make[.A-Za-z]*/[^/]*/@d'\
  -e '\@/platforms/@d'          \
+ -e '\@libccmio.*/@d'          \
  > $tmpFile
 
+
+# provide some feedback
+wc $tmpFile | awk '{print "Packing",$1,"files - this could take some time ..."}'
+
 tar czpf $packFile --files-from $tmpFile
 
-if [ $? = 0 ]
+if [ $? -eq 0 ]
 then
-   echo "Finished packing and compressing $packDir into file $packFile"
+    echo "Finished packing and compressing $packDir into file $packFile"
 else
-   echo "Error: failure packing $packDir into file $packFile"
-   rm -f $packFile 2>/dev/null
+    echo "Error: failure packing $packDir into file $packFile"
+    rm -f $packFile 2>/dev/null
 fi
 
 #------------------------------------------------------------------------------
diff --git a/bin/foamPackThirdPartyBin b/bin/foamPackThirdPartyBin
index 1e128db1daf..b9363f68740 100755
--- a/bin/foamPackThirdPartyBin
+++ b/bin/foamPackThirdPartyBin
@@ -31,36 +31,43 @@
 #
 #------------------------------------------------------------------------------
 
-if [ $# = 0 ]
+if [ $# -eq 0 ]
 then
-   echo "Error: archOptions type expected, exiting"
-   echo
-   echo "Usage : ${0##*/} <archOptions> [outputDir]"
-   echo
-   exit 1
+    echo "Error: archOptions type expected, exiting"
+    echo
+    echo "Usage : ${0##*/} <archOptions> [outputDir]"
+    echo
+    exit 1
 fi
 archOptions=$1
 arch=${archOptions%%G*}  # TODO: works for Gcc only
-arch3264=$(echo "$arch" | sed 's@64@-64@')
+arch3264=$(echo "$arch" | sed -e 's@64@-64@')
 
 echo "archOptions=$archOptions"
 echo "arch=$arch"
 echo "arch3264=$arch3264"
 
 timeStamp=$(date +%Y-%m-%d)
-packDir=ThirdParty
+packDir=${WM_THIRD_PARTY_DIR:-ThirdParty}
+packDir=${packDir##*/}
 packFile=${packDir}.${archOptions}_${timeStamp}.gtgz
 
+if [ ! -d $packDir ]
+then
+    echo "Error: directory $packDir does not exist"
+    exit 1
+fi
+
 # add optional output directory
 if [ -d "$2" ]
 then
-   packFile="$2/$packFile"
+    packFile="$2/$packFile"
 fi
 
 if [ -f $packFile ]
 then
-   echo "Error: $packFile already exists"
-   exit 1
+    echo "Error: $packFile already exists"
+    exit 1
 fi
 
 # get list of directories
@@ -71,12 +78,12 @@ echo
 
 tar czpf $packFile $dirList
 
-if [ $? = 0 ]
+if [ $? -eq 0 ]
 then
-   echo "Finished packing and compressing file $packFile"
+    echo "Finished packing and compressing file $packFile"
 else
-   echo "Error: failure packing $packFile"
-   rm -f $packFile 2>/dev/null
+    echo "Error: failure packing $packFile"
+    rm -f $packFile 2>/dev/null
 fi
 
 #------------------------------------------------------------------------------
diff --git a/bin/foamPackThirdPartyGeneral b/bin/foamPackThirdPartyGeneral
index 845b2bfa474..a690f7f4481 100755
--- a/bin/foamPackThirdPartyGeneral
+++ b/bin/foamPackThirdPartyGeneral
@@ -32,25 +32,26 @@
 #------------------------------------------------------------------------------
 
 timeStamp=$(date +%Y-%m-%d)
-packDir=ThirdParty
+packDir=${WM_THIRD_PARTY_DIR:-ThirdParty}
+packDir=${packDir##*/}
 packFile=${packDir}.General_${timeStamp}.gtgz
 
 if [ ! -d $packDir ]
 then
-   echo "Error: directory $packDir does not exist"
-   exit 1
+    echo "Error: directory $packDir does not exist"
+    exit 1
 fi
 
 # add optional output directory
 if [ -d "$1" ]
 then
-   packFile="$1/$packFile"
+    packFile="$1/$packFile"
 fi
 
 if [ -f $packFile ]
 then
-   echo "Error: $packFile already exists"
-   exit 1
+    echo "Error: $packFile already exists"
+    exit 1
 fi
 
 # Create time stamp file
@@ -62,7 +63,7 @@ echo $timeStamp 2>/dev/null > $packDir/.timeStamp
 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 echo
-echo "Packing $packDir into $packFile"
+echo "Packing $packDir source files into $packFile"
 echo
 
 foamPackSource $packDir $packFile
-- 
GitLab