The package perl 5.32.0-3 installed during this update introduces a typo in the file /etc/profile.d/perlbin.sh, namely that it calls upon a shell function named append_path. However, the proper name for the shell function ─ which is itself defined in /etc/profile ─ should beappendpath, without an underscore.
The typo introduces spurious error messages when a new login session is opened, in the form of…
-bash: append_path: command not found
-bash: append_path: command not found
-bash: append_path: command not found
For the user, the problem is easily remedied by editing /etc/profile.d/perlbin.sh and removing the underscore in the function name. However, it’s an ugliness that may have consequences for when the function should indeed be called upon, and then fails because it is called by the wrong name.
Thanks @Aragorn, only one question, when changing /etc/profile.d/perlbin.sh - could it be that in the next update(s) the function name would be changed from appendpath to append_path and we need to restore the old syntax?
Well, in theory, that would be possible, but in my opinion it’s very unlikely.
perlbin.sh is the “guest component” here, making use of a shell function declared in /etc/profile. So it is, in my opinion, very unlikely that /etc/profile would be changed to accommodate a bug introduced by a Perl package. It is most likely just a typo on the part of whoever put the Perl package together.
@Aragorn
That did not work for me. After changing ‘/etc/profile.d/perlbin.sh’ in the way you suggest i get the error:
/etc/profile.d/perlbin.sh:6: command not found: appendpath
/etc/profile.d/perlbin.sh:8: command not found: appendpath
/etc/profile.d/perlbin.sh:10: command not found: appendpath
And i do not find any *.pacnew file on my machine …
@philm already corrected me on that ─ see his post above. The proper name of the function was altered from appendpath to append_path.
My mistake was to think that this was a typo in /etc/profile.d/perlbin.sh. You therefore need to make sure that /etc/profile also contains append_path as the name of the function it declares.
Hi, I had the same messages on my terminal and I solved fixing profile.pacnew file in my laptop.
In my desktop pc I had also these additional lines
/etc/profile.d/perlbin.sh:5: command not found: append_path
/etc/profile.d/perlbin.sh:6: command not found: append_path
/etc/profile.d/perlbin.sh:7: command not found: append_path
/etc/profile.d/perlbin.sh:8: command not found: append_path
/etc/profile.d/perlbin.sh:9: command not found: append_path
/etc/profile.d/perlbin.sh:10: command not found: append_path
but the previous fix only partially solved the half of the messages. Still remains these:
/etc/profile.d/perlbin.sh:5: command not found: append_path
/etc/profile.d/perlbin.sh:7: command not found: append_path
/etc/profile.d/perlbin.sh:9: command not found: append_path