--- Makefile.in +++ Makefile.in @@ -37,17 +37,17 @@ LIBS = -ltcl@TCL_VERSION@ @TCLX_LIBS@ @X11_LIBS@ @X_EXTRA_LIBS@ @LIBS@ # Standard definition (a'la GNU) -prefix = @prefix@ +prefix = $(DESTDIR)@prefix@ exec_prefix = @exec_prefix@ -man_prefix = @prefix@ +man_prefix = $(DESTDIR)@prefix@ CFLAGS = @CFLAGS@ -DINSTPATH=\"$(prefix)\" LDFLAGS = @LDFLAGS@ # Directory in which to install binaries, module files, and init files bindir = $(exec_prefix)/bin -filedir = $(prefix)/modulefiles -initdir = $(prefix)/init +filedir = $(prefix)/share/modules/modulefiles +initdir = $(prefix)/share/modules/init SHELL = /bin/sh --- config.h.in +++ config.h.in @@ -210,6 +210,9 @@ /* Define if you have the syslog function. */ #undef HAVE_SYSLOG +/* Define if you have the mkstemp function. */ +#undef HAVE_MKSTEMP + /* Define if you have the tempnam function. */ #undef HAVE_TEMPNAM --- configure.in +++ configure.in @@ -79,7 +79,7 @@ dnl also expand @VERSION@ in path DEFAULTPATH=default if test "$prefix" != "NONE" ; then - DEFAULTPATH=`echo $prefix | sed -e s%@VERSION@%$DEFAULTPATH%g` + DEFAULTPATH=/usr/share/modules BASEPREFIX=`echo $prefix | sed -e s%@VERSION@%%g` prefix=`echo $prefix | sed -e s%@VERSION@%$VERSION%g` NODEFAULTPATH=$prefix @@ -127,7 +127,7 @@ AC_CHECK_LIB(socket, socket) AC_CHECK_LIB(nsl, t_accept) AC_PATH_XTRA -AC_HAVE_FUNCS(strdup strtok uname gethostname getdomainname tempnam tmpnam \ +AC_HAVE_FUNCS(strdup strtok uname gethostname getdomainname mkstemp tempnam tmpnam \ syslog dup2) AC_PATH_PROG_SEARCH(_CPPSTDIN, cpp, /lib /usr/lib /usr/lang \ /usr/local/lang /usr/ccs/lib, [${CC} -E]) @@ -506,7 +506,7 @@ AC_MAKE_INCLUDE(tclx_includes, TCLX_INC_DIR) AC_MAKE_LIBRARY(tclx_libraries, TCLX_LIB_DIR) TCLX_LIBS="-ltclx" - AC_REQUIRE([AC_PATH_XTRA]) + dnl AC_REQUIRE([AC_PATH_XTRA]) fi) dnl dnl -------------------------------------------------------------- @@ -518,7 +518,7 @@ dnl --with-skel-path dnl AC_ARG_WITH(module-path, - [ --with-module-path= use module path= [/usr/local/Modules/modulefiles]], + [ --with-module-path= use module path= [/usr/share/modules/modulefiles]], MODULEPATH="$withval" AC_MSG_RESULT([MODULEPATH = $with_module_path]) AC_DEFINE_UNQUOTED(MODULEPATH, "$withval") --- doc/Makefile.in +++ doc/Makefile.in @@ -25,8 +25,8 @@ # Directory in which to install man pages mandir = @mandir@ -man1dir = $(mandir)/man1 -man4dir = $(mandir)/man4 +man1dir = $(DESTDIR)/$(mandir)/man1 +man4dir = $(DESTDIR)/$(mandir)/man4 SHELL = /bin/sh --- etc/Makefile.in +++ etc/Makefile.in @@ -17,14 +17,14 @@ INSTALL_PROGRAM = $(INSTALL) -m 0755 INSTALL_DATA = $(INSTALL) -m 0644 -# Standard definition (a'la GNU) -prefix = @prefix@ + +prefix = $(DESTDIR)/@prefix@ exec_prefix = @exec_prefix@ -man_prefix = @prefix@ +man_prefix = $(DESTDIR)/@mandir@ # Directory in which to install scripts bindir = $(exec_prefix)/bin -filedir = $(prefix)/modulefiles +filedir = $(prefix)/share/modules/modulefiles SHELL = /bin/sh --- etc/global/profile.modules.in +++ etc/global/profile.modules.in @@ -11,4 +11,4 @@ *) . @DEFAULTPATH@/init/sh ;; # default for scripts esac -trap 1 2 3 +trap - 1 2 3 --- ext/Makefile.in +++ ext/Makefile.in @@ -18,13 +18,13 @@ INSTALL_DATA = $(INSTALL) -m 0644 # Standard definition (a'la GNU) -prefix = @prefix@ -exec_prefix = @exec_prefix@ -man_prefix = @prefix@ +prefix = $(DESTDIR)/@prefix@ +exec_prefix = $(DESTDIR)/@exec_prefix@ +man_prefix = $(DESTDIR)/@mandir@ # Directory in which to install scripts bindir = $(exec_prefix)/bin -filedir = $(prefix)/modulefiles +filedir = $(prefix)/share/modules/modulefiles SHELL = /bin/sh --- init/.modulespath.in +++ init/.modulespath.in @@ -14,6 +14,6 @@ # @VERSIONPATH@ # location of version files -@BASEPREFIX@$MODULE_VERSION/modulefiles # Module pkg modulefiles +#@BASEPREFIX@$MODULE_VERSION/modulefiles # Module pkg modulefiles @MODULEPATH@ # General module files # @prefix@/your_contribs # Edit for your requirements --- init/Makefile.in +++ init/Makefile.in @@ -18,14 +18,14 @@ INSTALL_DATA = $(INSTALL) -m 0644 # Standard definition (a'la GNU) -prefix = @prefix@ +prefix = $(DESTDIR)/@prefix@ exec_prefix = @exec_prefix@ -man_prefix = @prefix@ +man_prefix = $(DESTDIR)/@mandir@ # Directory in which to install binaries, module files, and init files bindir = $(exec_prefix)/bin -filedir = $(prefix)/modulefiles -initdir = $(prefix)/init +filedir = $(prefix)/share/modules/modulefiles +initdir = $(prefix)/share/modules/init SHELL = /bin/sh --- init/bash.in +++ init/bash.in @@ -8,9 +8,9 @@ fi export MODULE_VERSION_STACK -module() { eval `@BASEPREFIX@$MODULE_VERSION/bin/modulecmd bash $*`; } +module() { eval `@BASEPREFIX@/bin/modulecmd bash $*`; } -MODULESHOME=@prefix@ +MODULESHOME=@prefix@/share/modules export MODULESHOME if [ "${LOADEDMODULES:-}" = "" ]; then @@ -19,6 +19,6 @@ fi if [ "${MODULEPATH:-}" = "" ]; then - MODULEPATH=`sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}'` + MODULEPATH=`sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}' | sed 's/:$//'` export MODULEPATH fi --- init/csh.in +++ init/csh.in @@ -9,7 +9,7 @@ setenv MODULE_VERSION "@VERSION@" setenv MODULE_VERSION_STACK "@VERSION@" endif -set exec_prefix='@BASEPREFIX@$MODULE_VERSION' +set exec_prefix='@BASEPREFIX@' if ( $?histchars ) then set _histchars = $histchars @@ -27,10 +27,10 @@ endif unset exec_prefix -setenv MODULESHOME @prefix@ +setenv MODULESHOME @prefix@/share/modules if (! $?MODULEPATH ) then - setenv MODULEPATH `sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}'` + setenv MODULEPATH `sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}' | sed 's/:$//'` endif if (! $?LOADEDMODULES ) then --- init/ksh.in +++ init/ksh.in @@ -8,9 +8,9 @@ fi export MODULE_VERSION_STACK -module() { eval `@BASEPREFIX@$MODULE_VERSION/bin/modulecmd ksh $*`; } +module() { eval `@BASEPREFIX@/bin/modulecmd ksh $*`; } -MODULESHOME=@prefix@ +MODULESHOME=@prefix@/share/modules export MODULESHOME if [ "${LOADEDMODULES:-}" = "" ]; then @@ -19,6 +19,6 @@ fi if [ "${MODULEPATH:-}" = "" ]; then - MODULEPATH=`sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}'` + MODULEPATH=`sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}' | sed 's/:$//'` export MODULEPATH fi --- init/perl.in +++ init/perl.in @@ -8,15 +8,15 @@ sub module { local ($exec_prefix); - $exec_prefix = "@BASEPREFIX@".$ENV{MODULE_VERSION}; + $exec_prefix = "@BASEPREFIX@"; eval `$exec_prefix/bin/modulecmd perl @_`; } -$ENV{MODULESHOME} = "@prefix@"; +$ENV{MODULESHOME} = "@prefix@/share/modules"; if (! defined $ENV{MODULEPATH} ) { - $ENV{MODULEPATH} = `sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}'` + $ENV{MODULEPATH} = `sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}' | sed 's/:$//'` } if (! defined $ENV{LOADEDMODULES} ) { --- init/python.in +++ init/python.in @@ -6,7 +6,7 @@ else: os.environ['MODULE_VERSION_STACK'] = os.environ['MODULE_VERSION'] -os.environ['MODULESHOME'] = '@prefix@' +os.environ['MODULESHOME'] = '@prefix@/share/modules' if not os.environ.has_key('MODULEPATH'): os.environ['MODULEPATH'] = os.popen("""sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}'""").readline() --- init/sh.in +++ init/sh.in @@ -8,9 +8,9 @@ fi export MODULE_VERSION_STACK -module() { eval `@BASEPREFIX@$MODULE_VERSION/bin/modulecmd sh $*`; } +module() { eval `@BASEPREFIX@/bin/modulecmd sh $*`; } -MODULESHOME=@prefix@ +MODULESHOME=@prefix@/share/modules export MODULESHOME if [ "${LOADEDMODULES:-}" = "" ]; then @@ -19,6 +19,6 @@ fi if [ "${MODULEPATH:-}" = "" ]; then - MODULEPATH=`sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}'` + MODULEPATH=`sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}' | sed 's/:$//'` export MODULEPATH fi --- init/tcsh.in +++ init/tcsh.in @@ -5,7 +5,7 @@ setenv MODULE_VERSION "@VERSION@" setenv MODULE_VERSION_STACK "@VERSION@" endif -set exec_prefix='@BASEPREFIX@$MODULE_VERSION' +set exec_prefix='@BASEPREFIX@' if ( $?histchars ) then set histchar = `echo $histchars | cut -c1` @@ -19,10 +19,10 @@ endif unset exec_prefix -setenv MODULESHOME @prefix@ +setenv MODULESHOME @prefix@/share/modules if (! $?MODULEPATH ) then - setenv MODULEPATH `sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}'` + setenv MODULEPATH `sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}' | sed 's/:$//'` endif if (! $?LOADEDMODULES ) then --- init/zsh.in +++ init/zsh.in @@ -8,9 +8,9 @@ fi export MODULE_VERSION_STACK -module() { eval `@BASEPREFIX@$MODULE_VERSION/bin/modulecmd zsh $*`; } +module() { eval `@BASEPREFIX@/bin/modulecmd zsh $*`; } -MODULESHOME=@prefix@ +MODULESHOME=@prefix@/share/modules export MODULESHOME if [ "${LOADEDMODULES:-}" = "" ]; then @@ -19,6 +19,6 @@ fi if [ "${MODULEPATH:-}" = "" ]; then - MODULEPATH=`sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}'` + MODULEPATH=`sed 's/#.*$//' ${MODULESHOME}/init/.modulespath | awk 'NF==1{printf("%s:",$1)}' | sed 's/:$//'` export MODULEPATH fi --- modulefiles/Makefile.in +++ modulefiles/Makefile.in @@ -17,13 +17,13 @@ INSTALL_DATA = $(INSTALL) -m 0644 # Standard definition (a'la GNU) -prefix = @prefix@ +prefix = $(DESTDIR)@prefix@ exec_prefix = @exec_prefix@ -man_prefix = @prefix@ +man_prefix = $(DESTDIR)@mandir@ -# Directory in which to module files -filedir = $(prefix)/modulefiles -versdir = @VERSIONPATH@ + +filedir = $(prefix)/share/modules/modulefiles +versdir = $(prefix)/share/modules SHELL = /bin/sh --- utility.c +++ utility.c @@ -741,6 +741,7 @@ char *val = NULL, /** Stored value (is a pointer!) **/ *key; /** Tcl hash key **/ int i; /** Loop counter **/ + int fd; char *sourceCommand; /** Command used to source the alias **/ /** @@ -760,6 +761,12 @@ ** The default for aliasfile, if no shell sourcing is used, is stdout. **/ +#ifdef HAVE_MKSTEMP + char aliasfilename[] = "/tmp/M_od_.XXXXXX"; + if (fd = mkstemp(aliasfilename) < 0) + if( OK != ErrorLogger( ERR_OPEN, LOC, aliasfilename, "append", NULL)) + return( TCL_ERROR); /** -------- EXIT (FAILURE) -------> **/ +#else #ifdef HAVE_TEMPNAM char* aliasfilename = (char *)tempnam(NULL, "M_od_"); #else @@ -770,6 +777,7 @@ char* aliasfilename = "M_od_temp"; #endif /* not HAVE_TMPNAM */ #endif /* not HAVE_TEMPNAM */ +#endif /* not HAVE_MKSTEMP */ #endif /* not EVAL_ALIAS */ table[0] = aliasSetHashTable; @@ -803,9 +811,15 @@ ** Open the file ... **/ +#ifdef HAVE_MKSTEMP + if( !( aliasfile = fdopen(fd, "w+"))) { + if( OK != ErrorLogger( ERR_OPEN, LOC, aliasfilename, "append", NULL)) + return( TCL_ERROR); /** -------- EXIT (FAILURE) -------> **/ +#else if( !( aliasfile = fopen((char *) aliasfilename, "w+"))) { if( OK != ErrorLogger( ERR_OPEN, LOC, aliasfilename, "append", NULL)) return( TCL_ERROR); /** -------- EXIT (FAILURE) -------> **/ +#endif } else {