Now a specific package repository is fetched when Spack is first used.
Make this initialization happen at install time, rather during the first
source-sh test.
Signed-off-by: Xavier Delaruelle <xavier.delaruelle@cea.fr>
Introduce the --with-spider-output and --with-spider-terse-output
configure options to choose at installation time the default list of
elements to report on spider command.
Signed-off-by: Xavier Delaruelle <xavier.delaruelle@cea.fr>
Give a more clear name to the "contrib" directory that contains
architecture and configuration independent data. New directory name is
"share", which correctly matches the destination of these files into the
installation directory.
Save properties of reloading modules (is user asked, variant list and
extra tag list) in a global array g_savedPropsOfReloadMod rather than
returning these information in local arrays are that then transmitted to
the reloading phase.
Introduce the --enable-conflict-unload configure option to choose at
installation time if conflict should be automatically unloaded or not.
Option is disabled by default.
Update execute-modulefile procedure to add requested argument. This
piece of information tells if the evaluation has been requested by user
or if it is an automatically triggered evaluation.
Internal evaluation (refresh, scan and whatis) are considered auto
evaluations.
Introduce the --with-logger and --with-logger-opts configure options to
choose at installation time the default logger command and its options
to use to log information. Default logger is 'logger' and its default
options are '-t modules'.
Revert use of getgrouplist C function instead of getgroups. getgrouplist
returns a result different than the one obtained with "id" command on
some OSes (FreeBSD, Cygwin, MSYS).
Stay with getgroups for the moment, as it is still the standard way
(POSIX.1-2008) to retrieve user groups.
Update Envmodules_InitStateUsergroupsObjCmd to rely on getgrouplist C
function rather getgroups. getgrouplist seems to be a more modern
function to get user's groups. It automatically includes primary group
if not part of supplementary groups. No duplicate result are returned.
Update Envmodules_InitStateUsergroupsObjCmd to make a first dummy call
to "getgroups" function in order to retrieve the number of groups and
then be able to allocate the right array size.
With such change, our function does not rely anymore on sysconf function
and on NGROUPS_MAX and DEFAULT_MAXGROUPS defines.
modulefile man page is currently in the section 4 of man. According to
"man man", this is incorrect, as section 4 is for "Special files (usually
found in /dev)". The man page for modulefile should be in section 5,
"File formats and conventions, e.g. /etc/passwd".
This patch moves modulefile(4) to modulefile(5).
Fixes#518
Make a specific Nagelfar syntaxdb for modulecmd.tcl development. Gather
all procedure definitions as Tcl code is split in several files merged
to build modulecmd.tcl.
Introduce the --with-error-on-multi-load option to choose at
installation time the default error behavior when loading multiple
modulefiles. Default behavior is "continue".
Introduce the --enable-unique-name-loaded configure option to choose at
installation time to enable the unique_name_loaded configuration option
which allows only one module loaded per module name.
Configure option is disabled by default.
Introduce the --with-sticky-purge configure option to choose at
installation time the default error behavior when unloading a sticky
module during a purge command. Allowed values are error (default),
warning and silent.
Install ChangeLog.gz zipped documentation file instead of ChangeLog to
reduce installation size (-1.5 MB).
As a result, gzip becomes mandatory when building Modules from git
repository.
Append major.minor version number to the #%Module header prefix of
generated cache files. Cache file can be used only if generated for the current
release of Modules used.
Change cache.tcl into cache.tcl.in to get Modules release number
resolved at build time.
Implement cacheclear sub-command. For each modulepath enabled, check
module cache file exists. If yes and if modulepath is writable for user,
try to delete the cache file.
Report message block is used to report file deletion. Reports are output
in normal verbosity level or higher. A warning message is emitted if
modulepath is not writable for user.
Add tcl/cache.tcl source file to store procedure related to cache
mechanism. Update Makefile to properly generate modulecmd.tcl with this
new tcl file.
This reverts commit 59ac24e243.
FPATH variable cannot be handled within autoinit process as this is not
an environment variable. Thus when modulecmd.tcl is executed, it does
not know the current value of FPATH. So if it sets FPATH during
autoinit, previous value of this variable is lost. As a result FPATH
must stay defined in initialization script.
Use install command rather mkdir or cp to apply regular file mode when
installing Modules. A specific umask configuration set in the current
environment will not impact modes set on installed files.
Follow same approach than Makefiles generated by autotools, with an
INSTALL Makefile variable.
Add --nagelfardatadir and --enable-nagelfar-addons installation option
to control whether or not Modules-specific Nagelfar files need to be
installed and in what location.
Introduce the --with-tcl-linter-opts configure option to choose at
installation time the options to pass to the tcl linter program. Default
option is ''.
Introduce the --with-tcl-linter configure option to choose at
installation time the default program command to use to lint
modulefiles. Default Tcl linter is 'nagelfar.tcl'.
Add zsh FPATH setup in autoinit command instead of zsh shell
initialization script. This way all the shell setup is gathered in the
autoinit process. What is left in initialization script is the code to
properly call the autoinit process.
Fixes#462.
Add shell completion setup in autoinit command instead of shell
initialization scripts. Use this way one modulecmd.tcl internal code
instead of shell code for every shell having some completion to source
(bash, tcsh, fish).
Fixes#462.