diff --git a/SOURCES/which2.sh b/SOURCES/which2.sh index 6ef7979..bca5347 100644 --- a/SOURCES/which2.sh +++ b/SOURCES/which2.sh @@ -1,18 +1,27 @@ # shellcheck shell=sh # Initialization script for bash, sh, mksh and ksh -which_declare="declare -f" -which_opt="-f" -which_shell="$(cat /proc/$$/comm)" +case "$(basename $(readlink /proc/$$/exe))" in +*ksh*) + which_declare="" + which_opt="" + ;; +zsh) + which_declare="typeset -f" + which_opt="" + ;; +bash|sh) + which_declare="declare -f" + which_opt="-f" + ;; +*) + which_declare="" + which_opt="" + ;; +esac -if [ "$which_shell" = "ksh" ] || [ "$which_shell" = "mksh" ] || [ "$which_shell" = "zsh" ] ; then - which_declare="typeset -f" - which_opt="" -fi - -which () -{ -(alias; eval ${which_declare}) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot "$@" +function which { + (alias; eval ${which_declare}) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot $@ } export which_declare diff --git a/SPECS/which.spec b/SPECS/which.spec index 99eb936..89370c2 100644 --- a/SPECS/which.spec +++ b/SPECS/which.spec @@ -1,7 +1,7 @@ Summary: Displays where a particular program in your path is located Name: which Version: 2.21 -Release: 27%{?dist} +Release: 28%{?dist} License: GPLv3 Source0: http://ftp.gnu.org/gnu/which/%{name}-%{version}.tar.gz Source1: which2.sh @@ -40,6 +40,9 @@ rm -f $RPM_BUILD_ROOT%{_infodir}/dir %{_mandir}/man1/which.1* %changelog +* Fri Apr 15 2022 Than Ngo - 2.21-28 +- Resolves: #2050996, error on login when using ksh as the default shell + * Tue Aug 10 2021 Mohan Boddu - 2.21-27 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688