perl5 icon indicating copy to clipboard operation
perl5 copied to clipboard

Check Perl integrity with -e

Open hongjinghao opened this issue 1 year ago • 3 comments

Validating Perl integrity should only be related to file existence. It should not fail due to other errors in ls.Therefore, use -e as a replacement for ls. fix:https://github.com/Perl/perl5/issues/22398

hongjinghao avatar Jul 13 '24 03:07 hongjinghao

@Tux, @doughera88, can you take a look at this ticket (and the one cited herein)? Thanks.

jkeenan avatar Jul 13 '24 11:07 jkeenan

On Sat, Jul 13, 2024 at 04:56:31AM -0700, James E Keenan wrote:

@Tux, @doughera88, can you take a look at this ticket (and the one cited herein)? Thanks.

-- Reply to this email directly or view it on GitHub: https://github.com/Perl/perl5/pull/22400#issuecomment-2226875219 You are receiving this because you were mentioned.

Message ID: @.***>

I no longer have login access to the github repository to comment there.

That specific error is likely a local configuration issue. There is no call to 'grep' in that command, but without knowing exact details of the user's environment and the relevant directories involved, it's not obvious what is going on.

In any case, the proposal to replace the current 136 calls to 'ls' with 6770 calls to 'test -e' probably won't make a meaningful difference on a modern system.
In much older systems, 'test' was not built-in and would have added a noticeable extra delay.

The proposed change from cd "$rsrc" to cd "$tmppwd/$rsrc"

looks wrong to me for the cases where the user is building outside the source tree (with -Dmksymlinks). More simply, if you are not going to be using 'ls' then I think the directory change is unnecessary and simply looking for

if [ ! -e "$rsrc/$file" ]; then

would be sufficient.

-- Andy Dougherty @.***

doughera88 avatar Jul 16 '24 16:07 doughera88

looks wrong to me for the cases where the user is building outside the source tree (with -Dmksymlinks). More simply, if you are not going to be using 'ls' then I think the directory change is unnecessary and simply looking for

if [ ! -e "$rsrc/$file" ]; then 

would be sufficient.

It looks like he's done that change, and a build with -Dmksymlinks only failed the AUTHORS check.

I am curious about which errors from ls this fixes.

tonycoz avatar Jul 24 '24 05:07 tonycoz

We haven't heard from the original poster of https://github.com/Perl/perl5/issues/22398 (the issue which spurred this pull request) in more than 14 months. IMO he never answered some of the questions we put to him. I'm self-assigning this ticket for the purpose of closing it within 7 days unless someone can present a rationale for keeping it open.

jkeenan avatar Oct 01 '25 23:10 jkeenan