# Agenda for Lmod Zoom Mtg Nov. 08, 2022 - Q/A - Discussion on **module category** - see https://github.com/TACC/Lmod/pull/600 - to what extend can output be controlled from a hook? - Lmod has two types of tables: - beautiful tables - these "go horizontally" - column tables (as produced by "ml cat" or "ml" or "ml av") - Alan is looking into support for subcategories in hook - mostly working, but can't (always?) control order of how subcategories appear in output - Renaming **master** branch to **main** - The sourceforge Git repo has been removed - Now only contains a README file that points to GitHub repo - Due to problems with mirroring between SourceForge + GitHub - Tarball distribution will continue - File and Internal changes (to get rid of "master" term in the codebase) - Also helps with tab completion in editor (Master vs MasterControl) - Changing MasterControl.lua -> MainControl.lua - Changing Master.lua -> Hub.lua - Internal Change **masterTbl()** -> **optionTbl()** - Note: `masterTbl = optionTbl` so that the files `SitePackage.lua` and `/etc/lmod/lmod_config.lua` can continue to use `masterTbl()` to access commandline options. This means that Sites do not have to change to `optionTbl()`. - Can't produce a (deprecation) warning when `masterTbl` is still used since that would be visible to end users of Lmod - Should users be allowed to unload dependent modules? - see thread on Lmod-users mailing list: https://sourceforge.net/p/lmod/mailman/message/37730407 - triggered by integrating Lmod into JupyterHub - users can load modules through clicking - unloading of modules can easily be done accidentally in this context - fixing that mistake again is tricky... - with depends_on, Lmod actually knows when a required module gets unloaded (since it prints a warning) - but there's currently no option to make this an error - could be supported through a new "requires" statement, which could be stricter than "depends_on" - "requires(Python)" would not allow unloading Python unless Jupyter is unloaded - another option could be to have to add a configure option to Lmod to make "depends_on" more strict - something like LMOD_DEPENDS_ON_UNLOAD=warning vs LMOD_DEPENDS_ON_UNLOAD=error (or 'strict'?) - things get complex with depends_on in a hierarchy - with depends_on: if gnuplot is loaded directly by the user, it's not considered a dependency by Lmod - so unloading Octave (which depends on gnuplot) would not trigger an unload of gnuplot - Lmod could perhaps also support automatically unloading of modules that depend on what's being unloaded - for example unload TensorFlow if Python gets unloaded - Presentation "How Lmod processes TCL modulefiles" - slides at https://github.com/TACC/Lmod/blob/main/my_docs/22/lmod_zoom_mtg_2022_11_08/presentation.pdf ## Attendees - Robert McLay (TACC) - Kenneth Hoste (HPC-UGent, Belgium) - Alex Domingo (Vrije Universiteit Brussel, Belgium) - Danilo González (HPCNow!) - Dan Green (NC State Univ.) - Alan O'Cais (CECAM/University of Barcelona) - Raj Ayyampalayam (University of Georgia) - Google Pixel 6a (?) - mk (?) - Matthew Cawood (TACC) ## Next meeting - Tue 6 Dec 2022 at 09:30 US Central / 15:30 UTC