Description of problem: In a Fedora Rawhide mock shell: <mock-chroot> sh-5.0# cat /etc/fedora-release Fedora release 34 (Rawhide) <mock-chroot> sh-5.0# rpm -q bash bash-5.0.17-2.fc33.x86_64 <mock-chroot> sh-5.0# [ -r /bin/sh ] && echo OK || echo not OK not OK <mock-chroot> sh-5.0# /bin/[ -r /bin/sh ] && echo OK || echo not OK OK However, in a Fedora 33 mock shell: <mock-chroot> sh-5.0# cat /etc/fedora-release Fedora release 33 (Thirty Three) <mock-chroot> sh-5.0# rpm -q bash bash-5.0.17-2.fc33.x86_64 <mock-chroot> sh-5.0# [ -r /bin/sh ] && echo OK || echo not OK OK <mock-chroot> sh-5.0# /bin/[ -r /bin/sh ] && echo OK || echo not OK OK Version-Release number of selected component (if applicable): bash-5.0.17-2.fc33.x86_64 (It works in Fedora 33, but is broken in Fedora rawhide) How reproducible: Many attempts were made... Steps to Reproduce: 1. mock --root fedora-rawhide-x86_64 --scrub=all 2. mock --root fedora-rawhide-x86_64 --init 3. mock --root fedora-rawhide-x86_64 --shell 4. [ -r /bin/sh ] && echo OK || echo not OK Actual results: not OK Expected results: OK Additional info: The command /bin/[ gives the correct result, the built-in [ does not. Using [ -e /bin/sh ] && echo OK || echo not OK instead gives the expected result.
This looks like bug #1869030 to me.
*** This bug has been marked as a duplicate of bug 1869030 ***