Hi Kenneth, Yes, that helps. The example I gave was TCL but I did plan on using Lua for EB generated modules. I think the only environment variable that we ever need to grab is $USER, as in my example. Is there another (better?) way to accomplish this?
Thanks. Glenn On Mon, Feb 29, 2016 at 1:12 PM, Kenneth Hoste <[email protected]> wrote: > Hi Glenn, > > On 29/02/16 20:02, Glenn Johnson wrote: > > I am relatively new to Easybuild so I apologize if I overlooked something. > Is there a way to add extra variables that are local to environment module > files? That would be in addition to the 'root' variable that is set. As an > example, our (non-EB) Gaussian09 module uses the following to set the user > scratch directory: > > #%Module > ... > set user $env(USER) > ... > setenv GAUSS_SCRDIR /scratch/Users/$user > > I see the option to add extra environment variables: > modextravars > > How can I get the extra variables to use the value of a module local > variable? > > > The only way right now would be to use 'modtclfooter'. > > Since you get no control over the order, you'll probably need to jam the > 'setenv' in there too. > > modtclfooter = "set user $env(USER)\nsetenv GAUSS_SCRDIR > /scratch/Users/$user" > > Note that if you ever start generating module files in Lua syntax (to be > consumed by Lmod), this will simply be ignored; to be 'safe' you should add > the equivalent 'modluafooter' too. > > I guess we could add support for something like "modlocalvars", but since > you also want to grab values from the environment, it would have to be both > 'modlocalvarstcl' and 'modlocalvarslua', and I don't like where this is > going... :) > > Does this help? > > > regards, > > Kenneth >

