Sync from SUSE:SLFO:Main lua-lmod revision a7fea52509b3c7c886ca0a0b00de4887

This commit is contained in:
Adrian Schröter 2024-05-03 16:24:17 +02:00
commit effe7a4422
7 changed files with 1063 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

View File

@ -0,0 +1,26 @@
From: Egbert Eich <eich@suse.de>
Date: Mon Oct 16 14:51:52 2017 +0200
Subject: Doc: Ugly workaround for bug in Sphinx.
Patch-mainline: never
Git-commit: 2f8d29d20add462e06d316e9e6ff3ed93bca9d52
References:
Signed-off-by: Egbert Eich <eich@suse.de>
Signed-off-by: Egbert Eich <eich@suse.com>
---
docs/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/docs/Makefile b/docs/Makefile
index 188360f..b066c68 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -124,6 +124,9 @@ latex:
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
+ @grep -q "\usepackage{pmboxdraw}" $(BUILDDIR)/latex/Lmod.tex || \
+ sed -ie 's#\\usepackage{cmap}#\\usepackage{cmap} \\usepackage{pmboxdraw}#' \
+ $(BUILDDIR)/latex/Lmod.tex
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

View File

@ -0,0 +1,57 @@
From: Egbert Eich <eich@suse.com>
Date: Fri Aug 17 21:31:37 2018 +0200
Subject: [Messages] Remove message about creating a consulting ticket.
Patch-mainline: never
Git-commit: a116d2da370874292fb2a5ab6e884eb425c99728
References:
Signed-off-by: Egbert Eich <eich@suse.com>
---
---
messageDir/de.lua | 1 -
messageDir/en.lua | 1 -
messageDir/es.lua | 1 -
messageDir/fr.lua | 2 --
4 files changed, 5 deletions(-)
--- a/messageDir/de.lua
+++ b/messageDir/de.lua
@@ -106,7 +106,6 @@ Verwenden Sie folgendes Kommando, um das
$ module swap %{oldName} %{fullName}
-Falls Sie weitere Unterstützung brauchen, erstellen Sie ein Support-Ticket.
]==],
e_Illegal_Load = nil,
e_Illegal_option = nil,
--- a/messageDir/en.lua
+++ b/messageDir/en.lua
@@ -125,7 +125,6 @@ To correct the situation, please execute
$ module swap %{oldName} %{fullName}
-Please submit a consulting ticket if you require additional assistance.
]==],
e_Illegal_Load = [==[The following module(s) are illegal: %{module_list}
Lmod does not support modulefiles that start with two or more underscores
--- a/messageDir/es.lua
+++ b/messageDir/es.lua
@@ -84,7 +84,6 @@ Para solucionar esta situación, introdu
$ module swap %{oldName} %{fullName}
-Por favor, envíe un ticket si necesita más ayuda.
]==],
e_Illegal_option = nil,
e_Illegal_Load = nil,
--- a/messageDir/fr.lua
+++ b/messageDir/fr.lua
@@ -111,8 +111,6 @@ Pour corriger le problème, vous pouvez
$ module swap %{oldName} %{fullName}
-Merci de bien vouloir soumettre un ticket si vous désirez plus d'assistance.
-
]==],
e_Illegal_Load = nil,
e_Illegal_option = nil,

3
_multibuild Normal file
View File

@ -0,0 +1,3 @@
<multibuild>
<package>doc-pdf</package>
</multibuild>

BIN
lua-lmod-8.7.17.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

656
lua-lmod.changes Normal file
View File

@ -0,0 +1,656 @@
-------------------------------------------------------------------
Tue Feb 7 19:25:14 UTC 2023 - Egbert Eich <eich@suse.com>
- Match the Lua version and version name suffix of Lua libraries
in Requires: to what has been used for building. Also set the
minimal Lua version required by Lmod (bsc#1207970).
- Do not 'Require:' lua interpreter explicitly: this will be
handled by an auto-generated dependency.
- After a discussion with Dominique (dimstar@opensuse.org)
he agreed to define the preferred Lua vesion in %%lua_pref
in the ProjConfig of oS:Factory so that it can be used in
'BuildRequires:'. Take advantage of this new value (with a
fallback).
-------------------------------------------------------------------
Fri Jan 13 06:07:14 UTC 2023 - Egbert Eich <eich@suse.com>
- Updated to version 8.7.15:
* Issue #619: Do not source lmod_bash_aliases when $POSIXLY_CORRECT is set
(by bash --posix)
* Issue #620: Dynamically set shell name inside Lmod instead of init/bash.in
* Added debugging stmts to track down issue when adding loop in MODULEPATH
when doing a spider.
* Zsh now gets /path/to/ksh_scripts if KSH_SUPPORT is yes.
* Issue #620: Honor shell name on command line. Use "shell"
when Lmod gets to decide.
* Fix bug in keyword terse output: Add newline on final entry (Created
in Lmod 8.4.18).
- Obsoletes:
issue-620-Delay-setting-of-LMOD_SHELL_PRGM-until-module-is-actually-called.patch
-------------------------------------------------------------------
Thu Jan 12 13:22:34 UTC 2023 - Egbert Eich <eich@suse.com>
- Changing description to make it more clear to users what this tool
is for wand where it should be installed - and where not.
Also add Provides: for shell functions set by shell init scripts
provided with this package.
-------------------------------------------------------------------
Mon Jan 9 19:43:36 UTC 2023 - Egbert Eich <eich@suse.com>
- issue-620-Delay-setting-of-LMOD_SHELL_PRGM-until-module-is-actually-called.patch:
Since Lmod sets BASH_ENV to /usr/share/lmod/8.7.15/init/bash,
do not run external commands immediately in this script but only
when `module` is called for the first time. This prevents errors
when this script is run during shell init for access restricted
scripts (apparmor) (boo#1206957).
-------------------------------------------------------------------
Tue Jan 3 13:55:42 UTC 2023 - Egbert Eich <eich@suse.com>
- Update to version 8.7.15:
User visible changes include:
* Add option --miniConfig to report configuration differences from default.
* Move cache file location from ~/.lmod.d/.cache/* to ~/.cache/lmod/*
* Transitional support for using ~/.config/lmod for collections. Currently collect
are written to both ~/.lmod.d/ and ~/.config/lmod.
* setenv and pushenv change local environment when running spider (and avail).
* Allow bash users to export SUPPORT_KSH=no so that they can avoid bash startup setting FPATH
* Add --location option to show to write to stderr the file location.
* Only rebuild spider caches if there are any loaded or pending modules.
'module avail <name1> <name2> ...' now only prints matching aliases. Search names are resolved.
* Print dataT table when there is an Exception.
* New command added: 'module overview'.
* Add spiderPathFilter hook so that sites can control what paths are kept or ignored.
* Added $LMOD_SITE_MODULEPATH support to prepend to MODULEPATH
* Add support for sh_to_modulefile to support zsh, ksh, bash and tcsh with aliases and shell functions
* Support for source_sh added. Now support more than one shell script per modulefile.
-------------------------------------------------------------------
Thu Sep 15 11:55:03 UTC 2022 - Stephan Kulow <coolo@suse.com>
- Move latex dependencies to the pdf build flavor
-------------------------------------------------------------------
Wed Jun 9 08:36:10 UTC 2021 - Martin Liška <mliska@suse.cz>
- Add new missing dependency when using Sphinx 4.x.
-------------------------------------------------------------------
Tue Jun 8 11:46:55 UTC 2021 - Egbert Eich <eich@suse.com>
- Adding missing brackets in csh script.
-------------------------------------------------------------------
Thu Jun 3 23:19:40 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Modify generating of /etc/profile.d/lmod.* to allow use of existing
$MODULEPATH environmental variable (bsc#1159563).
-------------------------------------------------------------------
Fri May 7 13:34:06 UTC 2021 - Egbert Eich <eich@suse.com>
- Move macros out of /etc to the standard rpm macro directory
(bsc#1185660).
- Remove shebang and execute bit from init scripts.
-------------------------------------------------------------------
Wed Mar 24 06:05:03 UTC 2021 - Egbert Eich <eich@suse.com>
- Update to version 8.4.28:
For details check: https://github.com/TACC/Lmod/issues/<issueID>
* Use now converts relative paths to abspath (Issue #505).
* Allow print statement in modulefiles (Issue #507).
-------------------------------------------------------------------
Wed Mar 17 10:37:10 UTC 2021 - Ana Guerrero Lopez <aguerrero@suse.com>
- Update to version 8.4.27:
* (8.4.21)
+ Add findLuaProg() or die
* (8.4.22)
+ Fix luaCmd -> luaprog.
* (8.4.23)
+ Fix goto in luaterm pkg.
* (8.4.24)
+ Need to quote '?' in csh.
+ Make list of modules from spider skip .version* and .modulerc*
+ analyzeLmodDB now takes a list of all modules so that zero module
usage can be reported.
* (8.4.26)
+ Fix bug with building on Suse linux
+ Allow all paths (but MODULEPATH) to have trailing double slashes.
* (8.4.27)
+ Fix default for SHORT_TIME
+ Adding isAvail() function for Lua modulefiles
+ Now reporting that is-avail() is not working for TCL modulefiles
-------------------------------------------------------------------
Tue Feb 9 15:33:51 UTC 2021 - Christian Goll <cgoll@suse.com>
- updated to version 8.4.20 which works with lua54
* (8.4.20)
+ Adding wV field to MName and MT class (Merged wV branch)
+ This allows users to tell how (if any) default is set.
* (8.4.19)
+ MasterControl:unsetenv(name) also clears stack if it exists.
+ Issue #490: use old way of following readlink as "readlink -f" is not
universal.
* (8.4.18)
+ Issue #481 (and PR #488) are merged in. New configure options to specify
where lua and luac executables exist (--with-lua= and --with-luac=).
It is also possible to use --with-luaSuffix=.
Both --with-lua= and --with-luac= must be specified if one is specified
The option --with-luaSuffix= can not be used with --with-lua or
--with-luac
+ PR #489 is merged in. This fixes bug with "module --terse keyword"
* (8.4.17)
+ If python exists on system use $PYTHON -mjson.tool on the generation
of *.json files from update_lmod_system_spider_cache_files script.
Note $PYTHON is found by looking for python3, python or python2
+ Added TCL module function require-fullname to match requireFullName
in Lua.
+ Do not check $cache_type twice, use $ext = lua for lua like operations
in update spider cache script.
* (8.4.16)
+ Issue #483: Added hidden file to spider tests. Showing that it works
correctly.
+ Fixed bug where providedByT (a.k.a. Extensions) was always
printed when doing "ml keyword ..."
+ Added lua module function requireFullName()
* (8.4.15)
+ Issue #480: Fix the try_load() function to ignore failure to be found but
report broken modules.
* (8.4.14)
+ Issue #480: make "module try-add <module_name>" ignore failure to be
found but report broken modules.
* (8.4.13)
+ Issue #479: Reworked MRC to fill mrcMpathT with mrc entries for each
directory in $MODULEPATH. Then walk each mpath directory for hidden,
global aliases, and module aliases
* (8.4.12)
+ Make --nx only remove extensions from ml avail not spider. Make it a
configure option.
* (8.4.11)
+ Issue #476: Move mrcT.mpath to separate table mrcMpathT
+ Issue #477: Support finding real modules names with a version called
"default"
+ Show extensions from hidden modules when doing (module --show_hidden
avail)
+ Add option (--nx, --no_extensions) to not print extensions when doing
"ml avail".
-------------------------------------------------------------------
Fri Oct 30 13:39:44 UTC 2020 - Ana Guerrero Lopez <aguerrero@suse.com>
- Update to version 8.4.10:
* Use LMOD_ALLOW_ROOT_USE to control whether root uses Lmod or not
* Documentation updates
-------------------------------------------------------------------
Tue Sep 22 10:50:21 UTC 2020 - Ana Guerrero Lopez <aguerrero@suse.com>
- Update to version 8.4.5:
* Support for Lua 5.4 added.
* Improved support for ksh and ksh scripts.
* Improved documentation for software hierarchy and community module collections.
-------------------------------------------------------------------
Sat Mar 28 07:33:25 UTC 2020 - Tomáš Chvátal <tchvatal@suse.com>
- Fix the python3 switch on sphinx to not really pull any py2
package
-------------------------------------------------------------------
Tue Mar 24 07:42:13 UTC 2020 - Ana Guerrero Lopez <aguerrero@suse.com>
- Update to version 8.3.6:
* Create findExec shell function to locate commands like ps.
* Bugfixes.
-------------------------------------------------------------------
Wed Mar 11 15:14:58 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
- python3 based Sphinx
-------------------------------------------------------------------
Fri Feb 21 09:52:42 UTC 2020 - Ana Guerrero Lopez <aguerrero@suse.com>
- Update to version 8.3.1:
* The function extensions() now takes a string of comma separated names.
* Add support for "atleast()" and "between()" functions support a "<"
to signify a less than instead of less than or equal to between range.
* Make "ml - foo" an error.
* It is now safe to have os.exit(1) in a modulefile. Spider can now
handle it.
- Remove obsolete BuildRequires on ohpc.
-------------------------------------------------------------------
Fri Nov 29 08:42:31 UTC 2019 - Ana Guerrero Lopez <aguerrero@suse.com>
- Update to version 8.2.5:
* Better support for the fish shell including tab completion
* New function extensions(): This allows for modules like python
to report that the extensions numpy and scipy are part of the
modules. Users can use "module spider numpy" to find which
modules provide numpy etc.
* Added a new command "clearLmod" which does a module purge and
removes all LMOD aliases and environment variables.
* Remove asking for the absolute path for generating spiderT
and dbT. It now only use when building the reverseMapT.
* Lmod now requires "rx" other access when searching for
modulefiles.
* settarg correctly handles a power9 processor running linux.
- Refresh patch
* Messages-Remove-message-about-creating-a-consulting-ticket.patch
-------------------------------------------------------------------
Thu Aug 22 15:54:01 UTC 2019 - Ana Guerrero Lopez <aguerrero@suse.com>
- Update to version 8.1.14: (jsc#SLE-8512)
* Extended Default feature added: module load intel/17 will find
the "best" intel/17.* etc.
* All hidden files are NOT written to the softwarePage output.
* Lmod now correctly reports failed to load module "A" in the
special case where "ml A B" and A is a prereq of B and A
doesn't exist.
* A meta module takes precedence over a regular module if the
meta module occurs in an earlier directory in $MODULEPATH
* Lmod output only "fills" when the text is more than one line
or it is wider than the current width.
* Embed the TCL interpreter in Lmod when a site allows TCL files
* "module reset" resets $MODULEPATH to be the system $MODULEPATH
* Improved tracing of module loads/unloads when --trace is given.
* Allow MODULERCFILE to be a colon separated list.
- Set --with-fastTCLInterp=no, because this option is not supported
with TCL 8.6
-------------------------------------------------------------------
Mon Mar 11 10:01:57 UTC 2019 - Ana Guerrero Lopez <aguerrero@suse.com>
- Remove flavor 'doc-man' building a package only with the lmod manpage
and move the manpage to lua-lmod.
- Remove the Recommends on lua-lmod-man and add a Provides instead.
- Update the Group tag for lua-lmod-doc to Documentation/Other because
Documentation/PDF doesn't exist and make the package noarch.
-------------------------------------------------------------------
Wed Feb 13 09:58:06 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
- Declare bash-specific nature of build recipe.
-------------------------------------------------------------------
Fri Jan 25 17:09:15 UTC 2019 - eich@suse.com
- Update to 7.8.15:
* issue #379: Extra space required for shell function definitions
under bash
* issue #380: Change DependencyCk mode from load to dependencyCk,
sType and tcl_mode remain load.
* Fixed problem with unbound variable __lmod_sh_dbg in module shell
function definition
* Add unload state to tracing.
* Define MCP and mcp earlier in lmod main() so that errors/warning
found in SitePackage work.
* issue #383: Use LUA_PATH to evaluate Version.lua instead of
depending on ./?.lua to be LUA_PATH.
* Added mgrload function and documentation
* Fixed unbound variable in bash.in.
* Fixed bug when ~/.lmod.d/cache was read only.
* Fixed quote rules for Python, R and CMAKE.
* issue #390: Added a message when find first rules are used to set
defaults when NVV is found in both avail and tracing.
* issue #389: Honor newlines and leading spaces in Nag messages.
* Allow MODULERCFILE to be a colon separated list.
* issue #391: Only process the family stack when in the modulefile
that requested it.
* Allow MODULERCFILE to be a colon separated list with the priority
be left to right instead of right to left.
* Added cc test case for issues with choosing the correct module
when doing reloadAll()
* issue #394: Only reload modules when the userName has remained the
same in mt.
* Add Lmod version report to --trace output.
* issue #394: use mname = MName:new("load",mt:userName(sn)) to get
loadable file
contrib/tracking_module_usage python scripts have been updated to
support python2 and python3
- Fix shbang line in scripts.
-------------------------------------------------------------------
Fri Aug 17 19:38:08 UTC 2018 - eich@suse.com
- Update to 7.8.1:
* Fixed typo in myGlobals.lua about assigning LMOD_DUPLICATE_PATHS
* Fixed TARG_TITLE_BAR_PAREN to always have a value, needed for tcsh.
* Added LMOD_SETTARG_TITLE_BAR=yes to turn on the title bar.
* Changed from sn-version to sn/version in title bar.
* Changed the initialization of LMOD_SETTARG_CMD in bash.in and csh.in.
It is defined to be `:' iff it is undefined. This allows settarg to work
in sub-shells.
* Use spider cache for "module --terse avail" when LMOD_CACHED_LOADS=yes
* Fix bug with LMOD_SETTARG_CMD and csh.
* Turn off LMOD_REDIRECT for tcsh
Settarg now supports C/N/V and N/V/V module layouts.
* Fixed a bug where sometimes a compiler-mpi dependent module wouldn't
be found when it should.
* Fixed issue #321 Changed LMOD_TARGPATHLOC to LMOD_SETTARG_TARG_PATH_LOCATION
changed LMOD_FULL_SETTARG_SUPPORT to LMOD_SETTARG_FULL_SUPPORT. (Lmod supports both)
* Fixed issue #322 where non-existant directory would cause problems
* Fix bug in settarg module for csh.
* Fix bug in Csh.lua where semicolons inside an alias were removed. Only remove the
trailing semicolon.
* Generate an LmodError() if the cachefile is broken.
* Do not convert /foo/bar/../baz to /foo/baz. Leave .. in paths. Fixes issue #324
* The admin.list (aka, nag mesages) supports Lua regex's. Responds to issue #326
* The admin.list now supports multiple targets for the same message (issue #326)
* Use full path_regularize() on all TCL program files. Having paths like /a/b/../d
caused problems for some users when interacting with TCL.
* Do not look for lua_json. Just use the one that comes with Lmod.
* Fix sh_to_modulefile correctly handle bad options (issue #332)
* Allow pushenv("FOO",false) to clear "FOO" (issue #331)
* Always use ref counting for MODULEPATH.
* Change the C-shell output to not use quotes and instead use back slashes to
quote special characters like $.
* Better filtering for c-shell output testing
* Fix bug in sh_to_modulefile
* Remove definition of SHOST from bash.in. Recompute it in settarg module.
* Support relative symlink when trying to find cmd_dir
* Now get modify time correctly from SpiderCache timestamp file.
* Issue #346: do not use "ls" to get the list of directories when dealing with .modulepath
* Issue #347: Just skip parsing "whole" if it is not a string (settarg)
* Issue #348: Do not double the colon when the original was a single colon
* Change ml so that ml av --terse is an error.
* Making the settarg and lmod modulefiles be installed versionless.
* Issue #353: Fix bug in cshrc.in end -> endif
* Issue #352: Allow sites to control the prefix completely.
* luaposix 34.0.4-1 wants to use setfenv() which only exists in Lua 5.1 and not in Lua 5.2+
so Lmod now requires("posix") outside of strict.
* Build lua-term in the correct location when --with-siteControlPrefix=yes
* issue #347: Remove ./?.lua, ./?/init.lua from LUA_PATH and ./?.so from LUA_CPATH
* issue #357: Add missing semicolons in settarg.version.lua
* Fixed bug with lib directories not being readable.
* issue #355: Make LMOD_RC support a colon separated list of possible lmodrc.lua files
* Make bash, zsh and csh form LMOD_PKG to use <prefix>/lmod/lmod instead of
<prefix>/lmod/<lmod_version> when allowing sites to completely control prefix (issue #352)
* issue #359: Lmod can now use the internal version of lfs for installation.
* issue #361: Support make -j install added.
* issue #362: Trying to fix problem with RPM builds of Lmod at UGENT.
* issue #358: Improved error msg when there is a syntax error in a modulefile.
* issue #365, #366: Fix typo in Makefile about pkgs.
* Modify end2end test to use build-in lua pkgs only.
* issue #370: Allow for exact match with fn and fullName w/o regex pattern matching
added % quoting for '-' in docs.
* Support for making lmod silence shell debug output (when doing set -xv for bash or zsh)
The command "make world_update" now marks the latest release as the latest release at
github.com/TACC/Lmod
* The new module command now returns the status from the eval of the lmod command
* Block .version.version and .modulerc.version files from being included in DirTree
* Bash like shells now output without double quotes.
* Fix fish shell output for path and infopath. Fix shell function output for zsh/bash
* issue #374: convert ~ to $HOME internally. This allows C-shell users to use ~
inside a modulefile and have it work when unloading.
* issue #375: Support for is-loaded and is-avail added.
* Do not convert LMOD_PKG from /opt/apps/lmod/7.7.35 to /opt/apps/lmod/lmod if the link exists.
* When building reverseMap also take abspath(path) and store it if different.
* Now make startup scripts (profile.in, cshrc.in, profile.fish.in) use PKGV instead of PKG so
that the pre-install create $VERSION files. The install target will convert them to PKG.
* Check for "g" tools like gbasename, gexpr as well as the regular basename, expr etc.
* General support for the modulerc files to be written in lua. They have a .lua extension.
* Bug fix for 7.7.38 where it did not work for Lua 5.1
-------------------------------------------------------------------
Fri Aug 17 18:20:09 UTC 2018 - eich@suse.com
- Change %license to a %my_license macro to be able to
build for the HPC module on SLE-12.
-------------------------------------------------------------------
Fri Aug 17 18:00:24 UTC 2018 - eich@suse.com
- Move doc and man page building into separate flavors.
-------------------------------------------------------------------
Wed Apr 18 19:53:39 UTC 2018 - eich@suse.com
- use license macro for License file.
-------------------------------------------------------------------
Wed Apr 18 13:07:51 UTC 2018 - jengelh@inai.de
- Replace %__ type macro indirections.
- Update RPM groups, summaries, find|xargs commands.
-------------------------------------------------------------------
Wed Apr 18 05:53:52 UTC 2018 - eich@suse.com
- Avoid conflicting script snippets from 'Modules' and 'lua-lmod'
in /etc/profiles.d by making sure that both packages cannot be
installed simultaneously (boo#1089970).
-------------------------------------------------------------------
Mon Oct 16 13:21:53 UTC 2017 - eich@suse.com
- Doc-Ugly-workaround-for-bug-in-Sphinx.patch
On SLE-12 and Leap 42.x Sphinx generates an incorrect tex file.
This patch adds ugly code to the documentation Makefile to patch
it up and work around this problem.
-------------------------------------------------------------------
Sun Oct 10 16:42:51 UTC 2017 - eich@suse.com
- Make lua-lmod Arch-dependent: it hard codes the search path to
.so plugins used by other Lua packages (boo#1061205).
-------------------------------------------------------------------
Fri Oct 6 12:36:48 UTC 2017 - eich@suse.com
- Update to 7.6:
1. Support for disable <collection_name>
2. A marked default is honored even if it is hidden
3. Support for depends_on() as a better way to handle module dependencies.
* Lmod 7.5:
1. Added -T, --trace option to report restore, load, unloads and spider.
2. Report both global and version aliases with module --terse
Add Global Aliases output to module avail if they exist.
3. Support for isVisibleHook (Thanks @wpoely86!) to control whether
a module is hidden or not.
4. Support for "spider -o spider-json" to set the key "hidden"
to true or false for each module.
5. Setting LMOD_EXACT_MATCH=yes also turns off the display of (D) with
avail.
6. CMake "shell" added.
7. Added feature that LMOD_TMOD_FIND_FIRST. A site can decide to force
FIND_FIRST instead FIND_BEST for NV module layouts.
Bug Fixes:
1. Fix bug where Lmod would be unable to load a module where NV and
NVV module layouts were mixed.
2. Fix bug where LMOD_CASE_INDEPENDENT_SORTING=yes wasn't case
independent when using avail hook.
* Lmod 7.4:
1. Using built-in luafilesystem if system version doesn't exist or < 1.6.2
2. Support for setting LMOD_SYSHOST with configure.
3. Sites or users can use italic instead of dim for hidden modules
4. Detailed spider output reports all dependencies hidden or not.
5. Support for fish shell
6. Move almost all configuration variables from profile.in to bash.in and
similarly for tcsh.
Bug Fixes:
1. Fixed bug that caused LMOD env vars to be lower cased.
2. Fixed bug where tcsh/csh exit status was not returned.
3. bash and zsh tab completions works when LMOD_REDIRECT is yes.
4. Can now conflict with a version.
5. Fixed bug with addto a:b:c
6. Fixed bugs in computeHashSum, generating softwarePage.
* Lmod 7.3:
1. The isloaded() function has been repaired.
2. Updated French, German and Spanish translations.
3. Two error message related to missing modules are now available for
translations.
* Lmod 7.2.1:
1. A test suite for testing the Lmod installation has been added. See
https://github.com/rtmclay/Lmod_test_suite for details.
2. Added support for localization of errors and warnings and messages.
3. Language Translations complete: ES, Partial: FR, ZH, DE
4. Introduced "errWarnMsgHook" to take advantage of the new message
handling.
Bug Fixes:
1. Several bug fixes related to Spider Cache and LMOD_CACHED_LOADS=1
2. Repaired zsh tab completion.
3. Minimize the output of Lmod's BASH_ENV when debugging Bash shell
scripts.
4. Allow colons as well as spaces for the path used in the addto command.
5. Handles module directories that are empty or bad symlink or a .version
file only.
6. Fix bug in module describe.
* Lmod 7.1:
1. The commands "module --show_hidden avail" and "module --show_hidden"
list now show "hidden" modules with the (H) property. Also they are
displayed as dim. This works better on black backgrounds.
2. Added the command "module --config_json" to generate a json output of
Lmod's configuration.
3. Add support for env. var. LMOD_SITE_NAME to set a site's name. This is
also a configure option.
Bug Fixes:
1. Hidden module now will not be marked as default.
2. Now check permission of a directory before trying to open it.
3. Lmod now does not pollute the configure time value of LD_LIBRARY_PATH
and LD_PRELOAD into the users env.
4. Lmod now handles illegal values of $TERM.
* Lmod 7.0:
1. This version support N/V/V. (e.g. fftw/64/3.3.4). Put a .version file
in with the "64" directory to tell Lmod where the version starts.
2. Marking a default in the MODULERC is now supported.
3. User ~/.modulerc has priority over system MODULERC.
4. System MODULERC has priority over marking a default in the module
tree.
5. Installed Modules can be hidden by "hide-version foo/3.2.1" in any
modulerc file.
6. The system spider cache has changed. Please update your scripts to
build spiderT.lua instead of moduleT.lua
* Lmod 6.6:
1. Now uses the value of LD_PRELOAD and LD_LIBRARY_PATH found at configure
time to run all TCL progams.
2. Now uses a custom _module_dir function for tab completion in bash for
module use path<TAB>. Thanks to Pieter Neerincx!
3. Support for LMOD_FAMILY_<name>_VERSION added.
4. If ~/.lmod.d/.cache/invalidated exists then the user cache file(s) are
ignored. When generating a user cache file ~/.lmod.d/.cache/invalidated
is deleted.
Bug Fixes:
1. Correctly merges spider cache location where there are multiple
lmodrc.lua files.
2. Remove leading and trailing blanks for names in setenv, pushenv,
prepend_path, etc.
3. ml now generates error for unknown argument that start with a double
minus. (e.g. ml --vers)
4. pushenv("name","") fixed when unloading module.
5. Make sure to regularize MODULEPATH when ingesting it for the first
time.
- lmod.consulting.patch replaced by:
Messages-Remove-message-about-creating-a-consulting-ticket.patch.
- lmod.site.patch:
Removed: The site name is now provided by the env variable LMOD_SITE_NAME.
(FATE#324199).
-------------------------------------------------------------------
Thu Oct 5 18:46:01 UTC 2017 - eich@suse.com
- Fix build for Leap, SLE-12 and SLE-15.
- Remove _service file: the service can be run with
'osc service run download_files' as well.
-------------------------------------------------------------------
Tue Sep 5 15:48:44 UTC 2017 - eich@suse.com
- Change group of documentation package to Documentation/Other.
-------------------------------------------------------------------
Mon Aug 14 06:03:38 UTC 2017 - eich@suse.com
- Fix group of doc package.
- Change BuildRequires from ohpc to ohpc-macros.
-------------------------------------------------------------------
Thu Aug 10 13:47:18 UTC 2017 - eich@suse.com
- Fix build: add buildrequires for texlive-latexmk, texlive-makeindex and
texlive-varwidth.
-------------------------------------------------------------------
Thu Aug 10 12:52:57 UTC 2017 - eich@suse.com
- Prepare for suse default settings (bsc#1053237).
-------------------------------------------------------------------
Mon Jun 26 08:55:33 UTC 2017 - dmueller@suse.com
- correct buildrequires for building on Leap 42.3 and on SLE15+
-------------------------------------------------------------------
Fri Apr 28 17:49:00 UTC 2017 - eich@suse.com
- Add profile files for bash and csh (bsc#1048964).
-------------------------------------------------------------------
Fri Apr 7 15:50:53 UTC 2017 - eich@suse.com
- Build and package man page and other documentation, create a separate
package for additional documentation (bsc#1032970).
-------------------------------------------------------------------
Thu Feb 16 13:24:51 UTC 2017 - jengelh@inai.de
- Replace redundant %__ macro indirections
-------------------------------------------------------------------
Sat Nov 12 04:28:38 UTC 2016 - eich@suse.com
* Updated to version 6.5.11:
- All the Lmod programs now resolve any symlinks to the
actual program before adding to the Lua's package.path
and package.cpath.
- Contrib patch: Extend msgHook to LmodError and LmodWarning
- Now using travis for CI and testing.
- Configure time option to have Lmod check for magic TCL string in
modulefiles (#%Module)
- Lmod now uses a regular expression to match user commands
to internal commands. For example "av", "ava" or "available"
will match "avail"
- Lmod now uses the values of LUA_PATH and LUA_CPATH at
configuration time. This way Lmod is safe from user changes
to these important Lua values.
- Updated documentation at lmod.readthedocs.org
- Support for generating xalt_rmapT.json used by XALT.
- Fixed bug with upcase characters in version file.
- It is now possible to configure Lmod to use the spider cache
when loading (--with-cachedLoads=yes or
export LMOD_CACHED_LOADS=1 to activate). This is off by
default. Sites that use this will have to keep their spider
caches up-to-date or user will not be able to load modules
not in the cache.
- It is now possible to configure Lmod to use Legacy Version
ordering ( --with-legacyOrdering=yes or export
LMOD_LEGACY_VERSION_ORDERING=1). With legacy ordering 9.0
is "newer" than 10.0. This is the ordering that Tmod uses.
- Lmod will print admin message (a.k.a nag messages) when
doing module whatis <foo> or module help <foo>. In other
words if a nag message would appear with module load <foo>
then it will also appear when using whatis or help.
- Many improvement in the generation of the lmod database for
module tracking.
- Numerous bug fixes.
-------------------------------------------------------------------
Mon Oct 17 14:49:13 UTC 2016 - eich@suse.com
- Setting 'download_files' service to mode='localonly'
and adding source tarball. (Required for Factory).
-------------------------------------------------------------------
Wed Oct 12 17:45:52 UTC 2016 - eich@suse.com
- Initial version of Lmod: 6.0.24

295
lua-lmod.spec Normal file
View File

@ -0,0 +1,295 @@
#
# spec file for package lua-lmod
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global flavor @BUILD_FLAVOR@%{nil}
%define _buildshell /bin/bash
%if "%flavor" == ""
%endif
%if "%flavor" == "doc-pdf"
%define build_pdf 1
%endif
%define lmod_min_lua_version 5.1
%define version_name_suffix() %{lua: x=string.gsub(rpm.expand("%*"),"([0-9]+)%.([0-9]+).*","%1%2"); print(x)}
%{!?lua_pref:%define lua_pref lua}
%define lua_lmod_modulesdir %{_datarootdir}/lmod/modulefiles
%define lua_lmod_admin_modulesdir %{_datarootdir}/lmod/admin/modulefiles
%define lua_lmod_moduledeps %{_datarootdir}/lmod/moduledeps
%define lua_path ?.lua;?/?.lua;%{lua_noarchdir}/?.lua;%{lua_noarchdir}/?/init.lua
%define lua_cpath ?.so;?/?.so;%{lua_archdir}/?.so
%{!?_rpmmacrodir:%define _rpmmacrodir %_rpmconfigdir/macros.d}
Name: lua-lmod
Summary: Lua-based Environment Modules used in HPC
License: MIT
Group: Development/Libraries/Other
Version: 8.7.17
Release: 0
URL: https://github.com/TACC/Lmod
Source0: https://github.com/TACC/Lmod/archive/%{version}.tar.gz#$/%{name}-%{version}.tar.gz
Patch1: Messages-Remove-message-about-creating-a-consulting-ticket.patch
Patch2: Doc-Ugly-workaround-for-bug-in-Sphinx.patch
BuildRequires: %{lua_pref} >= %{lmod_min_lua_version}
BuildRequires: %{lua_pref}-devel >= %{lmod_min_lua_version}
BuildRequires: %{lua_pref}-luafilesystem
BuildRequires: %{lua_pref}-luaposix
BuildRequires: %{lua_pref}-luaterm
BuildRequires: bc
BuildRequires: procps
BuildRequires: rsync
BuildRequires: tcl
# Do not require a lua interpreter directly, this will be handled implicitly
Requires: lua%{version_name_suffix %lua_version}-luafilesystem
Requires: lua%{version_name_suffix %lua_version}-luaposix
Requires: lua%{version_name_suffix %lua_version}-luaterm
Requires: tcl
Conflicts: Modules
%if 0%{suse_version} >= 1550
BuildRequires: python3-Sphinx
%else
BuildRequires: python-Sphinx
%endif
Provides: lua-lmod-man = %{version}-%{release}
Provides: ml = %{version}
Provides: modules = %{version}
%if 0%{?build_pdf:1}
%if 0%{suse_version} >= 1550
BuildRequires: python3-Sphinx-latex
%else
%if 0%{?sle_version} == 0 || 0%{?sle_version} >= 120300
BuildRequires: python-Sphinx-latex
%endif
%endif
BuildRequires: texlive
BuildRequires: texlive-babel
BuildRequires: texlive-babel-english
BuildRequires: texlive-capt-of
BuildRequires: texlive-caption
BuildRequires: texlive-cmap
BuildRequires: texlive-courier
BuildRequires: texlive-dvips
BuildRequires: texlive-eqparbox
BuildRequires: texlive-fancybox
BuildRequires: texlive-fancyhdr
BuildRequires: texlive-fancyvrb
BuildRequires: texlive-framed
BuildRequires: texlive-helvetic
BuildRequires: texlive-latexmk
BuildRequires: texlive-makeindex
BuildRequires: texlive-mdwtools
BuildRequires: texlive-multirow
BuildRequires: texlive-needspace
BuildRequires: texlive-parskip
BuildRequires: texlive-psnfss
BuildRequires: texlive-tex-gyre
BuildRequires: texlive-threeparttable
BuildRequires: texlive-times
BuildRequires: texlive-titlesec
BuildRequires: texlive-upquote
BuildRequires: texlive-varwidth
BuildRequires: texlive-wrapfig
%endif # %%build_pdf
%description
Lmod is an Environment Module System as used in High Performance Computing
(HPC) based on Lua, Reads TCL Modules, Supports a Software Hierarchy.
Environment Modules are to select the individual versions of HPC libraries
and tools from a set of installed ones.
It requires these libraries and tools to be available in separate independent
directory structures. On SUSE systems default location for these structures
is under /usr/lib/hpc.
It is not recommended to install this tool on systems which do not belong
to an HPC deployment which uses the module system.
%package doc
Summary: Documentation for Lmod
Group: Documentation/Other
BuildArch: noarch
%description doc
Documentation (pdf) for the Lmod Environment Modules System.
%prep
%setup -q -n Lmod-%{version}
%patch1 -p1
%if 0%{?sle_version:1} && 0%{?sle_version} < 150000
%patch2 -p1
%endif
%build
%if 0%{!?build_pdf:1}
export LUA_CPATH="%{lua_cpath}"
export LUA_PATH="%{lua_path}"
%configure --prefix=%{_datadir} \
--with-module-root-path=%{lua_lmod_modulesdir} \
--libdir=%{lua_archdir} \
--datadir=%{lua_noarchdir} \
--with-redirect=yes \
--with-autoSwap=no \
--with-fastTCLInterp=no
make
find my_docs/ -name .gitignore -delete
%endif
cd docs; make %{?build_pdf:latexpdf} %{!?build_pdf:man}; cd ..
%install
%if 0%{!?build_pdf:1}
export LUA_CPATH="%{lua_cpath}"
export LUA_PATH="%{lua_path}"
%make_install
mkdir -p %{buildroot}%{_rpmmacrodir}/rpm
cat <<EOF > %{buildroot}%{_rpmmacrodir}/macros.lmod
%%lua_lmod_modulesdir %{lua_lmod_modulesdir}
%%lua_lmod_admin_modulesdir %{lua_lmod_admin_modulesdir}
%%lua_lmod_moduledeps %{lua_lmod_moduledeps}
EOF
mkdir -p %{buildroot}%{lua_lmod_modulesdir}
mkdir -p %{buildroot}%{lua_lmod_admin_modulesdir}
mkdir -p %{buildroot}%{lua_lmod_moduledeps}
mkdir -p %{buildroot}/%{_mandir}/man1
# Fix file duplicates
rm -f %{buildroot}/%{_datadir}/lmod/%{version}/init/ksh
ln -s %{_datadir}/lmod/%{version}/init/sh %{buildroot}/%{_datadir}/lmod/%{version}/init/ksh
rm -f %{buildroot}/%{_datadir}/lmod/%{version}/init/zsh
ln -s %{_datadir}/lmod/%{version}/init/bash %{buildroot}/%{_datadir}/lmod/%{version}/init/zsh
rm -f %{buildroot}/%{_datadir}/lmod/%{version}/init/tcsh
ln -s %{_datadir}/lmod/%{version}/init/csh %{buildroot}/%{_datadir}/lmod/%{version}/init/tcsh
rm -f %{buildroot}/%{_datadir}/lmod/%{version}/settarg/Version.lua
ln -s %{_datadir}/lmod/%{version}/libexec/Version.lua %{buildroot}/%{_datadir}/lmod/%{version}/settarg/Version.lua
for file in $(find %{buildroot}%{_datadir}/lmod/%{version}/init -type f); do
sed -i -e "/#!.*/d" $file
chmod a-x $file
done
for file in $(find %{buildroot}%{_datadir}/lmod); do
[ -f "$file" ] || continue
line=$(head -1 $file)
if [[ $line =~ \#\!.*bin/env ]]; then
case $line in
*bash) newline="#! /bin/bash" ;;
*) newline="#! /usr/bin/${line##*/env* }" ;;
esac
sed -i "1s,^.*,${newline}\n," $file
fi
done
mkdir -p %{buildroot}/%{_sysconfdir}/profile.d
cat <<EOF >%{buildroot}/%{_sysconfdir}/profile.d/lmod.sh
# -*- shell-script -*-
########################################################################
# This is the system wide source file for setting up
# modules:
#
########################################################################
# NOOP if running under known resource manager
if [ ! -z "\$SLURM_NODELIST" ];then
return
fi
export LMOD_SETTARG_CMD=":"
export LMOD_FULL_SETTARG_SUPPORT=no
export LMOD_COLORIZE=no
export LMOD_PREPEND_BLOCK=normal
if [ \$EUID -eq 0 ]; then
export MODULEPATH=\${MODULEPATH:+\${MODULEPATH}:}%{?OHPC_MODULES:%{OHPC_ADMIN}/modulefiles:%{OHPC_MODULES}:}%{lua_lmod_admin_modulesdir}:%{lua_lmod_modulesdir}
else
export MODULEPATH=\${MODULEPATH:+\${MODULEPATH}:}%{?OHPC_MODULES:%{OHPC_MODULES}:}%{lua_lmod_modulesdir}
fi
export BASH_ENV=%{_datadir}/lmod/%{version}/init/bash
# Initialize modules system
. \${BASH_ENV} >/dev/null
# Load baseline SUSE HPC environment
module try-add suse-hpc
EOF
cat <<EOF >%{buildroot}/%{_sysconfdir}/profile.d/lmod.csh
# -*- shell-script -*-
########################################################################
# This is the system wide source file for setting up
# modules:
#
########################################################################
if ( \$?SLURM_NODELIST ) then
exit 0
endif
setenv LMOD_SETTARG_CMD ":"
setenv LMOD_FULL_SETTARG_SUPPORT "no"
setenv LMOD_COLORIZE "no"
setenv LMOD_PREPEND_BLOCK "normal"
if ( \${?MODULEPATH} ) then
setenv MODULEPATH "\${MODULEPATH}:"
else
setenv MODULEPATH ""
endif
if ( \`id -u\` == "0" ) then
setenv MODULEPATH "\${MODULEPATH}%{?OHPC_MODULES:%{OHPC_ADMIN}/modulefiles:%{OHPC_MODULES}:}%{lua_lmod_admin_modulesdir}:%{lua_lmod_modulesdir}"
else
setenv MODULEPATH "\${MODULEPATH}%{?OHPC_MODULES:%{OHPC_MODULES}:}%{lua_lmod_modulesdir}"
endif
# Initialize modules system
source %{_datadir}/lmod/%{version}/init/csh >/dev/null
# Load baseline SUSE HPC environment
module try-add suse-hpc
EOF
mkdir -p %{buildroot}/%{_mandir}/man1
install -p -m644 docs/build/man/lmod.1 %{buildroot}/%{_mandir}/man1/
%endif
%if 0%{!?build_pdf:1}
%files
%license License
%doc README.*
%config %{_sysconfdir}/profile.d/lmod.sh
%config %{_sysconfdir}/profile.d/lmod.csh
%dir %{_datadir}/lmod
%dir %{lua_lmod_modulesdir}
%dir %{lua_lmod_admin_modulesdir}
%dir %{lua_lmod_moduledeps}
%{_rpmmacrodir}/macros.lmod
%{_datadir}/lmod/*
%{_mandir}/man1/lmod.1.*
%endif
%if 0%{?build_pdf}
%files doc
%doc my_docs/*.txt my_docs/*.pdf my_docs/*.md
%doc docs/build/latex/Lmod.pdf
%endif
%changelog