FYI: "which" program is broken by default on centos-8


Joel A Cohen
 

Centos 8 'which' installs an alias by default: alias which='(alias; typeset -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot'

This comes from the which rpm, in /etc/profile.d/which.sh

This breaks in OE, I'm guessing because the shell used doesn't support whatever is going on there. You get a mystifying message about unexpected parentheses.

To fix for the moment, I just got rid of the alias, but is it worth adding a check or something?

Thanks,
Aaron



Armin Kuster
 



On 4/21/20 5:42 PM, Joel A Cohen wrote:
Centos 8 'which' installs an alias by default: alias which='(alias; typeset -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot'

This comes from the which rpm, in /etc/profile.d/which.sh

This breaks in OE, I'm guessing because the shell used doesn't support whatever is going on there. You get a mystifying message about unexpected parentheses.

Can you provide some way to reproduce this as Centos8 is one of the OS's used to build on for Dunfell and Master. Maybe we are missing a corner case. Would you mind opening a defect in the Yocto Bugzilla with all the information?
https://bugzilla.yoctoproject.org/

- Armin

To fix for the moment, I just got rid of the alias, but is it worth adding a check or something?

Thanks,
Aaron