Skip Menu |
Report information
Id: 128517
Status: resolved
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: carnil [at] debian.org
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: unknown
Perl Version: (no value)
Fixed In: (no value)



Subject: ExtUtils::ParseXS: Please make the output reproducible
Hi Chris Lamb working on the "reproducible builds" effort [0] reported that the output generated by ExtUtils::ParseXS is non-deterministic and proposed a patch both in [1] and [2], basically boiling down to: diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm index 0987500..dd1c3f2 100644 --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm @@ -686,7 +686,7 @@ EOF var => $_, do_setmagic => $self->{DoSetMagic}, do_push => undef, - } ) for grep $self->{in_out}->{$_} =~ /OUT$/, keys %{ $self->{in_out} }; + } ) for grep $self->{in_out}->{$_} =~ /OUT$/, sort keys %{ $self->{in_out} }; my $prepush_done; # all OUTPUT done, so now push the return value on the stack Could you consider applying it in a next update of ExtUtils::ParseXS? Regards, Salvatore [0] https://wiki.debian.org/ReproducibleBuilds [1] https://bugs.debian.org/829295 [2] https://bugs.debian.org/829296
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 1.2k
On Sat Jul 02 01:05:26 2016, carnil@debian.org wrote: Show quoted text
> Hi > > Chris Lamb working on the "reproducible builds" effort [0] reported > that the output generated by ExtUtils::ParseXS is non-deterministic > and proposed a patch both in [1] and [2], basically boiling down to: > > diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm > b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm > index 0987500..dd1c3f2 100644 > --- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm > +++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm > @@ -686,7 +686,7 @@ EOF > var => $_, > do_setmagic => $self->{DoSetMagic}, > do_push => undef, > - } ) for grep $self->{in_out}->{$_} =~ /OUT$/, keys %{ $self-
> >{in_out} };
> + } ) for grep $self->{in_out}->{$_} =~ /OUT$/, sort keys %{ > $self->{in_out} }; > > my $prepush_done; > # all OUTPUT done, so now push the return value on the stack > > Could you consider applying it in a next update of ExtUtils::ParseXS? > > Regards, > Salvatore > > [0] https://wiki.debian.org/ReproducibleBuilds > [1] https://bugs.debian.org/829295 > [2] https://bugs.debian.org/829296
Other things being equal, I would expect the introduction of a 'sort' function at that point to cause a performance hit. -- James E Keenan (jkeenan@cpan.org)
Date: Sat, 2 Jul 2016 13:49:46 +0100
To: perl5-porters [...] perl.org
Subject: Re: [perl #128517] ExtUtils::ParseXS: Please make the output reproducible
From: Zefram <zefram [...] fysh.org>
Download (untitled) / with headers
text/plain 218b
James E Keenan via RT wrote: Show quoted text
>Other things being equal, I would expect the introduction of a 'sort' >function at that point to cause a performance hit.
Not a concern. This only runs during build processes. -zefram
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 387b
On Sat Jul 02 05:50:15 2016, zefram@fysh.org wrote: Show quoted text
> James E Keenan via RT wrote:
> >Other things being equal, I would expect the introduction of a 'sort' > >function at that point to cause a performance hit.
> > Not a concern. This only runs during build processes. > > -zefram >
Okay. Smoke-testing in branch smoke-me/jkeenan/128517-eupxs. -- James E Keenan (jkeenan@cpan.org)
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 549b
On Sun Jul 03 07:55:55 2016, jkeenan wrote: Show quoted text
> On Sat Jul 02 05:50:15 2016, zefram@fysh.org wrote:
> > James E Keenan via RT wrote:
> > >Other things being equal, I would expect the introduction of a 'sort' > > >function at that point to cause a performance hit.
> > > > Not a concern. This only runs during build processes. > > > > -zefram > >
> > Okay. Smoke-testing in branch smoke-me/jkeenan/128517-eupxs.
Which I don't see new failures on. Thanks, applied as aeb9a3099f47d5e24472ca314b82cf194a0f7862. Removed the smoke-me branch. Tony
Download (untitled) / with headers
text/plain 313b
Thank you for filing this report. You have helped make Perl better. With the release today of Perl 5.26.0, this and 210 other issues have been resolved. Perl 5.26.0 may be downloaded via: https://metacpan.org/release/XSAWYERX/perl-5.26.0 If you find that the problem persists, feel free to reopen this ticket.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org