Commit Graph

154 Commits

Author SHA1 Message Date
Xavier Delaruelle
979349da7d Add tag_abbrev configuration 2020-12-18 18:58:37 +01:00
Xavier Delaruelle
d371aac50a install: clear git remote in build ref tag 2020-12-18 18:58:26 +01:00
Xavier Delaruelle
045c0a5aba Add implicit_requirement config
Introduce the implicit_requirement configuration option to control
whether a prereq or conflict requirement should be implicitly set
toward modules respectively specified on module load or module unload
commands in modulefile.

Default value for option could be set at configure time with the
--enable-implicit-requirement option (enabled by default). This value
could be superseded by setup of implicit_requirement option with config
sub-command. Which set the MODULES_IMPLICIT_REQUIREMENT environment
variable.
2020-11-15 10:03:42 +01:00
Xavier Delaruelle
058fd0b59f ts: test wildcard char in modulespath conf 2020-11-15 10:03:31 +01:00
Xavier Delaruelle
b0a133a443 ts/travis: test multilib support with use of alt lib 2020-09-26 08:04:39 +02:00
Xavier Delaruelle
72ef59f412 ts/lib: test tcl ext lib against a failed mktime call
Add an utility library that supersedes the mktime function from libc.
The mktime function from this added library always returns an error
(-1). It is used for coverage test of the mktime call made within the
Envmodules_ParseDateTimeArgObjCmd function of the Tcl extension library.
2020-09-18 22:41:32 +02:00
Xavier Delaruelle
f868cc2d11 ts/lib: test tcl ext lib against a failed time call
Add an utility library that supersedes the time function from libc. The
time function from this added library always returns an error (-1). It
is used for coverage test of the time call made within the
Envmodules_InitStateClockSecondsObjCmd function of the Tcl extension
library.
2020-09-16 22:32:22 +02:00
Xavier Delaruelle
178b9ef6df install: add --with-nearly-forbidden-days configure opt
Introduce the --with-nearly-forbidden-days ./configure script option to
define the number of days a module is considered nearly forbidden prior
reaching its expiry date limit set by module-forbid command.
2020-08-28 07:18:25 +02:00
Xavier Delaruelle
d72eb251ea ts/lib: test tcl ext lib against a dup ent res getgroups call
Add an utility library that supersedes the getgroups function from libc.
The getgroups function from this added library always returns a list
with 3 elements that all correspond to user's primary group. It is used
for coverage test of the getgroups call made within the
Envmodules_InitStateUsergroupsObjCmd function of the Tcl extension
library.
2020-08-10 08:06:09 +02:00
Xavier Delaruelle
f1d67c9f11 install: raise error when making srpm/rpm if no compat
Raise an error when trying to build SRPM or RPM packages if
compatibility version sources are missing.
2020-08-10 08:06:09 +02:00
Xavier Delaruelle
4a78e9ae91 Add support for multilib systems
Introduce the `--enable-multilib-support` configure option to add
mechanism in `modulecmd.tcl` to look at an alternative location to find
the Modules Tcl extension library in case this library cannot be found
at its main location.

It adds the ability on specific architecture (e.g., x86_64) to use the
library build for another architecture compatible with current machine
(e.g., i686).

When this option is enabled, modulecmd.tcl is produced in a way that
make it identical whether built from 32bit or 64bit systems. This way no
conflict happen on EL/Fedora systems when installing both 64bit and
32bit RPM packages.
2020-08-10 08:06:09 +02:00
Xavier Delaruelle
87f8e51823 ts/lib: test tcl ext lib against a zero res getgroups call
Add an utility library that supersedes the getgroups function from libc.
The getgroups function from this added library always returns an empty
result (0). It is used for coverage test of the getgroups call made
within the Envmodules_InitStateUsergroupsObjCmd function of the Tcl
extension library.
2020-07-16 21:53:51 +02:00
Xavier Delaruelle
1675363e0e ts/lib: test tcl ext lib against a failed getgrgid call
Add an utility library that supersedes the getgrgid function from libc.
The getgrgid function from this added library always returns an error
(NULL). It is used for coverage test of the getgrgid call made within the
Envmodules_InitStateUsergroupsObjCmd function of the Tcl extension
library.
2020-07-16 21:53:51 +02:00
Xavier Delaruelle
166096f4d8 ts/lib: test tcl ext lib against a failed getgroups call
Add an utility library that supersedes the getgroups function from libc.
The getgroups function from this added library always returns an error
(-1). It is used for coverage test of the getgroups call made within the
Envmodules_InitStateUsergroupsObjCmd function of the Tcl extension
library.
2020-07-16 21:53:51 +02:00
Xavier Delaruelle
4542008335 ts/lib: test tcl ext lib against a failed getpwuid call
Add an utility library that supersedes the getpwuid function from libc.
The getpwuid function from this added library always returns an error
(NULL). It is used for coverage test of the getpwuid call made within
the Envmodules_InitStateUsernameObjCmd function of the Tcl extension
library.
2020-07-16 21:53:51 +02:00
Xavier Delaruelle
8e5a3b531a doc: include logo on README 2020-06-24 08:45:24 +02:00
Xavier Delaruelle
a0e0a597ec install: improve test deps dl retry mechanism 2020-05-10 15:54:27 +02:00
Xavier Delaruelle
5e347988d9 travis: retry test deps setup as their dl regularly fail
Add a 'test-deps' make target to specifically build all dependencies for
tests, like Nagelfar and Tcl8.3 download. Call this specific target in
Travis CI through the `travis_retry` utility to retry dependency
download if they fail.
2020-05-10 15:54:27 +02:00
Xavier Delaruelle
862dfd841f install: consistenly output Makefile warning msgs on stderr 2020-04-12 09:59:25 +02:00
Xavier Delaruelle
dcd6025503 install/ts/doc: install and test envml.cmd along other *.cmd 2020-03-10 07:44:20 +01:00
Xavier Delaruelle
e2a381d549 install: rm README on 'make clean' 2020-02-22 13:21:18 +01:00
Xavier Delaruelle
004c3b6dc9 install: build and install createmodule.py in bindir 2020-02-10 07:19:52 +01:00
Xavier Delaruelle
1041e10b3f install: ensure all built scripts have exec perms 2020-02-10 07:08:52 +01:00
Xavier Delaruelle
9535266a60 install: build createmodule.py/gitlog2changelog.py to set shebang
Adapt configure script and Makefile to detect `python` command location
and set it as shebang for `createmodule.py` and `gitlog2changelog.py`.
If python command is not found python3 then python2 are searched.
2020-02-10 07:00:32 +01:00
Xavier Delaruelle
f9ed70d8d0 install: %D git-log placeholder by not be supported 2020-02-09 13:55:10 +01:00
Xavier Delaruelle
b82fe6cd23 install/travis: add rules to build rpm and test it 2020-02-09 13:25:03 +01:00
Xavier Delaruelle
a28181074e install/script: abort auxiliary tools download after few seconds
Abort download of icdiff, nagelfar or tclsh83 after 2 timeouts of 5
seconds and record download failure for icdiff to avoid mt script to
attempt a new download tentative every time it is called.
2020-02-03 20:46:15 +01:00
Xavier Delaruelle
ed38a98c6c install: need sphinx if dist does not contain prebuilt doc
Check at configure step if pre-built documents are available, if found
Sphinx-related makefile rules are inhibited. Otherwise Sphinx
availability is tested and documentation build is disabled if not found.
2020-01-31 08:08:24 +01:00
Xavier Delaruelle
ad59a6bc01 install: no txt version of docs at dist root 2020-01-31 06:39:46 +01:00
Xavier Delaruelle
1e71298262 install: no need to pre-build README file in dist 2020-01-31 06:39:46 +01:00
Xavier Delaruelle
ea931f13d3 install: no exclude of doc files from git archive dist
No more exclusion of project-related or installation documents from git
archive distribution. Enable makefile rules relative to Sphinx
documentation build even if not building from git repository. With
release distribution tarballs nothing changes as document is pre-built
in these archives. When working from a `git archive` export, these
Sphinx rules will help to build docs.
2020-01-31 06:39:06 +01:00
Xavier Delaruelle
b4ccc6d097 install: add missing ml.1 pre-built doc in dist 2020-01-29 20:31:30 +01:00
Xavier Delaruelle
5760d2e686 install: build empty changelog if not building from git
In case Modules is built from a `git archive` distribution, generate a
bare ChangeLog file only referring to the NEWS document. Always include
gitlog2changelog.py tool in distributions, but do not run it if not
building from a git repository.
2020-01-29 20:31:27 +01:00
Xavier Delaruelle
4182bdc9dc install: enable version.inc build outside git repository
Make `git archive` substitute .version.inc.in with commit hash, date and
refs. Compute MODULES_BUILD and MODULES_BUILD_DATE from these
informations in ./configure and Makefile if not working from git
repository.
2020-01-29 20:30:21 +01:00
Xavier Delaruelle
ea8052c23b script: add TESTINSTALL.bat script and ship it in dist-win 2020-01-25 16:21:53 +01:00
Xavier Delaruelle
fe3765454b script: move INSTALL.bat & UNINSTALL.bat in script dir 2020-01-25 16:21:53 +01:00
Xavier Delaruelle
53d9c95a8c install: provide a basic uninstall script for Windows 2020-01-17 21:39:22 +01:00
Xavier Delaruelle
a6004afaa9 install: provide a basic install script for Windows 2020-01-17 21:39:22 +01:00
Xavier Delaruelle
089a680263 install: add dist-win rule to build win-specific dist zip ball 2020-01-17 21:39:22 +01:00
Xavier Delaruelle
fff8213e0b install: add ml.cmd wrapper on Windows installation 2020-01-17 21:39:22 +01:00
Xavier Delaruelle
7eb91c142d doc: transform INSTALL-win.txt into INSTALL-win.rst 2020-01-17 21:39:22 +01:00
Xavier Delaruelle
d95a66233a script: move win-specific module.cmd file in script dir 2020-01-14 06:13:30 +01:00
Xavier Delaruelle
2d64c275f6 init: move windows/moduleinit.cmd as init/cmd.cmd file 2020-01-14 06:13:30 +01:00
Jacques Raphanel
f9c173ee65 Install: add --enable-windows-support configure option
Provide new `--enable-windows-support` option for configure to
automatically install windows batch file to bin directory during install
step. This new option is not enabled by default.
2020-01-14 06:13:30 +01:00
Xavier Delaruelle
00c4073665 install: use newer version of nagelfar (1.3.1) 2020-01-12 13:46:09 +01:00
Xavier Delaruelle
1bef2663e8 install: use newer version of icdiff (1.9.5) 2020-01-12 13:40:38 +01:00
Xavier Delaruelle
9ade952bea script: move all dist. and maint. scripts in a script dir 2020-01-12 13:31:21 +01:00
Xavier Delaruelle
6ae7ec68d5 script: remove need to build project management-specific tools
Make mb, mlprof, mtreview and playdemo use `/usr/bin/env tclsh` shebang
rather applying there TCLSH location defined by `./configure` process.
2020-01-12 10:00:22 +01:00
Xavier Delaruelle
9f189c7d5e Introduce ml configuration option
Add the ability to control whether or not a ``ml`` command should be
defined at Modules initialization time. `ml` is a handy frontend to the
module command: it reduces the number of characters to type to trigger
module.

Enablement is managed throught a new configuration option named `ml`
(which defines `MODULES_ML` environment variable when set). It may be
enabled by default in `modulecmd.tcl` script with option `--enable-ml`
passed to `./configure` script.
2020-01-09 20:38:50 +01:00
Xavier Delaruelle
4118b79c9f contrib: add 'mlprof' script
Add the 'mlprof' script which wraps modulecmd.tcl to collect profiling
information on its execution.
2019-12-30 06:55:35 +01:00