Skip to content

Commit 8aea288

Browse files
authored
Merge pull request #2 from gsell/main
pull changes from upstream main
2 parents 40d8b6b + 03b655a commit 8aea288

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+500
-377
lines changed

.cirrus.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ task:
8080
env:
8181
MAKE: gmake
8282
freebsd_instance:
83-
image_family: freebsd-14-2
83+
image_family: freebsd-14-3
8484
cpu: 1
8585
memory: 2G
8686
reqinstall_script: pkg install -y bash curl gmake dejagnu py311-sphinx gzip tcl86 tcl-wrapper autoconf ksh93 zsh fish perl5 python311 ruby cmake R readline

.hunspell.en.dic

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1301,3 +1301,9 @@ buildable
13011301
Reproducibility
13021302
rebase
13031303
reproducibility
1304+
latexpdf
1305+
Kerberos
1306+
Benoit
1307+
HPSF
1308+
wget
1309+
MSVC

.readthedocs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,5 @@ python:
2424
- requirements: doc/source/requirements.txt
2525

2626
# If using Sphinx, optionally build your docs in additional formats such as PDF
27-
# formats:
28-
# - pdf
27+
formats:
28+
- pdf

CODE_OF_CONDUCT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ representative at an online or offline event.
6161

6262
Instances of abusive, harassing, or otherwise unacceptable behavior may be
6363
reported to the community leaders responsible for enforcement at
64-
modules-maintainers@lists.sourceforge.net.
64+
modules-TSC+owner@lists.hpsf.io.
6565
All complaints will be reviewed and investigated promptly and fairly.
6666

6767
All community leaders are obligated to respect the privacy and security of the

CONTRIBUTING.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ Support questions
2020
-----------------
2121

2222
Please use the `modules-interest mailing list`_
23-
(``modules-interest@lists.sourceforge.net``) or the `Modules chat room`_
23+
(``modules-interest@lists.hpsf.io``) or the `Modules chat room`_
2424
(``#modules:matrix.org``) for questions. Do not use the
2525
issue tracker for this.
2626

27-
.. _modules-interest mailing list: https://sourceforge.net/projects/modules/lists/modules-interest
27+
.. _modules-interest mailing list: https://lists.hpsf.io/g/modules-interest
2828
.. _Modules chat room: https://matrix.to/#/#modules:matrix.org
2929

3030
Asking for new features

MIGRATING.rst

Lines changed: 80 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ modulepaths and recursively found in modulepaths enabled by available modules.
5555
-------------- :sgrdi:`/path/to/modulefiles.3` (via bar/1) --------------
5656
qux/1 qux/2
5757
58-
The :subcmd:`spider` sub-command relies on the :ref:Extra match search
58+
The :subcmd:`spider` sub-command relies on the :ref:`Extra match search`
5959
mechanism to scan modulefiles and identify the modulepaths they enable. Since
6060
all modulefiles are evaluated during this scan, it is recommended to build
6161
and use a :ref:`Module cache` to improve search performance.
@@ -295,7 +295,7 @@ for the module.
295295
296296
:ps:`$` module show foo
297297
-------------------------------------------------------------------
298-
:sgrhi:`/path/to/modulefiles/mp4/foo/1`:
298+
:sgrhi:`/path/to/modulefiles/foo/1`:
299299
300300
:sgrcm:`provide` liba/1.2 libb/2.1
301301
:sgrcm:`conflict` foo
@@ -717,7 +717,7 @@ module will automatically be unloaded.
717717
:ps:`$` module purge
718718
:ps:`$` module load bar/1
719719
:ps:`$` echo $_LMFILES_
720-
/path/to/othermfiles/mp2/bar/1
720+
/path/to/othermfiles/bar/1
721721
:ps:`$` module load foo/1
722722
Loading :sgrhi:`bar/1`
723723
:sgrer:`ERROR`: Module already loaded from a different modulepath
@@ -2696,34 +2696,83 @@ attached to.
26962696
Tags inherited from module state, consequence of a module action or set by
26972697
using :mfcmd:`module-tag` but that have a special meaning currently are:
26982698

2699-
+------------------+-------------------------+-----------------------+-------+----------------------+
2700-
| Tag | Description | Set with | Abbr. | Color |
2701-
| | | | | |
2702-
+==================+=========================+=======================+=======+======================+
2703-
| auto-loaded | Module has been loaded | Inherited | aL | .. parsed-literal:: |
2704-
| | automatically | | | :sgral:`mod/1.0` |
2705-
+------------------+-------------------------+-----------------------+-------+----------------------+
2706-
| forbidden | Module cannot be loaded | Inherited from | F | .. parsed-literal:: |
2707-
| | | :mfcmd:`module-forbid`| | :sgrf:`mod/1.0` |
2708-
+------------------+-------------------------+-----------------------+-------+----------------------+
2709-
| hidden | Module is not visible | Inherited from | H | .. parsed-literal:: |
2710-
| | on :subcmd:`avail` | :mfcmd:`module-hide` | | :sgrh:`mod/1.0` |
2711-
+------------------+-------------------------+-----------------------+-------+----------------------+
2712-
| hidden-loaded | See `Hiding loaded | Inherited from | H | .. parsed-literal:: |
2713-
| | modules`_ | :mfcmd:`module-hide` | | :sgrh:`mod/1.0` |
2714-
+------------------+-------------------------+-----------------------+-------+----------------------+
2715-
| loaded | Module is currently | Inherited | L | .. parsed-literal:: |
2716-
| | loaded | | | :sgrl:`mod/1.0` |
2717-
+------------------+-------------------------+-----------------------+-------+----------------------+
2718-
| nearly-forbidden | Module will soon not be | Inherited from | nL | .. parsed-literal:: |
2719-
| | able to load anymore | :mfcmd:`module-forbid`| | :sgrnf:`mod/1.0` |
2720-
+------------------+-------------------------+-----------------------+-------+----------------------+
2721-
| sticky | See `Sticky modules`_ | :mfcmd:`module-tag` | S | .. parsed-literal:: |
2722-
| | | | | :sgrs:`mod/1.0` |
2723-
+------------------+-------------------------+-----------------------+-------+----------------------+
2724-
| super-sticky | See `Sticky modules`_ | :mfcmd:`module-tag` | sS | .. parsed-literal:: |
2725-
| | | | | :sgrss:`mod/1.0` |
2726-
+------------------+-------------------------+-----------------------+-------+----------------------+
2699+
.. only:: html
2700+
2701+
+------------------+-------------------------+------------------------+-------+------------------------+
2702+
| Tag | Description | Set with | Abbr. | Color |
2703+
| | | | | |
2704+
+==================+=========================+========================+=======+========================+
2705+
| auto-loaded | Module has been loaded | Inherited | aL | .. parsed-literal:: |
2706+
| | automatically | | | |
2707+
| | | | | :sgral:`mod/1.0` |
2708+
+------------------+-------------------------+------------------------+-------+------------------------+
2709+
| forbidden | Module cannot be loaded | Inherited from | F | .. parsed-literal:: |
2710+
| | | :mfcmd:`module-forbid` | | |
2711+
| | | | | :sgrf:`mod/1.0` |
2712+
+------------------+-------------------------+------------------------+-------+------------------------+
2713+
| hidden | Module is not visible | Inherited from | H | .. parsed-literal:: |
2714+
| | on :subcmd:`avail` | :mfcmd:`module-hide` | | |
2715+
| | | | | :sgrh:`mod/1.0` |
2716+
+------------------+-------------------------+------------------------+-------+------------------------+
2717+
| hidden-loaded | See `Hiding loaded | Inherited from | H | .. parsed-literal:: |
2718+
| | modules`_ | :mfcmd:`module-hide` | | |
2719+
| | | | | :sgrh:`mod/1.0` |
2720+
+------------------+-------------------------+------------------------+-------+------------------------+
2721+
| loaded | Module is currently | Inherited | L | .. parsed-literal:: |
2722+
| | loaded | | | |
2723+
| | | | | :sgrl:`mod/1.0` |
2724+
+------------------+-------------------------+------------------------+-------+------------------------+
2725+
| nearly-forbidden | Module will soon not be | Inherited from | nL | .. parsed-literal:: |
2726+
| | able to load anymore | :mfcmd:`module-forbid` | | |
2727+
| | | | | :sgrnf:`mod/1.0` |
2728+
+------------------+-------------------------+------------------------+-------+------------------------+
2729+
| sticky | See `Sticky modules`_ | :mfcmd:`module-tag` | S | .. parsed-literal:: |
2730+
| | | | | |
2731+
| | | | | :sgrs:`mod/1.0` |
2732+
+------------------+-------------------------+------------------------+-------+------------------------+
2733+
| super-sticky | See `Sticky modules`_ | :mfcmd:`module-tag` | sS | .. parsed-literal:: |
2734+
| | | | | |
2735+
| | | | | :sgrss:`mod/1.0` |
2736+
+------------------+-------------------------+------------------------+-------+------------------------+
2737+
2738+
.. only:: not html
2739+
2740+
+------------------+-------------------------+------------------------+-------+
2741+
| Tag | Description | Set with | Abbr. |
2742+
| | | | |
2743+
+==================+=========================+========================+=======+
2744+
| auto-loaded | Module has been loaded | Inherited | aL |
2745+
| | automatically | | |
2746+
| | | | |
2747+
+------------------+-------------------------+------------------------+-------+
2748+
| forbidden | Module cannot be loaded | Inherited from | F |
2749+
| | | :mfcmd:`module-forbid` | |
2750+
| | | | |
2751+
+------------------+-------------------------+------------------------+-------+
2752+
| hidden | Module is not visible | Inherited from | H |
2753+
| | on :subcmd:`avail` | :mfcmd:`module-hide` | |
2754+
| | | | |
2755+
+------------------+-------------------------+------------------------+-------+
2756+
| hidden-loaded | See `Hiding loaded | Inherited from | H |
2757+
| | modules`_ | :mfcmd:`module-hide` | |
2758+
| | | | |
2759+
+------------------+-------------------------+------------------------+-------+
2760+
| loaded | Module is currently | Inherited | L |
2761+
| | loaded | | |
2762+
| | | | |
2763+
+------------------+-------------------------+------------------------+-------+
2764+
| nearly-forbidden | Module will soon not be | Inherited from | nL |
2765+
| | able to load anymore | :mfcmd:`module-forbid` | |
2766+
| | | | |
2767+
+------------------+-------------------------+------------------------+-------+
2768+
| sticky | See `Sticky modules`_ | :mfcmd:`module-tag` | S |
2769+
| | | | |
2770+
| | | | |
2771+
+------------------+-------------------------+------------------------+-------+
2772+
| super-sticky | See `Sticky modules`_ | :mfcmd:`module-tag` | sS |
2773+
| | | | |
2774+
| | | | |
2775+
+------------------+-------------------------+------------------------+-------+
27272776

27282777
Hiding loaded modules
27292778
^^^^^^^^^^^^^^^^^^^^^

NEWS.rst

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,24 @@ Release notes
66
This file describes changes in recent versions of Modules. It primarily
77
documents those changes that are of interest to users and admins.
88

9-
.. _5.6 release notes:
9+
.. _5.7 release notes:
1010

11-
Modules 5.6.1 (not yet released)
11+
Modules 5.7.0 (not yet released)
1212
--------------------------------
1313

14+
* Script: improve :command:`mrel` to always ask a Fedora Kerberos ticket.
15+
* Use CMake ``EVAL CODE`` to forward arguments passed to ``module`` CMake
16+
function. (fix issue #419 with contribution from Benoit Dumas)
17+
* Doc: update email address in `Code of conduct`_ to report bad behavior to
18+
maintainers.
19+
* Move *modules-interest* mailing-list to HPSF.
20+
21+
22+
.. _5.6 release notes:
23+
24+
Modules 5.6.1 (2025-11-25)
25+
--------------------------
26+
1427
* Script: improve :command:`mrel` to better support Koji states and not rely
1528
on sudo privileges to test a new release.
1629
* Script: adapt utilities to only use :command:`curl` rather also requiring
@@ -30,6 +43,18 @@ Modules 5.6.1 (not yet released)
3043
* Doc: precise that no automatic path resolution is performed on
3144
:mfcmd:`prepend-path`, :mfcmd:`append-path` or :mfcmd:`remove-path`
3245
modulefile commands. (fix issue #597)
46+
* Doc: add way to build latexpdf documentation.
47+
* Ensure that a module having the same name than a loaded module from
48+
another modulepath does not inherit its tags. (fix issue #599)
49+
* Drop tags stored in memory that applies to a module when unloading it. It
50+
ensures that tags applied to the module when reloaded from a different
51+
modulepath are not inherited.
52+
* Always apply *abort on error* behavior in case a Dependent Reload sticky
53+
(and :option:`--force` is not set) or super-sticky module fails to reload.
54+
(fix issue #601)
55+
* When loading a module, check already loaded modules and their aliases
56+
exactly matching specification before looking at available modules and their
57+
aliases. (fix issue #602)
3358

3459
.. _Furo: https://github.com/pradyunsg/furo
3560

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ Modules is an open source project. Questions, discussion, and contributions
137137
are welcome. You can get in contact with the Modules community via:
138138

139139
* the [modules-interest mailing list][6]
140-
(`modules-interest@lists.sourceforge.net`)
140+
(`modules-interest@lists.hpsf.io`)
141141
* the [Modules chat room][7] (`#modules:matrix.org`)
142142

143143
The project is also present on several social media platforms:
@@ -212,7 +212,7 @@ be what it is without their contributions:
212212
[3]: https://modules.readthedocs.io/en/stable/MIGRATING.html
213213
[4]: https://modules.readthedocs.io/en/stable/NEWS.html
214214
[5]: https://modules.readthedocs.io/en/stable/changes.html
215-
[6]: https://sourceforge.net/projects/modules/lists/modules-interest
215+
[6]: https://lists.hpsf.io/g/modules-interest
216216
[7]: https://matrix.to/#/#modules:matrix.org
217217
[8]: https://x.com/EnvModules
218218
[9]: https://mast.hpc.social/@EnvModules

doc/Makefile

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,14 @@ else
3333
ECHO_GEN2 = \#
3434
endif
3535

36-
ALL_RST := $(wildcard $(SOURCE_DIR)/*.rst $(SOURCE_DIR)/cookbook/*.rst\
37-
$(SOURCE_DIR)/design/*.rst)
36+
ALL_RST := $(filter-out $(SOURCE_DIR)/latex_index.rst, $(wildcard $(SOURCE_DIR)/*.rst\
37+
$(SOURCE_DIR)/cookbook/*.rst $(SOURCE_DIR)/design/*.rst))
3838
ALL_TXT := $(patsubst $(SOURCE_DIR)/%,$(BUILD_DIR)/%,$(patsubst %.rst,%.txt,$(ALL_RST)))
3939
ALL_HTML := $(patsubst $(SOURCE_DIR)/%,$(BUILD_DIR)/%,$(patsubst %.rst,%.html,$(ALL_RST)))
4040
ALL_MAN := $(BUILD_DIR)/module.1 $(BUILD_DIR)/ml.1 $(BUILD_DIR)/envml.1\
4141
$(BUILD_DIR)/modulefile.5
42+
ALL_TEX := $(BUILD_DIR)/latex/modules.tex
43+
ALL_PDF := $(BUILD_DIR)/latex/modules.pdf
4244

4345
all: man txt
4446

@@ -54,6 +56,8 @@ man: $(ALL_MAN)
5456
ifneq ($(builddoc),p)
5557
txt: $(ALL_TXT)
5658
html: $(ALL_HTML)
59+
latex: $(ALL_TEX)
60+
latexpdf: $(ALL_PDF)
5761
else
5862
# limit txt targets to documents that have been prebuilt
5963
txt: $(BUILD_DIR)/changes.txt $(BUILD_DIR)/MIGRATING.txt \
@@ -113,6 +117,14 @@ endif
113117
$(BUILD_DIR)/module.1: $(BUILD_DIR)/module.1.in
114118
$(translate-in-script)
115119

120+
$(BUILD_DIR)/latex/modules.tex: $(SOURCE_DIR)/version.py
121+
$(ECHO_GEN2) $(ECHO_DIR_PREFIX)$@
122+
$(SPHINXBUILD) $(SPHINXOPTS) -b latex "$(SOURCE_DIR)" "$(BUILD_DIR)/latex"
123+
124+
$(BUILD_DIR)/latex/modules.pdf: $(BUILD_DIR)/latex/modules.tex
125+
$(ECHO_GEN2) $(ECHO_DIR_PREFIX)$@
126+
$(MAKE) -C "$(BUILD_DIR)/latex" all-pdf
127+
116128
install: man txt
117129
$(INSTALL_DIR) '$(DESTDIR)$(mandir)/man1' '$(DESTDIR)$(mandir)/man5'
118130
ifeq ($(docinstall),y)
@@ -162,4 +174,4 @@ V = 1
162174
endif
163175
# let verbose by default the install/clean/test and other specific non-build targets
164176
$(V).SILENT: ../version.inc $(SOURCE_DIR)/version.py $(ALL_HTML) $(ALL_TXT) \
165-
$(BUILD_DIR)/module.1.in $(ALL_MAN)
177+
$(BUILD_DIR)/module.1.in $(ALL_MAN) $(ALL_TEX) $(ALL_PDF)

doc/source/conf.py

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@
4646

4747
# General information about the project.
4848
project = u'Modules'
49-
copyright = '1996-2025, Modules Contributors'
50-
author = ''
49+
author = 'Modules Contributors'
50+
copyright = f'1996-2025, {author}'
5151

5252
# The version info for the project you're documenting, acts as replacement for
5353
# |version| and |release|, also used in various other places throughout the
@@ -79,7 +79,7 @@ def get_version_release_from_git():
7979
else:
8080
return version, version + '+' + branch + '-' + tags
8181
else:
82-
return '5.6.0', ''
82+
return '5.6.1', ''
8383

8484
# The short X.Y version.
8585
# The full version, including alpha/beta/rc tags.
@@ -196,6 +196,7 @@ def get_version_release_from_git():
196196
# (source start file, target name, title,
197197
# author, documentclass [howto, manual, or own class]).
198198
latex_documents = [
199+
('latex_index', 'modules.tex', f'{project} documentation', author, 'manual'),
199200
]
200201

201202

@@ -357,9 +358,9 @@ def ghcommit_role(name, rawtext, text, lineno, inliner, options={}, content=[]):
357358
title = nodes.reference('', commit_id, refuri=commit_url)
358359
return [title], []
359360

360-
# define new directive/role that can be used as .. subcmd::/:subcmd:,
361-
# .. mfcmd::/:mfcmd:, .. mfvar::/:mfvar: and .. sitevar::/:sitevar:
362361
def setup(app):
362+
# define new directive/role that can be used as .. subcmd::/:subcmd:,
363+
# .. mfcmd::/:mfcmd:, .. mfvar::/:mfvar: and .. sitevar::/:sitevar:
363364
app.add_object_type('subcmd', 'subcmd',
364365
objname='module sub-command',
365366
indextemplate='pair: %s; module sub-command',
@@ -385,3 +386,9 @@ def setup(app):
385386
indextemplate='pair: %s; module configuration option')
386387
app.add_role('ghcommit', ghcommit_role)
387388

389+
# exclude latex index document on non-latex output builder
390+
def on_builder_inited(app):
391+
if app.builder.name != 'latex':
392+
app.config.exclude_patterns.append('latex_index.rst')
393+
394+
app.connect('builder-inited', on_builder_inited)

0 commit comments

Comments
 (0)