From 6b23ae3329513bd757c68b25789cd9f6e8b7af79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Wed, 7 Jun 2023 08:11:15 +0200 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 lua-lmod revision a7fea52509b3c7c886ca0a0b00de4887 --- .gitattributes | 23 + Doc-Ugly-workaround-for-bug-in-Sphinx.patch | 26 + ...e-about-creating-a-consulting-ticket.patch | 57 ++ _multibuild | 3 + lua-lmod-8.7.17.tar.gz | 3 + lua-lmod.changes | 656 ++++++++++++++++++ lua-lmod.spec | 295 ++++++++ 7 files changed, 1063 insertions(+) create mode 100644 .gitattributes create mode 100644 Doc-Ugly-workaround-for-bug-in-Sphinx.patch create mode 100644 Messages-Remove-message-about-creating-a-consulting-ticket.patch create mode 100644 _multibuild create mode 100644 lua-lmod-8.7.17.tar.gz create mode 100644 lua-lmod.changes create mode 100644 lua-lmod.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/Doc-Ugly-workaround-for-bug-in-Sphinx.patch b/Doc-Ugly-workaround-for-bug-in-Sphinx.patch new file mode 100644 index 0000000..ccf376b --- /dev/null +++ b/Doc-Ugly-workaround-for-bug-in-Sphinx.patch @@ -0,0 +1,26 @@ +From: Egbert Eich +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 +Signed-off-by: Egbert Eich +--- + 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." + diff --git a/Messages-Remove-message-about-creating-a-consulting-ticket.patch b/Messages-Remove-message-about-creating-a-consulting-ticket.patch new file mode 100644 index 0000000..3a0b351 --- /dev/null +++ b/Messages-Remove-message-about-creating-a-consulting-ticket.patch @@ -0,0 +1,57 @@ +From: Egbert Eich +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 +--- +--- + 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, diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..0d0464c --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + doc-pdf + diff --git a/lua-lmod-8.7.17.tar.gz b/lua-lmod-8.7.17.tar.gz new file mode 100644 index 0000000..2e6f208 --- /dev/null +++ b/lua-lmod-8.7.17.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:11f231dba5cae3be896eb4988172fcd75bd60acb5f0844d3b81a571460fed766 +size 20124150 diff --git a/lua-lmod.changes b/lua-lmod.changes new file mode 100644 index 0000000..a08a533 --- /dev/null +++ b/lua-lmod.changes @@ -0,0 +1,656 @@ +------------------------------------------------------------------- +Tue Feb 7 19:25:14 UTC 2023 - Egbert Eich + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 ...' 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 + +- Move latex dependencies to the pdf build flavor + +------------------------------------------------------------------- +Wed Jun 9 08:36:10 UTC 2021 - Martin Liška + +- Add new missing dependency when using Sphinx 4.x. + +------------------------------------------------------------------- +Tue Jun 8 11:46:55 UTC 2021 - Egbert Eich + +- Adding missing brackets in csh script. + +------------------------------------------------------------------- +Thu Jun 3 23:19:40 UTC 2021 - Matej Cepl + +- 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 + +- 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 + +- Update to version 8.4.28: + For details check: https://github.com/TACC/Lmod/issues/ + * 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 + +- 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 + +- 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 " 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 + +- 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 + +- 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 + +- Fix the python3 switch on sphinx to not really pull any py2 + package + +------------------------------------------------------------------- +Tue Mar 24 07:42:13 UTC 2020 - Ana Guerrero Lopez + +- 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 + +- python3 based Sphinx + +------------------------------------------------------------------- +Fri Feb 21 09:52:42 UTC 2020 - Ana Guerrero Lopez + +- 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 + +- 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 + +- 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 + +- 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 + +- 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 /lmod/lmod instead of + /lmod/ 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 + 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. Thanks to Pieter Neerincx! + 3. Support for LMOD_FAMILY__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 or module help . In other + words if a nag message would appear with module load + 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 diff --git a/lua-lmod.spec b/lua-lmod.spec new file mode 100644 index 0000000..e38652e --- /dev/null +++ b/lua-lmod.spec @@ -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 < %{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 <%{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 <%{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