diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/openfoam-com/1612-bin.patch')
-rw-r--r-- | var/spack/repos/builtin/packages/openfoam-com/1612-bin.patch | 503 |
1 files changed, 0 insertions, 503 deletions
diff --git a/var/spack/repos/builtin/packages/openfoam-com/1612-bin.patch b/var/spack/repos/builtin/packages/openfoam-com/1612-bin.patch deleted file mode 100644 index b9e87a7ec8..0000000000 --- a/var/spack/repos/builtin/packages/openfoam-com/1612-bin.patch +++ /dev/null @@ -1,503 +0,0 @@ ---- OpenFOAM-v1612+.orig/bin/foamEtcFile 2016-12-23 15:22:59.000000000 +0100 -+++ OpenFOAM-v1612+/bin/foamEtcFile 2017-03-23 10:08:37.296887070 +0100 -@@ -4,7 +4,7 @@ - # \\ / F ield | OpenFOAM: The Open Source CFD Toolbox - # \\ / O peration | - # \\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation --# \\/ M anipulation | -+# \\/ M anipulation | Copyright (C) 2017 OpenCFD Ltd. - #------------------------------------------------------------------------------- - # License - # This file is part of OpenFOAM. -@@ -26,7 +26,7 @@ - # foamEtcFile - # - # Description --# Locate user/group/shipped file with semantics similar to the -+# Locate user/group/other files with semantics similar to the - # ~OpenFOAM/fileName expansion. - # - # The -mode option can be used to allow chaining from -@@ -34,40 +34,53 @@ - # - # For example, within the user ~/.OpenFOAM/<VER>/prefs.sh: - # \code --# foamPrefs=`$WM_PROJECT_DIR/bin/foamEtcFile -m go prefs.sh` \ --# && _foamSource $foamPrefs -+# eval $(foamEtcFile -sh -mode=go prefs.sh) - # \endcode - # -+# Environment -+# - WM_PROJECT: (unset defaults to OpenFOAM) -+# - WM_PROJECT_SITE: (unset defaults to PREFIX/site) -+# - WM_PROJECT_VERSION: (unset defaults to detect from path) -+# - # Note --# This script must exist in $FOAM_INST_DIR/OpenFOAM-<VERSION>/bin/ --# or $FOAM_INST_DIR/openfoam<VERSION>/bin/ (for the debian version) -+# This script must exist in one of these locations: -+# - $WM_PROJECT_INST_DIR/OpenFOAM-<VERSION>/bin -+# - $WM_PROJECT_INST_DIR/openfoam-<VERSION>/bin -+# - $WM_PROJECT_INST_DIR/OpenFOAM+<VERSION>/bin -+# - $WM_PROJECT_INST_DIR/openfoam+<VERSION>/bin -+# - $WM_PROJECT_INST_DIR/openfoam<VERSION>/bin (debian version) - # - #------------------------------------------------------------------------------- -+unset optQuiet optSilent - usage() { - [ "${optQuiet:-$optSilent}" = true ] && exit 1 -- - exec 1>&2 - while [ "$#" -ge 1 ]; do echo "$1"; shift; done - cat<<USAGE - --Usage: ${0##*/} [OPTION] fileName -- ${0##*/} [OPTION] -list -+Usage: foamEtcFile [OPTION] fileName -+ foamEtcFile [OPTION] [-list|-list-test] [fileName] - options: -- -all return all files (otherwise stop after the first match) -- -list list the directories to be searched -- -mode <mode> any combination of u(user), g(group), o(other) -- -prefix <dir> specify an alternative installation prefix -- -quiet suppress all normal output -- -silent suppress all stderr output -- -version <ver> specify an alternative OpenFOAM version -- in the form Maj.Min.Rev (eg, 1.7.0) -- -help print the usage -+ -a, -all Return all files (otherwise stop after the first match) -+ -l, -list List directories or files to be checked -+ -list-test List (existing) directories or files to be checked -+ -mode=MODE Any combination of u(user), g(group), o(other) -+ -prefix=DIR Specify an alternative installation prefix -+ -version=VER Specify alternative OpenFOAM version (eg, 3.0, 1612, ...) -+ -csh | -sh Produce output suitable for a csh or sh 'eval' -+ -csh-verbose | -sh-verbose -+ As per -csh | -sh, with additional verbosity -+ -q, -quiet Suppress all normal output -+ -s, -silent Suppress stderr, except -csh-verbose, -sh-verbose output -+ -help Print the usage - -- Locate user/group/shipped file with semantics similar to the -+ Locate user/group/other file with semantics similar to the - ~OpenFOAM/fileName expansion. - -- The options can also be specified as a single character -- (eg, '-q' instead of '-quiet'), but must not be grouped. -+ Single character options must not be grouped. Equivalent options: -+ -mode=MODE, -mode MODE, -m MODE -+ -prefix=DIR, -prefix DIR, -p DIR -+ -version=VER, -version VER, -v VER - - Exit status - 0 when the file is found. Print resolved path to stdout. -@@ -78,61 +91,117 @@ - exit 1 - } - --#------------------------------------------------------------------------------- -+# Report error and exit -+die() -+{ -+ [ "${optQuiet:-$optSilent}" = true ] && exit 1 -+ exec 1>&2 -+ echo -+ echo "Error encountered:" -+ while [ "$#" -ge 1 ]; do echo " $1"; shift; done -+ echo -+ echo "See 'foamEtcFile -help' for usage" -+ echo -+ exit 1 -+} - --# the bin dir: --binDir="${0%/*}" -+#------------------------------------------------------------------------------- -+binDir="${0%/*}" # The bin dir -+projectDir="${binDir%/bin}" # The project dir -+prefixDir="${projectDir%/*}" # The prefix dir (same as $WM_PROJECT_INST_DIR) - --# the project dir: -+# Could not resolve projectDir, prefixDir? (eg, called as ./bin/foamEtcFile) -+if [ "$prefixDir" = "$projectDir" ] -+then -+ binDir="$(cd $binDir && pwd -L)" - projectDir="${binDir%/bin}" -- --# the prefix dir (same as $FOAM_INST_DIR): - prefixDir="${projectDir%/*}" -+fi -+projectDirName="${projectDir##*/}" # The project directory name - --# the name used for the project directory --projectDirName="${projectDir##*/}" -+projectName="${WM_PROJECT:-OpenFOAM}" # The project name -+projectVersion="$WM_PROJECT_VERSION" # Empty? - will be treated later - --# version number used for debian packaging --unset versionNum - -+#------------------------------------------------------------------------------- -+ -+# Guess project version or simply get the stem part of the projectDirName. -+# Handle standard and debian naming conventions. - # --# handle standard and debian naming convention -+# - projectVersion: update unless already set - # --case "$projectDirName" in --OpenFOAM-*) # standard naming convention OpenFOAM-<VERSION> -- version="${projectDirName##OpenFOAM-}" -- ;; -+# Helper variables: -+# - dirBase (for reassembling name) == projectDirName without the version -+# - versionNum (debian packaging) -+unset dirBase versionNum -+guessVersion() -+{ -+ local version - --openfoam[0-9]* | openfoam-dev) # debian naming convention 'openfoam<VERSION>' -- versionNum="${projectDirName##openfoam}" -- case "$versionNum" in -- ??) # convert 2 digit version number to decimal delineated -- version=$(echo "$versionNum" | sed -e 's@\(.\)\(.\)@\1.\2@') -- ;; -- ???) # convert 3 digit version number to decimal delineated -- version=$(echo "$versionNum" | sed -e 's@\(.\)\(.\)\(.\)@\1.\2.\3@') -- ;; -- ????) # convert 4 digit version number to decimal delineated -- version=$(echo "$versionNum" | sed -e 's@\(.\)\(.\)\(.\)\(.\)@\1.\2.\3.\4@') -- ;; -- *) # failback - use current environment setting -- version="$WM_PROJECT_VERSION" -+ case "$projectDirName" in -+ (OpenFOAM-* | openfoam-*) -+ # Standard naming: OpenFOAM-<VERSION> or openfoam-<VERSION> -+ dirBase="${projectDirName%%-*}-" -+ version="${projectDirName#*-}" -+ version="${version%%*-}" # Extra safety, eg openfoam-version-packager -+ ;; -+ -+ (OpenFOAM+* | openfoam+*) -+ # Alternative naming: OpenFOAM+<VERSION> or openfoam+<VERSION> -+ dirBase="${projectDirName%%+*}+" -+ version="${projectDirName#*+}" -+ version="${version%%*-}" # Extra safety, eg openfoam-version-packager -+ ;; -+ -+ (openfoam[0-9]*) -+ # Debian naming: openfoam<VERSION> -+ dirBase="openfoam" -+ version="${projectDirName#openfoam}" -+ versionNum="$version" -+ -+ # Convert digits version number to decimal delineated -+ case "${#versionNum}" in (2|3|4) -+ version=$(echo "$versionNum" | sed -e 's@\([0-9]\)@\1.@g') -+ version="${version%.}" - ;; - esac -+ -+ # Ignore special treatment if no decimals were inserted. -+ [ "${#version}" -gt "${#versionNum}" ] || unset versionNum - ;; - --*) -- echo "Error : unknown/unsupported naming convention" -- exit 1 -+ (*) -+ die "unknown/unsupported naming convention for '$projectDirName'" - ;; - esac - -+ # Set projectVersion if required -+ : ${projectVersion:=$version} -+} -+ -+ -+# Set projectVersion and update versionNum, projectDirName accordingly -+setVersion() -+{ -+ projectVersion="$1" -+ -+ # Need dirBase when reassembling projectDirName -+ [ -n "$dirBase" ] || guessVersion -+ -+ # Debian: update x.y.z -> xyz version -+ if [ -n "$versionNum" ] -+ then -+ versionNum=$(echo "$projectVersion" | sed -e 's@\.@@g') -+ fi -+ -+ projectDirName="$dirBase${versionNum:-$projectVersion}" -+} -+ - --# default mode is 'ugo' --mode=ugo --unset optAll optList optQuiet optSilent -+optMode=ugo # Default mode is always 'ugo' -+unset optAll optList optShell optVersion - --# parse options -+# Parse options - while [ "$#" -gt 0 ] - do - case "$1" in -@@ -141,27 +210,45 @@ - ;; - -a | -all) - optAll=true -+ unset optShell - ;; - -l | -list) - optList=true -+ unset optShell -+ ;; -+ -list-test) -+ optList='test' -+ unset optShell -+ ;; -+ -csh | -sh | -csh-verbose | -sh-verbose) -+ optShell="${1#-}" -+ unset optAll -+ ;; -+ -mode=[ugo]*) -+ optMode="${1#*=}" -+ ;; -+ -prefix=/*) -+ prefixDir="${1#*=}" -+ prefixDir="${prefixDir%/}" -+ ;; -+ -version=*) -+ optVersion="${1#*=}" - ;; - -m | -mode) -- [ "$#" -ge 2 ] || usage "'$1' option requires an argument" -- mode="$2" -- -- # sanity check: -- case "$mode" in -- *u* | *g* | *o* ) -+ optMode="$2" -+ shift -+ # Sanity check. Handles missing argument too. -+ case "$optMode" in -+ ([ugo]*) - ;; -- *) -- usage "'$1' option with invalid mode '$mode'" -+ (*) -+ die "invalid mode '$optMode'" - ;; - esac -- shift - ;; - -p | -prefix) -- [ "$#" -ge 2 ] || usage "'$1' option requires an argument" -- prefixDir="$2" -+ [ "$#" -ge 2 ] || die "'$1' option requires an argument" -+ prefixDir="${2%/}" - shift - ;; - -q | -quiet) -@@ -171,13 +258,8 @@ - optSilent=true - ;; - -v | -version) -- [ "$#" -ge 2 ] || usage "'$1' option requires an argument" -- version="$2" -- # convert x.y.z -> xyz version (if installation looked like debian) -- if [ -n "$versionNum" ] -- then -- versionNum=$(echo "$version" | sed -e 's@\.@@g') -- fi -+ [ "$#" -ge 2 ] || die "'$1' option requires an argument" -+ optVersion="$2" - shift - ;; - --) -@@ -185,7 +267,7 @@ - break - ;; - -*) -- usage "unknown option: '$*'" -+ die "unknown option: '$1'" - ;; - *) - break -@@ -195,11 +277,28 @@ - done - - --# debugging: --# echo "Installed locations:" --# for i in projectDir prefixDir projectDirName version versionNum -+#------------------------------------------------------------------------------- -+ -+if [ -n "$optVersion" ] -+then -+ setVersion $optVersion -+elif [ -z "$projectVersion" ] -+then -+ guessVersion -+fi -+ -+# Updates: -+# - projectDir for changes via -prefix or -version -+# - projectSite for changes via -prefix -+projectDir="$prefixDir/$projectDirName" -+projectSite="${WM_PROJECT_SITE:-$prefixDir/site}" -+ -+ -+# Debugging: -+# echo "Installed locations:" 1>&2 -+# for i in projectDir prefixDir projectDirName projectVersion - # do --# eval echo "$i=\$$i" -+# eval echo "$i=\$$i" 1>&2 - # done - - -@@ -210,30 +309,18 @@ - - # Define the various places to be searched: - unset dirList --case "$mode" in --*u*) # user -- userDir="$HOME/.${WM_PROJECT:-OpenFOAM}" -- dirList="$dirList $userDir/$version $userDir" -+case "$optMode" in (*u*) # (U)ser -+ dirList="$dirList $HOME/.$projectName/$projectVersion $HOME/.$projectName" - ;; - esac - --case "$mode" in --*g*) # group (site) -- siteDir="${WM_PROJECT_SITE:-$prefixDir/site}" -- dirList="$dirList $siteDir/$version $siteDir" -+case "$optMode" in (*g*) # (G)roup == site -+ dirList="$dirList $projectSite/$projectVersion $projectSite" - ;; - esac - --case "$mode" in --*o*) # other (shipped) -- if [ -n "$versionNum" ] -- then -- # debian packaging -- dirList="$dirList $prefixDir/openfoam$versionNum/etc" -- else -- # standard packaging -- dirList="$dirList $prefixDir/${WM_PROJECT:-OpenFOAM}-$version/etc" -- fi -+case "$optMode" in (*o*) # (O)ther == shipped -+ dirList="$dirList $projectDir/etc" - ;; - esac - set -- $dirList -@@ -244,50 +331,87 @@ - # - - exitCode=0 --if [ "$optList" = true ] -+if [ -n "$optList" ] - then - -- # list directories, or potential file locations -- [ "$nArgs" -le 1 ] || usage -+ # List directories, or potential file locations -+ [ "$nArgs" -le 1 ] || \ -+ die "-list expects 0 or 1 filename, but $nArgs provided" -+ -+ # A silly combination, but -quiet does have precedence -+ [ -n "$optQuiet" ] && exit 0 - -- # a silly combination, but -quiet does have precedence -- [ "$optQuiet" = true ] && exit 0 -+ # Test for directory or file too? -+ if [ "$optList" = "test" ] -+ then -+ exitCode=2 # Fallback to a general error (file not found) - -+ if [ "$nArgs" -eq 1 ] -+ then - for dir - do -- if [ "$nArgs" -eq 1 ] -+ resolved="$dir/$fileName" -+ if [ -f "$resolved" ] - then -- echo "$dir/$fileName" -+ echo "$resolved" -+ exitCode=0 # OK -+ fi -+ done - else -+ for dir -+ do -+ if [ -d "$dir" ] -+ then - echo "$dir" -+ exitCode=0 # OK - fi - done -+ fi -+ else -+ for dir -+ do -+ echo "$dir${fileName:+/}$fileName" -+ done -+ fi - - else - -- [ "$nArgs" -eq 1 ] || usage -+ [ "$nArgs" -eq 1 ] || die "One filename expected - $nArgs provided" - -- # general error, eg file not found -- exitCode=2 -+ exitCode=2 # Fallback to a general error (file not found) - - for dir - do - if [ -f "$dir/$fileName" ] - then - exitCode=0 -- if [ "$optQuiet" = true ] -- then -+ [ -n "$optQuiet" ] && break -+ -+ case "$optShell" in -+ (*verbose) -+ echo "Using: $dir/$fileName" 1>&2 -+ ;; -+ esac -+ -+ case "$optShell" in -+ csh*) -+ echo "source $dir/$fileName" - break -- else -+ ;; -+ sh*) -+ echo ". $dir/$fileName" -+ break -+ ;; -+ *) - echo "$dir/$fileName" -- [ "$optAll" = true ] || break -- fi -+ [ -n "$optAll" ] || break -+ ;; -+ esac - fi - done - - fi - -- - exit $exitCode - - #------------------------------------------------------------------------------ |