I've upload a new version of modules to metalab.unc.edu and to my own
ftp site. Here are the changes with the previous version:
* Fixed xgetenv
* A bunch of patches from Robert Minsk
that eliminates a lot of the compile time warnings
(mostly unused variables etc.)
* More patches from Robert Minsk for the --disable-cache
option.
* Modified add.modules to provisionally handle .bash_profile
and .bash_login (thanks to Ted Richards).
* Modified the way shell start-up files are specified in init.c
with patches from Max Zomborszki. Now easier for a site
to make local customizations.
If you have installed 3.0.6-rko the way I've outlined in the revised
INSTALL file, then you should be able to configure/make/test/install and
test it out the new 3.0.7-rko version privately to make sure it works
in a real environment then change the "default" symbolic link when ready
for production.
Most of the changes this time were submitted patches, that
clean-up the code. I won't be able to make many significant changes
for the next few months because of a critical project I'm working on
for my employers. So I'll venture a couple of challenges to this
list.
1) Right now, when you do a "module unload xxx" in a modulefile that
contains a "module load yyy", it first loads "yyy" just to unload
it again. Presumeable to make sure it exists in your module list.
I believe this is because ModuleCmd_Load.c will return an error code
if the module doesn't exist on your list when an unload is performed.
The challenge is to rewrite ModuleCmd_Load.c to be cleaner (the same
routine is used to load & unload modules) and not to return an error if
the module isn't in your list. I don't view unloading a module that's
not in your list to be an error.
2) The 2nd challenge is to create a Tcl/Tk script that can automate
the creation of modulefiles based on a configurable boilerplate.
It should graphically enable/disable the inclusion of the typical
env.vars (PATH,MANPATH,INFOPATH,C_INCLUDE_PATH,LIBRARY_PATH,
LD_LIBRARY_PATH, XAPPLRESDIR, etc.) based on the package root and
likely paths. Must be Tcl/Tk for the obvious reason that Modules
relies on Tcl/Tk and not, say, Perl/Tk.
3) The 3rd challenge - fix-up the "module list" to show module paths
beyond 2 levels.
Also, Now that www.modules.org appears to be back if any of you out
there have some pull with {www|ftp}.modules.org I would like to upload
the sources there and update a web page or two, but I've never gotten a
response from web...@mo... or anyone remotely connected with it.
If you take on these challenges and are caught or killed the Secretary
will disavow any knowledge of your mission. (For the humor impaired
this an obvious reference to "Mission: Impossible".)
R.K.
+-----------------------+----------------------------------+
| R.K.Owen,PhD | rk...@ow... |
| KooZ Software | |
| NERSC/LBNL | rk...@ne... (510)486-7556 |
+-----------------------+----------------------------------+
BTW, here's the LSM:
Begin3
Title: modules
Version: 3.0.7-rko
Entered-date: 07APR00
Description: The Modules package provides for the dynamic modification of
a user's environment via modulefiles.
Each modulefile contains the information needed to
configure the shell for an application. Once the Modules
package is initialized, the environment can be modified on
a per-module basis using the module command which
interprets modulefiles. Typically modulefiles instruct
the module command to alter or set shell environment
variables such as PATH, MANPATH, etc. modulefiles may be
shared by many users on a system and users may have their
own collection to supplement or replace the shared
modulefiles.
The modules environment is common on SGI/Crays and many
workstation farms.
Keywords: modules, user environment, shells, scripting
Author: jl...@be... (John Furlani)
Maintained-by: rk...@ow... (R.K. Owen) - send comments regarding
this distribution here
Primary-site: sunsite.unc.edu /pub/Linux/utils/shell/
Alternate-site: owen.sj.ca.us /pub/rkowen/modules/
Original-site: ftp.modules.org /pub/distrib/ (moribund)
Platforms: Unix, ANSI-C, Tcl > 7.4
Copying-policy: BSD type license, freely distributable, viral copyright,
only media charges for derivative work, such as this one.
End
|