Description of problem: All Spacewalk executable perl scripts (i.e. those located under bin/ sbin/ directoris) built by ExtUtils::MakeMaker have these two lines added to the beginning of the file during package build: eval 'exec /usr/bin/perl -w -S $0 ${1+"$@"}' if 0; # not running under some shell These two lines are being added by ExtUtils::MakeMaker and take care of situations when the operating system is not able to deal with the information following the #! declaration at the beginning and tries to run the script under arbitrary shell (i.e. not perl as it should). Though these two lines are quite harmless (Linux is able to deal with #! without any problems), having these two lines in the running code might be a problem when the perl stack reports an error at some particular line, but the line number information will be skewed (i.e. the line numbers in spacewalk source code would not match). Version-Release number of selected component (if applicable): Spacewalk 0.6 How reproducible: Always Steps to Reproduce: 1. Look at the begining of the perl executables in your Spacewalk installation Actual results: Some of the start with: #!/usr/bin/perl eval 'exec /usr/bin/perl -w -S $0 ${1+"$@"}' if 0; # not running under some shell Expected results: Should be just: #!/usr/bin/perl Additional info: Adelton suggests adding these lines to every affected Makefile.PL: package MY; sub tools_other { my $self = shift; my $ret = $self->SUPER::tools_other(@_); $ret =~ s/^(FIXIN\b.+)$/## $1\nFIXIN = \$(PERLRUN) -e 1/m; return $ret; }
Packages affected: spacewalk-web (dobby module) perl-Satcon spacewalk-setup
spacewalk.git master: a9ee83d25fb5135caada005c68b66787308b4692
Spacewalk 0.7 released.