Commit Graph

5272 Commits

Author SHA1 Message Date
Xavier Delaruelle
37a968de43 doc: desc. unique_name_loaded in MIGRATING 2023-07-18 07:44:23 +02:00
Xavier Delaruelle
f7da5a174c ts: add missing skip if quick mode cmd in recent test scripts 2023-07-17 06:54:17 +02:00
Xavier Delaruelle
f4447df735 Recursively unset symbols during EMS filtering
Update symbol unset during Extra Match Search filtering process. When
unsetting a "default" symbol also add to unset list the symbols targeting
module parent name. Useful when dealing with deep modules (e.g.,
foo/sub/1.0)
2023-07-16 16:02:24 +02:00
Xavier Delaruelle
d8c54b7b94 ts: test unique_name_loaded effect in 50/580 2023-07-16 16:02:24 +02:00
Xavier Delaruelle
87287855f8 doc: desc. unique_name_loaded & co in NEWS 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
0747e69584 doc: desc. unique_name_loaded in man/changes 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
a6b1e60fef doc: desc. MODULES_UNIQUE_NAME_LOADED in man/changes 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
06ae6c97e1 doc: desc --enable-unique-name-loaded in INSTALL 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
8ae89f1402 ts: test unique_name_loaded config option 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
fce86de163 install: add --enable-unique-name-loaded configure option
Introduce the --enable-unique-name-loaded configure option to choose at
installation time to enable the unique_name_loaded configuration option
which allows only one module loaded per module name.

Configure option is disabled by default.
2023-07-16 09:03:13 +02:00
Xavier Delaruelle
82ad9e995d init: add unload_match_order to completion script 2023-07-16 09:03:13 +02:00
Xavier Delaruelle
4c62917aed Add unique_name_loaded configuration option
Add unique_name_loaded configuration option to raise a conflict error
when enabled if loading module has a name (actual or alternative names)
shared by an already loaded module.

Configuration option is disabled by default.

Declare unique-name-conflict modulefile command to raise such conflict.
Include configuration enablement test in unique-name-conflict procedure
not to expose internal helper procedures like getConf in the modulefile
execution context.

Record conflict in loaded environment as any other conflict to be able
to correctly detect if currently loaded environment is sane (with
conflict rules satisfied)
2023-07-16 09:03:13 +02:00
Xavier Delaruelle
23bae5e0cd doc: desc. several files in MODULERCFILE in NEWS 2023-07-11 07:29:19 +02:00
Xavier Delaruelle
6a18598702 doc: desc. multi elts in MODULERCFILE in INSTALL/man/changes 2023-07-11 07:29:19 +02:00
Xavier Delaruelle
93806b813d ts: test multiple entries in MODULERCFILE 2023-07-11 07:29:19 +02:00
Xavier Delaruelle
6a7b417d08 Allow MODULERCFILE to contain a list of rc file
MODULERCFILE may define a list of rc file separated by colon character.
Load them in the definition order.

Allow shorthand config definition with module config rcfile {+,-}file.
2023-07-10 20:53:46 +02:00
Xavier Delaruelle
0c2a8530f2 doc: desc. Specific modulepath labels in MIGRATING 2023-07-09 21:14:30 +02:00
Xavier Delaruelle
671eb508c8 doc: desc. modulepath-label in NEWS/man/changes 2023-07-09 21:14:30 +02:00
Xavier Delaruelle
309667cab1 ts: test modulepath-label command in 50/570 2023-07-09 21:14:30 +02:00
Xavier Delaruelle
2d123840cc Introduce modulepath-label modulefile command
Add modulepath-label modulefile command to define specific label for
designated modulepath. This command can be used in rc files. If a
specific label is set for a modulepath, this string is used instead of
modulepath fully qualified path designation as report list header.

Allow command from modulefile execution context to enable use from
global rc files.
2023-07-09 21:12:36 +02:00
Xavier Delaruelle
d614b9dfad ts: tests indesym xor alias report on list search 2023-07-09 20:44:41 +02:00
Xavier Delaruelle
504596ec61 doc: desc. sticky_purge in design docs 2023-07-08 15:12:36 +02:00
Xavier Delaruelle
2c90637845 ts: test sticky_purge mechanism in 50/464 2023-07-08 15:12:36 +02:00
Xavier Delaruelle
fcd0ede894 doc: desc sticky_purge/--with-sticky-purge in NEWS 2023-07-08 15:12:36 +02:00
Xavier Delaruelle
7e97a8196d doc: desc. sticky_purge config in man/changes 2023-07-08 15:12:36 +02:00
Xavier Delaruelle
9248e6fee4 doc: desc. MODULES_STICKY_PURGE in man/changes 2023-07-08 15:12:36 +02:00
Xavier Delaruelle
4d99b8440d doc: desc. --with-sticky-purge in INSTALL 2023-07-08 15:12:36 +02:00
Xavier Delaruelle
74f9a9303d ts: test sticky_purge config option 2023-07-08 15:12:36 +02:00
Xavier Delaruelle
95fe2a308f install: add --with-sticky-purge configure option
Introduce the --with-sticky-purge configure option to choose at
installation time the default error behavior when unloading a sticky
module during a purge command. Allowed values are error (default),
warning and silent.
2023-07-08 15:12:36 +02:00
Xavier Delaruelle
a39a1c1cef init: add sticky_purge to completion script 2023-07-08 15:12:36 +02:00
Xavier Delaruelle
eca62efd5e Add sticky_purge configuration option
Add sticky_purge configuration option that controls if an error, a
warning or nothing should be produced when trying to unload a sticky (or
super-sticky) module during a purge sub-command.

Set to "error" by default. When configuration is modified it sets the
MODULES_STICKY_PURGE environment variable.

Fixes #502
2023-07-08 15:12:30 +02:00
Xavier Delaruelle
7bc4336578 Refactor code to skip unload eval if sticky
Create skipUnloadIfSticky procedure to externalize to that skip unload
attempt of a sticky (or super-sticky) module.
2023-07-06 06:46:27 +02:00
Xavier Delaruelle
d91459cdd1 ts: test alias/indesym output on list subcmd 2023-07-02 19:35:03 +02:00
Xavier Delaruelle
77ad34a4b3 Filter alias/sym on list output when reported
When module aliases or symbolic versions are reported independently from
the loaded module they are attached to, apply pattern search also to
these alternative names.

Update modEq procedures to be able to match pattern to module name and
only its symbols or only its aliases. As pattern match is made over the
independent symbol or alias designation when reported.
2023-07-02 19:35:03 +02:00
Xavier Delaruelle
0f9d91ca1b doc: desc. alias/indesym output on list in NEWS 2023-07-02 19:34:52 +02:00
Xavier Delaruelle
a5efdef889 install/doc: desc. indesym addition to list_{,terse_}output 2023-06-30 21:09:26 +02:00
Xavier Delaruelle
dc02848e9c install/doc: desc. alias addition to list_{,terse_}output 2023-06-30 21:09:26 +02:00
Xavier Delaruelle
1cc7ff255e ts: adapt existing test for alias/indesym addition to list_*output 2023-06-30 21:09:26 +02:00
Xavier Delaruelle
81546c233a Add alias value to list_{,terse_}output config
Report module aliases of loaded modules on list sub-command when "alias"
value is part of list_output/list_terse_output configuration option.
2023-06-30 21:09:25 +02:00
Xavier Delaruelle
e48a1a0c33 Add indesym value to list_{,terse_}output config
Report symbolic versions as independent element on list sub-command
when "indesym" value is part of list_output/list_terse_output
configuration option.

When "indesym" value is set, "sym" elements are disabled.
2023-06-30 21:03:45 +02:00
Xavier Delaruelle
8a34071476 cirrus: add arm64 test case running on AlmaLinux 9
Fixes #420
2023-06-28 20:53:25 +02:00
Xavier Delaruelle
0cafe49382 Highlight several variant values when set on single criterion
When one variant criterion contains with multiple values in the search
query, correctly highlight each of these variant values on matching
modules.
2023-06-28 07:25:04 +02:00
Xavier Delaruelle
e400ee2563 ts: test variant OR query 2023-06-28 07:25:04 +02:00
Xavier Delaruelle
3d336de68f doc: desc. variant OR query in design/changes/man/NEWS 2023-06-28 07:25:04 +02:00
Xavier Delaruelle
16cb8e6e8d Allow multiple values per variant specification
On search context, be able to set multiple values for one variant
criterion by separating them with comma character (,).

Such value list acts as an OR operation, which means if one value from
the list matches the criterion is considered matched.
2023-06-28 07:25:04 +02:00
Xavier Delaruelle
df0d166771 Switch vrlist content order in g_moduleVersSpec structure
Update g_moduleVersSpec data structure to reorder vrlist elements,
switching vrisbool boolean with vrvalue. When storing more than one
variant values, all values will be the remaining elements in vrlist
(indexes 2 to end).
2023-06-28 07:25:04 +02:00
Xavier Delaruelle
ea1f3de0e5 ts: test tag abbrev as extra specifier name in 51/044 2023-06-28 07:25:04 +02:00
Xavier Delaruelle
bef81e5ad7 Allow tag abbrev as extra specifier name 2023-06-28 07:25:04 +02:00
Xavier Delaruelle
599e8b794a ts: test extra specifier OR query in 51/04{0,3} 2023-06-28 07:25:03 +02:00
Xavier Delaruelle
f08f76db7e ts: test tag extra specifier in 51/044 2023-06-28 07:25:03 +02:00