This relates to bug ids #228 and #303. I just upgraded from 5.1 to 5.2 and before the upgrade /bin/zsh definitely was in /etc/shells and now it isn't anymore! I did a quick check of the post-install scripts with for p in $(rpm -qa) ; do echo "%%%%% $p %%%%%" rpm -q --scripts $p | grep /etc/shells done | more and didn't find anything obviously wrong. But the timestamps on /etc/shells and /tmp/upgrade.log show that the change must have happened after upgrade.log was completed: 64 Wed Dec 09 18:47:14 1998 /etc/shells 5340 Wed Dec 09 18:47:08 1998 /root/upgrade-5-2.log The last package updated was zsh, which does check for the existance of /bin/zsh in its post-install script. So I'd say the installation script itself mangles /etc/shells after installing all upgrades.
Very easy to reproduce, unfortunately.
*** Bug 365 has been marked as a duplicate of this bug. *** upgraded from 5.0 to 5.2, and when I was done, I couldn't ftp to the box, though I'd been able to before. Turns out my additions to /etc/shells (for my own login shell) had disappeared, and /etc/shells had been returned to a pristine, out of the box state. Had the process left behind a .rpmsave file, that'd be at least consistent with the rest of the changes that had happened -- as it is, though, rpm -qf /etc/shells disavows any knowledge of the file. Oops. Some upgrade script isn't checking to make sure things haven't changed... ------- Additional Comments From jturner 12/08/98 15:51 ------- I installed RH5.0, added a last line to /etc/shells of /bin/zsh. I upgraded from 5.0 to 5.2, and observed the /etc/shells was identical to the one I had made in RH5.0. Sorry, couldn't duplicate the problem.
*** Bug 365 has been marked as a duplicate of this bug. *** When upgrading to 5.2. The /etc/shells file is changed and set to a value which does not contain (at least) /bin/zsh. -- Erick PS: This is probably not a zsh problem, but /etc/shells doesn't seem to belong to any package. ------- Additional Comments From dkl 12/04/98 12:56 ------- I did an upgrade from 5.1 to 5.2 and this file was not changed. Also it does not contain an entry for /bin/zsh in either 5.1 or 5.2 installations.
This is a problem in the package, not the install.
changed preinstall script in zsh RPM to be more simple: if [ ! -f /etc/shells ]; then echo "/bin/zsh" > /etc/shells else echo "/bin/zsh" >> /etc/shells fi testing the RPM it does removes and place /bin/sh in the /etc/shells file.