severity 1144635 important thx * Vincent Lefevre [Mon Aug 17, 2026 at 03:09:57PM +0200]:
> On a machine that has just been upgraded to trixie, I start zsh > via a bash login shell (run by sshd). The issue is that when it > is a login shell, bash defines the $FPATH environement variable > to '/usr/share/lmod/lmod/init/ksh_funcs' as shown by > > echo "FPATH = '$FPATH'" >&2 > > at the beginning of the ~/.bash_profile file, which outputs: > > FPATH = '/usr/share/lmod/lmod/init/ksh_funcs' > > This is possibly due to /usr/share/lmod/8.7.60/init/bash from the > lmod package, as mentioned at > > https://github.com/direnv/direnv/issues/858 > > (note that I'm not a direnv user... this was found by Google + AI). Github is currently down (https://www.githubstatus.com/incidents/zkxwbgr0cnmx), so I can't check that reference. But is it actually necessary and a good idea, that lmod *exports* variables like that? It looks like lmod pollutes the environment quiet a lot, like e.g. also: LMOD_SETTARG_FULL_SUPPORT=no LMOD_VERSION=8.7.60 MODULEPATH_ROOT=/usr/share/modulefiles LMOD_PKG=/usr/share/lmod/lmod LMOD_ROOT=/usr/share/lmod BASH_ENV=/usr/share/lmod/lmod/init/bash LMOD_sys=Linux MODULEPATH=/etc/lmod/modules:/usr/share/lmod/lmod/modulefiles/ LMOD_CMD=/usr/share/lmod/lmod/libexec/lmod BASH_FUNC_ml%%=() { eval "$($LMOD_DIR/ml_cmd "$@")" } BASH_FUNC_module%%=() { if [ -z "${LMOD_SH_DBG_ON+x}" ]; then case "$-" in *v*x*) __lmod_sh_dbg='vx' ;; *v*) __lmod_sh_dbg='v' ;; *x*) __lmod_sh_dbg='x' ;; esac; fi; if [ -n "${__lmod_sh_dbg:-}" ]; then set +$__lmod_sh_dbg; echo "Shell debugging temporarily silenced: export LMOD_SH_DBG_ON=1 for Lmod's output" 1>&2; fi; eval "$($LMOD_CMD shell "$@")" && eval "$(${LMOD_SETTARG_CMD:-:} -s sh)"; __lmod_my_status=$?; if [ -n "${__lmod_sh_dbg:-}" ]; then echo "Shell debugging restarted" 1>&2; set -$__lmod_sh_dbg; fi; unset __lmod_sh_dbg; return $__lmod_my_status } > Such a setting completely breaks zsh, which outputs > > zsh:1: url-quote-magic: function definition file not found > > each time I type a key (the key has no other effect, i.e. the > command line at the prompt remains empty, so I need to type Ctrl-D > to quit zsh). > > It appears that instead of ignoring the $FPATH environment variable > on startup, zsh sets $fpath to $FPATH. Right. > Note that the zshparam(1) man page says: "Some environment variables > are not imported for reasons of security or because they would > interfere with the correct operation of other shell features.", > which should be the case here. Do you mind brining this up to upstream yourself? regards -mika-
signature.asc
Description: PGP signature

