aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/modules/files')
-rw-r--r--sys-cluster/modules/files/createmodule.py186
-rw-r--r--sys-cluster/modules/files/createmodule.sh166
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-avail.patch12
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-bindir.patch11
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-clear.patch11
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-defs.patch20
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-errorline.patch14
-rw-r--r--sys-cluster/modules/files/modules-3.2.10-versioning.patch10
-rw-r--r--sys-cluster/modules/files/modules-3.2.9c-errorline.patch14
-rw-r--r--sys-cluster/modules/files/modules.sh.in7
10 files changed, 0 insertions, 451 deletions
diff --git a/sys-cluster/modules/files/createmodule.py b/sys-cluster/modules/files/createmodule.py
deleted file mode 100644
index 60c6ba7fa..000000000
--- a/sys-cluster/modules/files/createmodule.py
+++ /dev/null
@@ -1,186 +0,0 @@
-#!/usr/bin/python
-#
-# createmodule.py - Takes the name of a environment init script and
-# produces a modulefile that duplicates the changes made by the init script
-#
-# Copyright (C) 2012 by Orion E. Poplawski <orion@cora.nwra.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-from optparse import OptionParser
-import os,sys
-from subprocess import *
-
-# Handle options
-usage = "Usage: %prog [-p prefix] <initscript> [args]"
-parser = OptionParser()
-parser.set_usage(usage)
-parser.add_option('-p', '--prefix', dest='prefix', help='Specify path prefix')
-(options, args) = parser.parse_args()
-
-# Need a script name
-if not args:
- parser.print_usage()
- exit(1)
-
-# Return environment after a command
-def getenv(cmd = ':'):
- env = {}
- p = Popen(cmd + ";env", shell=True, stdout=PIPE, stderr=PIPE)
- (stdout, stderr) = p.communicate()
- if p.returncode != 0:
- print "EROR: Could not execute initscript:"
- print "%s returned exit code %d" % (cmd, p.returncode)
- print stderr
- exit(1)
- if stderr != '':
- print "WARNING: initscript sent the following to stderr:"
- print stderr
- # Parse the output key=value pairs
- for line in stdout.splitlines():
- try:
- (var,value) = line.split('=',1)
- except ValueError:
- print "ERROR: Could not parse output:"
- print stdout
- exit(1)
- env[var] = value
- return env
-
-#Record initial environment
-env1=getenv()
-
-#Record environment after sourcing the initscript
-env2=getenv(". " + " ".join(args))
-
-# Initialize our variables for storing modifications
-chdir = None
-appendpath = {}
-prependpath = {}
-setenv = {}
-unsetenv = []
-pathnames = []
-
-# Function to nomalize all paths in a list of paths and remove duplicate items
-def normpaths(paths):
- newpaths = []
- for path in paths:
- normpath = os.path.normpath(path)
- if normpath not in newpaths:
- newpaths.append(os.path.normpath(path))
- return newpaths
-
-# Start with existing keys and look for changes
-for key in env1.keys():
- # Test for delete
- if key not in env2:
- unsetenv.append(key)
- continue
- # No change
- if env1[key] == env2[key]:
- del env2[key]
- continue
- #Working directory change
- if key == 'PWD':
- chdir=os.path.normpath(env2[key])
- pathnames.append(chdir)
- del env2[key]
- continue
- # Determine modifcations to beginning and end of the string
- (prepend,append) = env2[key].split(env1[key])
- if prepend:
- prependpaths = prepend.strip(':').split(':')
- # LICENSE variables often include paths outside install directory
- if 'LICENSE' not in key:
- pathnames += prependpaths
- prependpath[key] = ':'.join(normpaths(prependpaths))
- if append:
- appendpaths = append.strip(':').split(':')
- # LICENSE variables often include paths outside install directory
- if 'LICENSE' not in key:
- pathnames += appendpaths
- appendpath[key] = ':'.join(normpaths(appendpaths))
- del env2[key]
-
-# We're left with new keys in env2
-for key in env2.keys():
- # Use prepend-path for new paths
- if ('PATH' in key) or (':' in env2[key]):
- prependpaths = env2[key].strip(':').split(':')
- # MANPATH can have system defaults added it it wasn't previously set
- # LICENSE variables often include paths outside install directory
- if key != 'MANPATH' and 'LICENSE' not in key:
- pathnames += prependpaths
- prependpath[key] = ':'.join(normpaths(prependpaths))
- continue
- # Set new variables
- setenv[key] = os.path.normpath(env2[key])
- if 'LICENSE' not in key:
- pathnames.append(setenv[key])
-
-# Determine a prefix
-prefix = None
-if options.prefix:
- prefix = options.prefix
-else:
- prefix = os.path.commonprefix(pathnames).rstrip('/')
- if prefix == '':
- prefix = None
-
-# Print out the modulefile
-print "#%Module 1.0"
-
-# Prefix
-if prefix is not None:
- print "\nset prefix " + prefix + "\n"
-
-# Chdir
-if chdir is not None:
- print "chdir\t" + chdir
-
-# Function to format output line with tabs and substituting prefix
-def formatline(item, key, value=None):
- print item,
- print "\t"*(2-(len(item)+1)/8),
- print key,
- if value is not None:
- print "\t"*(3-(len(key)+1)/8),
- if prefix is not None:
- print value.replace(prefix,'$prefix')
- else:
- print value
-
-# Paths first, grouped by variable name
-pathkeys = appendpath.keys() + prependpath.keys()
-pathkeys.sort()
-for key in pathkeys:
- if key in prependpath:
- formatline("prepend-path",key,prependpath[key])
- if key in appendpath:
- formatline("append-path",key,appendpath[key])
-
-# Setenv
-setenvkeys = setenv.keys()
-setenvkeys.sort()
-if setenvkeys:
- print
-for key in setenvkeys:
- formatline("setenv",key,setenv[key])
-
-# Unsetenv
-unsetenv.sort()
-if unsetenv:
- print
-for key in unsetenv:
- formatline("unsetenv",key)
diff --git a/sys-cluster/modules/files/createmodule.sh b/sys-cluster/modules/files/createmodule.sh
deleted file mode 100644
index b44cf0512..000000000
--- a/sys-cluster/modules/files/createmodule.sh
+++ /dev/null
@@ -1,166 +0,0 @@
-#!/bin/bash
-#
-# createmodule.sh - Takes the name of a environment init script and
-# produces a modulefile that duplicates the changes made by the init script
-#
-# Copyright (C) 2010-2012 by Orion E. Poplawski <orion@cora.nwra.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-usage="Usage: $0 [-p prefix] <initscript> [args]"
-
-usage() {
- echo $usage 1>&2
- exit 1
-}
-
-while getopts "p:" opt
-do
- case $opt in
- p) prefix=$OPTARG; shift 2;;
- *) usage;;
- esac
-done
-
-# Need a script name
-[ -z "$1" ] && usage
-
-# Need to be a readable script
-if [ ! -r "$1" ]
-then
- echo "ERROR: Cannot read $1" 1>&2
- exit 1
-fi
-
-#Will print out array assignment list
-printenvarray () {
- env | while read x
- do
- key=${x%%=*}
- value=${x#*=}
- echo [$key]="'$value'"
- done
-}
-
-#Apparently we need to declare the associative arrays
-declare -A env1 env2
-
-#Record starting environment
-eval env1=(`printenvarray`)
-
-#Source the environment script
-. "$@"
-
-#Record ending environment
-eval env2=(`printenvarray`)
-
-#Print out the modulefile
-echo "#%Module 1.0"
-
-#Prefix
-[ -n "$prefix" ] && echo -e "\nset prefix $prefix\n"
-
-#Subshell so we can sort the output
-(
-dedup() {
- list=`mktemp`
- echo $1 | sed -r -e 's,[^/]+/\.\./,,g' -e 's,[^/]+/\.\./,,g' -e 's/:/\n/g' |
- while read x
- do
- grep -Fx ${x} $list && continue
- if [ -n "$prefix" ]
- then
- echo $x | sed -e s,$prefix,\$prefix,
- else
- echo $x
- fi
- echo $x >> $list
- done | tr '\n' : | sed -e 's/:$//'
- rm $list
-}
-
-#Keys that changed
-for key in "${!env1[@]}"
-do
- if [ "${env1[$key]}" != "${env2[$key]}" ]
- then
- #Working directory change
- if [ "$key" = PWD ]
- then
- if [ -n "$prefix" ]
- then
- echo -e "chdir\t\t${env2[PWD]}" | sed -e s,$prefix,\$prefix,g
- else
- echo -e "chdir\t\t${env2[PWD]}"
- fi
- #Test for delete
- elif [ -z "${env2[$key]}" ]
- then
- echo -e "unsetenv\t${key}\t${env2[$key]}"
- #Test for prepend
- elif [ "${env2[$key]%${env1[$key]}}" != "${env2[$key]}" ]
- then
- added=$(dedup ${env2[$key]%:${env1[$key]}})
- echo -e "prepend-path\t$key\t${added}"
- #Test for prepend plus : added at end (MANPATH)
- elif [ "${env2[$key]%${env1[$key]}:}" != "${env2[$key]}" ]
- then
- added=$(dedup ${env2[$key]%${env1[$key]}:})
- echo -e "prepend-path\t$key\t${added}"
- #Test for append
- elif [ "${env2[$key]#${env1[$key]}}" != "${env2[$key]}" ]
- then
- added=$(dedup ${env2[$key]#:${env1[$key]}})
- echo -e "append-path\t$key\t${added}"
- #Test for prepend plus append
- elif [ "${env2[$key]%${env1[$key]}:*}" != "${env2[$key]}" ]
- then
- added=$(dedup ${env2[$key]%:${env1[$key]}*})
- echo -e "prepend-path\t$key\t${added}"
- added=$(dedup ${env2[$key]#*${env1[$key]}:})
- echo -e "append-path\t$key\t${added}"
- else
- #Unhandled
- echo "Unhandled change of $key" 1>&2
- echo "Before <${env1[$key]}>" 1>&2
- echo "After <${env2[$key]}>" 1>&2
- fi
- fi
- #Delete keys we've handled
- unset env1[$key]
- unset env2[$key]
-done
-
-#New keys
-for key in "${!env2[@]}"
-do
- if [ "$key" = OLDPWD ]
- then
- continue
- fi
- #Use prepend-path for new paths
- if [ "${key/PATH/}" != "$key" ]
- then
- # TODO - Need to handle stripping of default MANPATH
- echo -e "prepend-path\t${key}\t"$(dedup ${env2[$key]})
- else
- if [ -n "$prefix" ]
- then
- echo -e "setenv\t\t${key}\t${env2[$key]}" | sed -e s,$prefix,\$prefix,g
- else
- echo -e "setenv\t\t${key}\t${env2[$key]}"
- fi
- fi
-done
-) | sort
diff --git a/sys-cluster/modules/files/modules-3.2.10-avail.patch b/sys-cluster/modules/files/modules-3.2.10-avail.patch
deleted file mode 100644
index 8d6f52b92..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-avail.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -up modules-3.2.10/init/bash_completion.in.avail modules-3.2.10/init/bash_completion.in
---- modules-3.2.10/init/bash_completion.in.avail 2012-10-25 13:33:34.000000000 -0600
-+++ modules-3.2.10/init/bash_completion.in 2013-01-15 12:05:37.247309733 -0700
-@@ -56,7 +56,7 @@ _module() {
- unuse) COMPREPLY=( $(IFS=: compgen -W "${MODULEPATH}" -- "$cur") );;
- use|*-a*) ;; # let readline handle the completion
- -u|--userlvl) COMPREPLY=( $(compgen -W "novice expert advanced" -- "$cur") );;
-- display|help|show|whatis)
-+ av*|disp*|help|show|whatis)
- COMPREPLY=( $(compgen -W "$(_module_avail)" -- "$cur") );;
- *) if test $COMP_CWORD -gt 2
- then
diff --git a/sys-cluster/modules/files/modules-3.2.10-bindir.patch b/sys-cluster/modules/files/modules-3.2.10-bindir.patch
deleted file mode 100644
index 2066d7f13..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-bindir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- modules-3.2.10.orig/init/Makefile.in 2009-09-22 12:13:52.000000000 -0600
-+++ modules-3.2.10/init/Makefile.in 2009-09-23 12:19:50.797470155 -0600
-@@ -404,7 +404,7 @@
- sed -e "/@$(if $(subst 0,,$(WANTS_VERSIONING)),NOT,)VERSIONING\@/d; \
- s,@$(if $(subst 0,,$(WANTS_VERSIONING)),,NOT)VERSIONING\@,,g; \
- s,@prefix\@,${prefix},g; \
-- s,@bindir\@,${exec_prefix}/bin,g; \
-+ s,@bindir\@,${bindir},g; \
- s,@VERSION\@,@VERSION@,g; \
- s,@BASEPREFIX\@,@BASEPREFIX@,g;" < $< > $@
-
diff --git a/sys-cluster/modules/files/modules-3.2.10-clear.patch b/sys-cluster/modules/files/modules-3.2.10-clear.patch
deleted file mode 100644
index 0817db5c2..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-clear.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- modules-3.2.9/utility.c 2011-11-28 22:27:13.000000000 +0100
-+++ modules-3.2.9-new/utility.c 2012-06-13 15:17:41.570629148 +0200
-@@ -727,7 +727,7 @@ int Output_Modulefile_Changes( Tcl_Inter
- output_unset_variable( (char*) key);
- } else {
- val = EMGetEnv(interp, key);
-- if(val && *val)
-+ if(val)
- output_set_variable(interp, (char*) key, val);
- null_free((void *)&val);
- }
diff --git a/sys-cluster/modules/files/modules-3.2.10-defs.patch b/sys-cluster/modules/files/modules-3.2.10-defs.patch
deleted file mode 100644
index 412abebd7..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-defs.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- modules-3.2.10/modules_def.h.orig 2017-04-21 19:33:52.698720482 +0300
-+++ modules-3.2.10/modules_def.h 2017-04-21 19:35:19.506727343 +0300
-@@ -616,6 +616,9 @@
- /** ModuleCmd_Purge.c **/
- extern int ModuleCmd_Purge( Tcl_Interp*, int, char*[]);
-
-+/** ModuleCmd_Refresh.c **/
-+extern int ModuleCmd_Refresh( Tcl_Interp*, int argc, char*[]);
-+
- /** ModuleCmd_Switch.c **/
- extern int ModuleCmd_Switch( Tcl_Interp*, int, char*[]);
-
-@@ -753,6 +756,7 @@
- extern char *EMGetEnv(Tcl_Interp *, char const *);
- extern char *EMSetEnv(Tcl_Interp *, char const *, char const *);
- extern int is_interactive(void);
-+extern void regex_quote(const char *, char *, int len);
-
- #ifndef HAVE_STRDUP
- # undef strdup
diff --git a/sys-cluster/modules/files/modules-3.2.10-errorline.patch b/sys-cluster/modules/files/modules-3.2.10-errorline.patch
deleted file mode 100644
index b2962f104..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-errorline.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru modules-3.2.9-old/cmdModule.c modules-3.2.9/cmdModule.c
---- modules-3.2.9-old/cmdModule.c 2013-06-02 22:46:09.196302980 +0200
-+++ modules-3.2.9/cmdModule.c 2013-06-02 22:53:36.706298800 +0200
-@@ -640,8 +640,8 @@
- case TCL_OK: gotPartial = 0;
- continue; /** while **/
-
-- case TCL_ERROR: interp->errorLine = ((linenum-1)-gotPartial) +
-- interp->errorLine;
-+ case TCL_ERROR: Tcl_SetErrorLine(interp, ((linenum-1)-gotPartial) +
-+ Tcl_GetErrorLine(interp));
- /* FALLTHROUGH */
-
- case TCL_LEVEL0_RETURN:
diff --git a/sys-cluster/modules/files/modules-3.2.10-versioning.patch b/sys-cluster/modules/files/modules-3.2.10-versioning.patch
deleted file mode 100644
index 7bda92023..000000000
--- a/sys-cluster/modules/files/modules-3.2.10-versioning.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff -up modules-3.2.10/modulefiles/modules.in.versioning modules-3.2.10/modulefiles/modules.in
---- modules-3.2.10/modulefiles/modules.in.versioning 2012-10-25 13:33:34.000000000 -0600
-+++ modules-3.2.10/modulefiles/modules.in 2013-01-15 11:30:22.046031158 -0700
-@@ -26,5 +26,5 @@ setenv MODULESHOME $prefix
- prepend-path PATH @bindir@
- prepend-path MANPATH @mandir@
-
--module use @VERSIONPATH@
-+@VERSIONING@module use @VERSIONPATH@
-
diff --git a/sys-cluster/modules/files/modules-3.2.9c-errorline.patch b/sys-cluster/modules/files/modules-3.2.9c-errorline.patch
deleted file mode 100644
index b2962f104..000000000
--- a/sys-cluster/modules/files/modules-3.2.9c-errorline.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru modules-3.2.9-old/cmdModule.c modules-3.2.9/cmdModule.c
---- modules-3.2.9-old/cmdModule.c 2013-06-02 22:46:09.196302980 +0200
-+++ modules-3.2.9/cmdModule.c 2013-06-02 22:53:36.706298800 +0200
-@@ -640,8 +640,8 @@
- case TCL_OK: gotPartial = 0;
- continue; /** while **/
-
-- case TCL_ERROR: interp->errorLine = ((linenum-1)-gotPartial) +
-- interp->errorLine;
-+ case TCL_ERROR: Tcl_SetErrorLine(interp, ((linenum-1)-gotPartial) +
-+ Tcl_GetErrorLine(interp));
- /* FALLTHROUGH */
-
- case TCL_LEVEL0_RETURN:
diff --git a/sys-cluster/modules/files/modules.sh.in b/sys-cluster/modules/files/modules.sh.in
deleted file mode 100644
index e3d6d43b2..000000000
--- a/sys-cluster/modules/files/modules.sh.in
+++ /dev/null
@@ -1,7 +0,0 @@
-shell=$(basename $(ps -p $$ -ocomm=))
-if [ -f @EPREFIX@/usr/share/Modules/init/${shell} ]
-then
- . @EPREFIX@/usr/share/Modules/init/${shell}
-else
- . @EPREFIX@/usr/share/Modules/init/sh
-fi