mirror of
https://github.com/Pmodules/Pmodules.git
synced 2026-06-28 10:29:37 +02:00
495 lines
14 KiB
Markdown
495 lines
14 KiB
Markdown
# Changelog of Pmodules
|
|
|
|
## Version 1.1.21
|
|
### modulecmd
|
|
|
|
### build-system
|
|
|
|
|
|
## Version 1.1.20
|
|
### modulecmd
|
|
* Bugfix in sub-command 'unuse' with directory as argument.
|
|
Due to a missing return statement, the sub-command exited
|
|
with an error.
|
|
(issue #262)
|
|
* Bugfixes in the sub-commands to save/list/restore collections.
|
|
(issue #263)
|
|
|
|
|
|
### build-system
|
|
* Support for sub-packages added.
|
|
(issuesg #264, #266)
|
|
* Code cleanup.
|
|
(issues #265, #269)
|
|
* Option '--overlay' is only allowed with legacy configuration
|
|
files. Check added.
|
|
(issue #267)
|
|
* Check mode for YAML configuration files added.
|
|
(issue #268)
|
|
|
|
## Version 1.1.19
|
|
### modulecmd
|
|
* BUGFIX: parsing the version number and setting the variables
|
|
V_MAJOR, V_MINOR, V_PATCHLVL was broken in cases where the
|
|
version number consist of less then three numbers and plus a
|
|
suffix.
|
|
(issue #248)
|
|
* BUGFIX: never cut output of load hints. This could happen in
|
|
VScode/VScodium. Don't cut output of 'module search' if not
|
|
running in a terminal.
|
|
(issues #250,#255)
|
|
|
|
### build-system
|
|
* Option '--clean-install' added. If this option is set, the
|
|
module is removed before building, if the module already
|
|
exist.
|
|
(issue #247)
|
|
* Arguments to CMake/autotools and required patches can now
|
|
be defined in the YAML configuration file.
|
|
(issues #249, #253, #256)
|
|
* Check of consinstency of group dependencies added.
|
|
(issue #251)
|
|
* The number of directory components to be removed while
|
|
un-taring can now be configured in the YAML configuration
|
|
file. If not specified, 1 is used as default.
|
|
(issue #252)
|
|
* Arguments to CMake/autotools can now be append to the default
|
|
arguments with the 'configure_args+' key in the YAML
|
|
configuration file. Patch-files can be appended with the
|
|
'patch_file+' key and doc-files with 'docfiles+'.
|
|
(issue #257)
|
|
|
|
## Version 1.1.18
|
|
### modulecmd
|
|
* BUGFIX: output of load hints fixed
|
|
(issue #241)
|
|
|
|
### build-system
|
|
* BUGFIX: parsing arguments fixed (issue #238)
|
|
* BUGFIX: group dependencies specified with the option '--with' were ignored
|
|
(issue #236)
|
|
* BUGFIX: writing list of 'systems' to module configuration file fixed
|
|
(issues #235, #243)
|
|
* Files in `$PMODULES_TMPDIR/<module>` are now removed before
|
|
and after building a module (except cleanup has been disbaled).
|
|
(issues #242, #245)
|
|
* Set prefix and directory/name of modulefile based on group not on
|
|
environment variables like `{COMPILER,MPI,HDF5}_VERSION`
|
|
(issue #244)
|
|
|
|
### Toolchain
|
|
* update to Tcl 8.6.14 (issue #239)
|
|
|
|
### General
|
|
* link to documentation added to usage/help text (issue #237)
|
|
|
|
## Version 1.1.17
|
|
### build-system
|
|
**Fixes**
|
|
* usage output reviewed
|
|
* compiling in source tree fixed if YAML config file is used
|
|
|
|
## Version 1.1.16
|
|
|
|
### modulecmd
|
|
**User visible changes**
|
|
* YAML module configuration file. Configured in this file are
|
|
* the release stage
|
|
* the list of systems the module is available
|
|
* the list of systems the module shadowed
|
|
|
|
Wherby the items in list of systems are either
|
|
* hostnames or glob style patterns of hostnames (e.g. merlin-*)
|
|
* OS names like rhel7
|
|
|
|
The filename is `.config-<version>` and is located in the same directory as the modulefile.
|
|
For now the `.release-<version>` files are still used if no YAML configuration file exist.
|
|
|
|
### build-system
|
|
**User visible changes**
|
|
* YAML build configuration files. For now `variants` files are still supported.
|
|
|
|
---
|
|
|
|
## Version 1.1.15
|
|
|
|
### modulecmd
|
|
**User visible changes**
|
|
* prevent loading of a module on dedicated systems via blocklist
|
|
|
|
### build-system
|
|
**User visible changes**
|
|
* the function to compare versions can now be called with a single
|
|
argument. In this case the given version is compared to version
|
|
of currently build module.
|
|
|
|
**Internal changes and fixes***
|
|
* bugfix: due to a bug in compiling the list of (legacy) config files,
|
|
each module was build twice.
|
|
|
|
---
|
|
|
|
## Version 1.1.14
|
|
|
|
### build-system
|
|
**Internal changes and fixes**
|
|
* lookup of default legacy config files fixed
|
|
|
|
---
|
|
|
|
## Version 1.1.13
|
|
|
|
### modulecmd
|
|
**User visible changes**
|
|
* collections
|
|
* shadowing modules with an overlay
|
|
* Lmod support
|
|
* argument/option handling fixed
|
|
* using groups/extending MODULEPATH fixed (module use ...)
|
|
|
|
**Internal changes and fixes**
|
|
* use Lua and Lmod from Pmodules
|
|
* std::upvar() replaced
|
|
* Bugfixes
|
|
---
|
|
|
|
## Version 1.1.12
|
|
|
|
### modulecmd
|
|
**User visible changes**
|
|
* experimental support for Lmod
|
|
* support for use flags has been removed.
|
|
(A postfix like '_slurm' can still be used)
|
|
|
|
---
|
|
|
|
## Version 1.1.11
|
|
|
|
### modulecmd
|
|
**User visible changes**
|
|
* Improved error handling and messages
|
|
* Python support added
|
|
|
|
**Internal changes and fixes**
|
|
* Bugfixes
|
|
|
|
### build-system
|
|
**User visible changes**
|
|
* building with legacy variants files fixed.
|
|
* building with YAML config files is still experimental
|
|
and not recommended for now
|
|
|
|
---
|
|
|
|
## Version 1.1.10
|
|
|
|
### modulecmd
|
|
**User visible changes**
|
|
* New options for `module search`.
|
|
* With the option `--group` the search can be restricted to a
|
|
group.
|
|
* With the option `--newest` only the newest versions are
|
|
displayed.
|
|
* `find` as alias for the sub-command `search` added.
|
|
* Bugfix: the sub-commands `whatis` and `keyword|apropos` were
|
|
broken by design.
|
|
* Bugfix: after loading a `Pmodules` module, it was not shown with
|
|
`module list`.
|
|
* Bugfix in scanning the depth of groups.
|
|
* Bugfix: after `module purge` the environment variable
|
|
`PMODULES_HOME` was not defined an more.
|
|
* Bugfix: source the shell init file only if a `Pmodules` module
|
|
is loaded.
|
|
* Bugfix: unsetting aliases in modulefiles was not handled
|
|
properly in `module purge`
|
|
|
|
**Internal changes and fixes**
|
|
* initialisation error for bash and zsh fixed
|
|
|
|
### build-system
|
|
**User visible changes**
|
|
* `modbuild` is now defined as function like `module`. Therefor no
|
|
`Pmodules` module must be loaded to build a module with `modbuild`
|
|
* The system can now be defined in the module (YAML) configuration
|
|
file.
|
|
* Build dependencies can (and should) now be specified with
|
|
`build_requires` in the YAML configuration file.
|
|
* Bugfix: cleanup of modulefiles in overlays fixed. A module can be in
|
|
more than one overlay. These overlays must be specified in the
|
|
module configuration file.
|
|
* Bugfix: querying dependencies from YAML configuration file
|
|
fixed. Under some conditions the string 'null' was in the list
|
|
of dependencies.
|
|
* Bugfix: create group directory if it doesn't exist.
|
|
* Bugfix: create the module `$PREFIX` before processing the
|
|
install targets not before all targets. If `$PREFIX` is created
|
|
before processing any target and the build fails, `modbuild`
|
|
assumes that the module have been already built successfully.
|
|
|
|
**Internal changes and fixes**
|
|
* code review/re-factoring
|
|
* `modbuild` is now using the Bash installed in `Pmodules` itself.
|
|
* test code with `set -o nounset`, several issues with this
|
|
setting fixed (not necessarily bugs).
|
|
|
|
**other changes**
|
|
* The build script to bootstrap Pmodules itself doesn't use modbuild
|
|
any more to compile required software packages. With this change
|
|
we can remove some special cases from modbuild.
|
|
* The bootstrap script requires Bash 5.0 or newer now.
|
|
* Bugfix: in the `Pmodules` modulefile force the sourcing of the
|
|
shell init script while in mode `load` only.
|
|
|
|
---
|
|
|
|
## Version 1.1.9
|
|
|
|
### modulecmd
|
|
**User visible changes**
|
|
* Overlay info added to output of sub-command `search`.
|
|
* Output of `module search --verbose` revised for better readability.
|
|
|
|
**Internal changes and fixes**
|
|
* The shell`s init file is sourced, when Pmodules is loaded as module.
|
|
This is required if there are changes in the module function or too
|
|
define new shell functions.
|
|
* A bug in `libmodules.tcl:module-addgroup()` which crashed
|
|
`module load ...` has been fixed.
|
|
* In versions before 1.1.9 a colon at the beginning or end of `MODULEPATH`
|
|
crashed the module function. This has been fixed.
|
|
|
|
### build-system
|
|
**User visible changes**
|
|
* The command `modbuild` is now defined as shell function analog to
|
|
the `module` command. The main reason to introduce this function
|
|
is due to the fact that Bash version 5 or newer is now required
|
|
by `modbuild`. The function `modbuild` load Bash 5.x as module
|
|
before calling the modbuild-script. If you want to use the script
|
|
directly, a Bash binary with version 5.x must be in PATH.
|
|
* If a build-script is in the current working directory,
|
|
`modbuild` can now be called without specifying the build-script.
|
|
* In case of an error in a build-step the build process did not
|
|
abort as it should. This has been fixed.
|
|
* The option `--overlay` can now be used
|
|
- to define an overlay if legacy variants files are used
|
|
- to override the overlay in a YAML variants file.
|
|
* The new keyword `with` has been introduced in YAML variants file
|
|
to specified hierarchical dependencies.
|
|
* The function `pbuild::supported_os` has been
|
|
removed. `pbuild::supported_systems` provides the same
|
|
functionality for legacy configuration files. In YAML module
|
|
configuration files `systems` have to be used.
|
|
|
|
**Internal changes and fixes**
|
|
* bugfix in setting `PATH`
|
|
* requires bash 5 or later
|
|
|
|
---
|
|
|
|
## Version 1.1.8
|
|
|
|
### modulecmd
|
|
**User visible changes**
|
|
* configuration in YAML files
|
|
* modulefiles and software must not
|
|
have a common root directory
|
|
* the installation root must be specified, it doesn`t default
|
|
to the base 'overlay' any more.
|
|
* zsh initialisation fixed.
|
|
|
|
**Internal changes and fixes**
|
|
* std::upvar() replaced with reference variables in part of the
|
|
code.
|
|
* environment variable `PMODULES_ROOT` removed.
|
|
* unsetting aliases fixed.
|
|
* update to bash 5.1.16
|
|
* update to findutils 4.9 (macOS only)
|
|
* minor fixes
|
|
|
|
### build-system
|
|
**User visible changes**
|
|
* YAML format for variants files
|
|
|
|
**Internal changes and fixes**
|
|
* use lib `libpmodules.bash`
|
|
* bugfixes
|
|
|
|
### modmanage
|
|
**User visible changes**
|
|
* none, support for overlays still missing
|
|
|
|
**Internal changes and fixes**
|
|
* none
|
|
|
|
---
|
|
|
|
## Version 1.1.7
|
|
### modulecmd
|
|
* list of available overlays in subcommand `use` is now better readable
|
|
|
|
### buid-system
|
|
* overlay definition must now be in YAML format
|
|
* support for YAML formatted variant files (the legacy format
|
|
is still supported)
|
|
* build-system in 1.1.6 was still work in progress and broken
|
|
|
|
---
|
|
|
|
## Version 1.1.6
|
|
### modulecmd
|
|
* bugfix in searching/loading modules in a hierarchical
|
|
group
|
|
|
|
---
|
|
|
|
## Version 1.1.5
|
|
### modulecmd
|
|
* first public version with the overlay feature
|
|
|
|
---
|
|
|
|
## Version 1.0.0rc11
|
|
### modulecmd
|
|
**User visible changes**
|
|
* handling of set-alias in modulefile fixed
|
|
---
|
|
|
|
## Version 1.0.0rc10
|
|
### modulecmd
|
|
**User visible changes**
|
|
* The term "releases" has been replaced with "release stages".
|
|
The visible changes are the change of the option
|
|
`--all-releases` to `--all-release-stages`, adapted
|
|
help text and configuration files.
|
|
* New configuration file `Pmodules.conf` to configure the
|
|
default visible group, the default visible release stages
|
|
and the defined releases stages. These information has
|
|
been stripped from the profiles `profiles.{bash,csh,zsh}`.
|
|
* module are now sorted numerically in output of
|
|
`module avail`.
|
|
* option `-?` added as alias for `--help`.
|
|
* new option `--glob` for `module search`. This enables
|
|
shell glob-pattern searches.
|
|
**Internal changes and fixes**
|
|
* bugfix in removing temp-file in exit function.
|
|
* terse output of `module avail` fixed.
|
|
* broken help for sub-commands fixed.
|
|
* missing group in output of `module avail` fixed.
|
|
* broken output of `module search --print-modulefiles` fixed.
|
|
* argument handling fixed after `--`.
|
|
* cleanup option/argument handling.
|
|
|
|
### build-system
|
|
**User visible changes**
|
|
* none
|
|
**Internal changes and fixes**
|
|
* bugfixes in the functions `pbuild::version_{le,gt}
|
|
* bugfix in recognising newer CentOS versions
|
|
|
|
### modmanage
|
|
**User visible changes**
|
|
* complete re-implementation of (broken) modmanage
|
|
---
|
|
|
|
## Version 1.0.0rc9
|
|
### modulecmd
|
|
**User visible changes**
|
|
* a Pmodules module must be the first module loaded
|
|
* new option `--group|-g GROUP` to list available modules in `GROUP`
|
|
* align columns in output of `module avail`
|
|
* remove path to Pmodules bin directory while unloading a Pmodules module
|
|
* exclude a Pmodules module from being purged
|
|
* follow sym-links in `ROOT/GROUP/modulefiles`
|
|
|
|
**Internal changes and fixes**
|
|
* use default field separator by unsetting `IFS`
|
|
* use read-only variables for all used commands with full path
|
|
* better tmp-file creation/deletion
|
|
* more bugfixes
|
|
|
|
### build-system
|
|
**User visible changes***
|
|
* group hierarchy can now be defined in a config file
|
|
|
|
**Internal changes and fixes**
|
|
* more bugfixes
|
|
|
|
---
|
|
|
|
## Version 1.0.0rc8
|
|
### modulecmd
|
|
**User visible changes**
|
|
* Pmodules can now be loaded as module
|
|
* Since `${PMODULES_HOME}/bin` has been removed from `PATH` in `1.0.0rc7` a Pmodules
|
|
module must be loaded to make the build system available.
|
|
|
|
**Internal changes and fixes**
|
|
* use system binaries in `/bin:/usr/bin` if possible
|
|
---
|
|
|
|
## Version 1.0.0rc7
|
|
### modulecmd
|
|
**User visible changes**
|
|
* add options to `module search` to show dependencies
|
|
|
|
**Internal changes and fixes**
|
|
* hardcoded path in `profile.csh`fixed
|
|
* bugfixes
|
|
* Update to BASH 5.1
|
|
* Update to Tcl 8.6.10
|
|
|
|
### build-system
|
|
**User visible changes**
|
|
* building deprecated modules must be forced
|
|
* support for versioned modulefiles in build-blocks: if a modulefile
|
|
`modulefile-X[.Y[.Z]]` exists in the build-block it will be taken
|
|
in favour of `modulefile`-
|
|
* bootstrap/build script reviewed, `--config` option removed, help for all
|
|
sub-commands added
|
|
|
|
**Internal changes and fixes**
|
|
* installation of fallback shared libraries fixed.
|
|
* bugfixes
|
|
|
|
### modmanage
|
|
**User visible changes**
|
|
* Support of run-time dependencies which are required but must not be loaded
|
|
---
|
|
|
|
## Version 1.0.0rc6
|
|
### modulecmd
|
|
- Support for shell `sh` added (#86, #90).
|
|
- Broken 'module load' with (T)CSH fixed (#88).
|
|
- prepend instead of append Pmodules bin directory to `PATH` (#87).
|
|
|
|
### build-system
|
|
- Support added for a wildcard (`.*`) version as argument to `modbuild` (#78)
|
|
- Handle empty list of be installed shared libraries fixed (#89).
|
|
|
|
### Building and installing Pmodules
|
|
- Bugs in bootstrapping Pmodules fixed (#82)
|
|
---
|
|
|
|
## Version 1.0.0rc5 (since 1.0.0rc2)
|
|
### modulecmd
|
|
- log `module load` commands to system logger (#80)
|
|
- Bugs fixed in printing load hints (#48, #49)
|
|
- `--with` option of sub-command search now accepts a comma separated list of strings
|
|
- `PMODULES_ENV` is exported only on content changes
|
|
- more bugfixes
|
|
|
|
### build-system
|
|
- The argument passed with the option `--system` is not any more a synonym for
|
|
the kernel of the system (like Linux, Darwin). It now defines a target operating
|
|
system like RHEL6, macOS1014 etc (#72).
|
|
- calling `pbuild::make_all` in a build-script is now deprecate
|
|
- bugfixes
|
|
---
|
|
|
|
## 1.0.0rc4
|
|
- never tagged
|
|
---
|
|
|
|
## 1.0.0rc3
|
|
- never tagged
|