From c532b58f624f007ddcf4c1e23aef3ef67753bb7b Mon Sep 17 00:00:00 2001 From: Xavier Delaruelle Date: Tue, 22 Sep 2026 20:42:31 +0200 Subject: [PATCH 1/3] doc: fix Sphinx roles missing their leading colon Six cross-references are written as "mfcmd:`...`" or "ref:`...`" without the leading colon, so Sphinx renders them as literal text instead of links to the modulefile command or man page they name. Assisted-by: Claude:claude-fable-5-1 Signed-off-by: Xavier Delaruelle --- MIGRATING.rst | 4 ++-- NEWS.rst | 2 +- doc/source/design/lmod-tcl-modulefile-compat.rst | 2 +- doc/source/design/magic-cookie-check.rst | 2 +- doc/source/modulefile.rst | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/MIGRATING.rst b/MIGRATING.rst index a3274beb9..0f1fde662 100644 --- a/MIGRATING.rst +++ b/MIGRATING.rst @@ -502,7 +502,7 @@ option. Issue warning upon module evaluation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The mfcmd:`module-warn` modulefile Tcl command is introduced to define warning +The :mfcmd:`module-warn` modulefile Tcl command is introduced to define warning message to print when loading specified modulefiles. .. parsed-literal:: @@ -522,7 +522,7 @@ The warning message is printed when targeted modulefile is evaluated in of affected or unaffected users or groups. Warning may also be only effective before or after a particular date. -The ``warning`` tag is set on modules targeted by a mfcmd:`module-warn` +The ``warning`` tag is set on modules targeted by a :mfcmd:`module-warn` command. Simplified way to define module help message diff --git a/NEWS.rst b/NEWS.rst index 0bde63906..f3c5180ad 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -77,7 +77,7 @@ Modules 5.7.0 (2026-09-21) :mconfig:`source_cache` configuration option is enabled to support ``-encoding`` option. (fix issue #627) * Correctly parse the module specifications passed as argument on - :mfcmd:`depends-on`, mfcmd:`always-load` and :mfcmd:`prereq-all` modulefile + :mfcmd:`depends-on`, :mfcmd:`always-load` and :mfcmd:`prereq-all` modulefile commands. It especially fixes module specification containing the definition of variants. (fixes issue #626) * Report the full *via* path for modules on :subcmd:`avail` and diff --git a/doc/source/design/lmod-tcl-modulefile-compat.rst b/doc/source/design/lmod-tcl-modulefile-compat.rst index 25fe646b0..063e67bcd 100644 --- a/doc/source/design/lmod-tcl-modulefile-compat.rst +++ b/doc/source/design/lmod-tcl-modulefile-compat.rst @@ -51,7 +51,7 @@ Lmod Tcl modulefile compatibility context (not within modulerc) - An update is made on Modules version 5.6: argument *value* of - mfcmd:`add-property` is converted to :mfcmd:`module-tag` onto loading + :mfcmd:`add-property` is converted to :mfcmd:`module-tag` onto loading modulefile - Argument *name* is ignored as it seems *value* is the deterministic diff --git a/doc/source/design/magic-cookie-check.rst b/doc/source/design/magic-cookie-check.rst index 50699dddc..e865973e9 100644 --- a/doc/source/design/magic-cookie-check.rst +++ b/doc/source/design/magic-cookie-check.rst @@ -81,7 +81,7 @@ configuration option is not set to ``always`` as this procedure is called by all module search contexts. It is called by: * ``findModules`` to check files in directories within modulepaths -* ``getModules`` to check files pointed by mfcmd:`module-virtual` +* ``getModules`` to check files pointed by :mfcmd:`module-virtual` * ``getPathToModule`` to check files transmitted as full path file .. note:: File readability (permission check) is not verified when diff --git a/doc/source/modulefile.rst b/doc/source/modulefile.rst index 819092615..e5ba90233 100644 --- a/doc/source/modulefile.rst +++ b/doc/source/modulefile.rst @@ -2563,7 +2563,7 @@ See the :ref:`ENVIRONMENT` section in the SEE ALSO -------- -:ref:`envml(1)`, :ref:`ml(1)`, :ref:`module(1)`, ref:`modulecmd(1)`, +:ref:`envml(1)`, :ref:`ml(1)`, :ref:`module(1)`, :ref:`modulecmd(1)`, :manpage:`Tcl(n)`, :manpage:`TclX(n)`, :manpage:`id(1)`, :manpage:`xrdb(1)`, :manpage:`exec(n)`, :manpage:`uname(1)`, :manpage:`domainname(1)`, :manpage:`tclvars(n)`, :manpage:`lsort(n)`, :manpage:`string(n)` From d75f665ed9a0692f61c86fceb7b11e39d40bbbee Mon Sep 17 00:00:00 2001 From: Xavier Delaruelle Date: Tue, 22 Sep 2026 20:57:03 +0200 Subject: [PATCH 2/3] doc: refresh release creation steps for 5.7.0 Point to the 5.7.0 release commit as the example to follow, as it reflects the current set of files touched by a release. Add the step to update the version substitutions in other-implementations.rst, which this commit had to change but the guide did not mention. Clarify that MIGRATING.rst only gets its "not yet released" mention dropped, as no release date is written there. Strip the :mhook: role, introduced by the hook feature, when building the GitHub release description from NEWS.rst. Assisted-by: Claude:claude-fable-5-1 Signed-off-by: Xavier Delaruelle --- .hunspell.en.dic | 2 +- doc/source/devel/create-new-release.rst | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.hunspell.en.dic b/.hunspell.en.dic index 2dfbed543..a2bcb1154 100644 --- a/.hunspell.en.dic +++ b/.hunspell.en.dic @@ -1263,7 +1263,7 @@ bsky Furlan SVG conf -3b68dee7 +9b1d0134 Koji bz2 lh diff --git a/doc/source/devel/create-new-release.rst b/doc/source/devel/create-new-release.rst index 395bf0300..46abddb9e 100644 --- a/doc/source/devel/create-new-release.rst +++ b/doc/source/devel/create-new-release.rst @@ -30,7 +30,8 @@ Finalize release content: * Update version number in :file:`version.inc.in` and :file:`doc/source/conf.py` -* Set release date in :file:`NEWS.rst` and :file:`MIGRATING.rst` +* Set release date in :file:`NEWS.rst` and remove the *not yet released* + mention in :file:`MIGRATING.rst` * Update version number and draft changelog message in :file:`share/rpm/environment-modules.spec.in` @@ -43,8 +44,12 @@ Finalize release content: * If Modules Tcl extension library has been changed since last release, update the version number of this library in :file:`lib/configure.ac`. * Update table of supported versions in :file:`SECURITY.md`. +* Update the ``|modules_version|`` substitution in + :file:`doc/source/other-implementations.rst` to remove the *not yet + released* mention, and refresh ``|lmod_version|`` to the latest Lmod + release the comparison was checked against. -Look at previous release commit, like :ghcommit:`3b68dee7`, to view the lines +Look at previous release commit, like :ghcommit:`9b1d0134`, to view the lines that should be modified and what content to write. Perform commit: @@ -148,7 +153,7 @@ Create release on GitHub at https://github.com/envmodules/modules/releases/new: grep -B1000 ".. _$previous_version release notes:" NEWS.rst | grep -A1000 -- "--------------------------" >NEWS.new nb_lines=$(wc -l NEWS.new| cut -d ' ' -f 1) sed -i -e "1,2d;$((nb_lines-3)),\$d" NEWS.new - sed -i -z -e "s/\n / /g" -e "s/\n / /g" -e 's/:option://g' -e 's/:mfcmd://g' -e 's/:subcmd://g' -e 's/:file://g' -e 's/:ref://g' -e 's/:mfcmd://g' -e 's/:mconfig://g' -e 's/:instopt://g' -e 's/:mfvar://g' -e 's/:envvar://g' -e 's/:command://g' -e 's/:sitevar://g' -e 's/``/`/g' NEWS.new + sed -i -z -e "s/\n / /g" -e "s/\n / /g" -e 's/:option://g' -e 's/:mfcmd://g' -e 's/:subcmd://g' -e 's/:file://g' -e 's/:ref://g' -e 's/:mfcmd://g' -e 's/:mconfig://g' -e 's/:instopt://g' -e 's/:mfvar://g' -e 's/:envvar://g' -e 's/:command://g' -e 's/:sitevar://g' -e 's/:mhook://g' -e 's/``/`/g' NEWS.new Check resulting :file:`NEWS.new` to adapt RST code for boxes, links, codes (especially cleaning those containing ``\<`` or ``\>``) and make them valid From 2e965d41d136743d72b82aa3e8494be0aef4942f Mon Sep 17 00:00:00 2001 From: Xavier Delaruelle Date: Tue, 22 Sep 2026 21:06:23 +0200 Subject: [PATCH 3/3] script: sign off release commits made by mpub Every commit in the repository must carry a Signed-off-by trailer, but the "release of version" commit that mpub creates on the gh-pages branch was made without it. Pass -s to git commit there, and in the release guide's commit step for the main branch, so both release commits comply with the DCO. Assisted-by: Claude:claude-fable-5-1 Signed-off-by: Xavier Delaruelle --- doc/source/devel/create-new-release.rst | 2 +- script/mpub | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/devel/create-new-release.rst b/doc/source/devel/create-new-release.rst index 46abddb9e..dcded8719 100644 --- a/doc/source/devel/create-new-release.rst +++ b/doc/source/devel/create-new-release.rst @@ -57,7 +57,7 @@ Perform commit: .. code-block:: console version=$(grep ^MODULES_RELEASE version.inc.in | cut -d ' ' -f 3) - git commit -a -m "Release of version $version" + git commit -s -a -m "Release of version $version" Tag version: diff --git a/script/mpub b/script/mpub index 70f95928b..504e3351e 100755 --- a/script/mpub +++ b/script/mpub @@ -207,7 +207,7 @@ set fid [open index.html w] puts -nonewline $fid [string map [list modules-$prevver modules-$relver\ "Download ($prevtag)" "Download ($reltag)"] $index] close $fid -runcmd 2>@$logfid git commit -m "release of version $relver" index.html +runcmd 2>@$logfid git commit -s -m "release of version $relver" index.html # upload new page runcmd 2>@$logfid git push $ghremote gh-pages