Description of problem: Many packages put shell initialization scripts into /etc/profile.d/*.{sh,csh}. Under Red Hat 8.0, zsh picked up the "*.sh" scripts, just like bash. However, under Red Hat 9, it no longer does this. Version-Release number of selected component (if applicable): zsh-4.0.6-5 How reproducible: Easily reproduced every time. Steps to Reproduce: 1. Install a package which uses profile.d scripts. "less" is a good example. 2. Log in as a user whose shell is bash. echo $LESSOPEN 3. Log in as a user whose shell is zsh. echo $LESSOPEN Actual results: $LESSOPEN is set under bash, but not set under zsh. More generally, no /etc/profile.d/*.sh shell initialization scripts were run under zsh. Expected results: $LESSOPEN should have been set under zsh as well. More generally, all /etc/profile.d/*.sh shell initialization scripts should have been run. Additional info: Under Red Hat 8.0, /etc/zshenv contained the following: # Sourcing here to get it done on all invocations of zsh, # like bash. source /etc/profile Those lines are no longer present in the Red Hat 9 release. Perhaps they were removed accidentally, and simply need to be added back in.
Perhaps this should have gone into the release notes... The lines were moved into /etc/skel/.zshrc because of bug 65509 - not ideal for old users of course, but it seemed to be the only compromise solution.
*** Bug 92132 has been marked as a duplicate of this bug. ***
*** Bug 102187 has been marked as a duplicate of this bug. ***