xcat-core
xcat-core copied to clipboard
xCAT 2.16.5 /etc/profile.d/xcat.csh bug.
Hello, I didn't see an existing ticket for this, so if I missed it, I appologize. After upgrading to xCAT 2.16.5 on our manager node, our TCSH shell users get the following error when logging into the xCAT manager:
Illegal variable name.
We traced the issue to /etc/profile.d/xcat.csh, which added the following between 2.16.4 and 2.16.5:
perl -e "print \"@INC\"" | egrep "(^|\W)/usr/local/share/perl5($| )" > /dev/null
if [ $? = 1 ]; then
setenv PERL5LIB /usr/local/share/perl5:${PERL5LIB}
fi
The if-then construct for the above is BASH syntax, not CSH/TCSH, which is causing the error. The /etc/profile.d/xcat.csh file isn't included in a specific RPM, according to rpm -qf, so I'm not sure which xCAT RPM is creating it.
Since /usr/local/share/perl5 is included by default on Perl under RHEL8 systems (which is what we're running)
[root@atmos-mgmt3 ~]# perl -e "print \"@INC\"" | egrep "(^|\W)/usr/local/share/perl5($| )"
/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5
[root@atmos-mgmt3 ~]#
I just removed it from /etc/profile.d/xcat.csh, but thought I should report it.