OpenBSD perl 5.30.0 - Call for Testing

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

OpenBSD perl 5.30.0 - Call for Testing

Andrew Fresh-4
I've updated our patches for perl 5.30.0  and I'd like to get some other
folks to kick the tyres.  I doubt it's quite ready to become system perl
just yet, but I have been running it on a test machine for a while now.

This summer has been surprisingly good at keeping me from spending much
time on OpenBSD, but after being on a beach next week I should have time
again.
(Which is why I'm sending it now, so yinz can test it while I'm relaxing.)


One thing that I know happened is that Locale::Codes and related modules
were removed from core and I haven't yet had time to look at fixing
the things that showed up when sthen@ grepped for that in the extracted
ports tree.

The full perldelta is here, and the perl5-porters have been hard at work
on deprecating a lot of terrible features so they can turn them into
something better:

https://metacpan.org/pod/release/XSAWYERX/perl-5.30.0/pod/perldelta.pod


It would be nice to get feedback on some of the architectures I don't
have, and a bulk ports build to see what sort of fallout happens there.

The logs for what I do have are here.
https://github.com/afresh1/OpenBSD-perl/tree/master/build_logs/5.30.0

Which are alpha, amd64, arm64, armv7, i386, macppc, and octeon.


I did have some failures with capturing output from forked processes on
my alpha, so that was a bit odd, but I haven't yet gotten around to
figuring out if that's a new failure or a new test.


For running the perl test suite, you can follow the instructions on
github, repeated here:

https://github.com/afresh1/OpenBSD-perl

    download the patches and scripts
                https://github.com/afresh1/OpenBSD-perl/archive/master.tar.gz
                and extract someplace
                or git clone https://github.com/afresh1/OpenBSD-perl.git
    download perl-5.30.0.tar.gz into the same directory
        https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX/perl-5.30.0.tar.gz
    cd to someplace you have room
    run /path/to/OpenBSD-perl/build_perl
    wait
    send me the log file(s) it generates

You can download a pre-patched version of perl that can be extracted to replace
src/gnu/usr.bin/perl for building a system with the new perl:

https://cvs.afresh1.com/~andrew/OpenBSD-perl-5.30.0.tar.gz

I also have what should be a mostly correct sets/lists patch for building a release.
https://cvs.afresh1.com/~andrew/OpenBSD-perl-5.30.0-sets_lists.patch


There's also patch file that should apply to a -current tree updating to
perl 5.30, copy it into /usr/src (or adjust the paths below) and follow
these ugly instructions.  You'll still need the sets lists patch if
you're planning to build a release.

https://cvs.afresh1.com/~andrew/OpenBSD-perl-5.30.0.patch

patch -p0 -E < perl-5.30.0.patch

# Remove patch cruft
find gnu/usr.bin/perl -name '*.orig' -delete

# Add and remove binary and zero sized files that patch doesn't understand
grep -B1 -e '^Index:' -e 'Binary files /tmp/.* and /dev/null differ' \
    perl-5.30.0.patch | sed -ne 's/^diff -N //p' |
    while read f; do if [ -e $f ]; then rm $f; else touch $f; fi; done

# Remove empty directories, or those with only a CVS directory in them
cd gnu/usr.bin/perl && find -d . \
    \( -type d -o -path '*/CVS' -prune \) \
    ! -name CVS \
    -exec test -e {}/CVS \; \
    -execdir sh -c 'test $( ls -1 {} | grep -v '^CVS/$' | wc -l ) -eq 0' \; \
    -exec rm -r {} \;

l8rZ,
--
andrew - http://afresh1.com

($do || !$do) && undef($try) ;  # Master of Perl, Yoda is.  Hmmmm?

Reply | Threaded
Open this post in threaded view
|

OpenBSD perl 5.30.1 - Call for Testing

Andrew Hewus Fresh
Fairly sure perl 5.30.1 is as ready for import as I can get it without
other folks trying it out, so I'd like some additional testing on some
of the architectures I don't have and a bulk ports build to see what
sort of fallout happens there.  I have been running 5.30 on my main
testing machine for several months now and things have been working
well.

One thing that I know happened is that Locale::Codes and related modules
were removed from core and I haven't yet had time to look at fixing
the things that showed up when sthen@ grepped for that in the extracted
ports tree.

Anyone running a speedy bulk ports cluster who could do a full build for
me would be appreciated.


The full perldelta is here, both between version 5.30.0 and 5.28.2 that
we have in-tree now and the smaller bugfixes in 5.30.1.  The
perl5-porters have been hard at work on deprecating a lot of terrible
features so they can turn them into something better:

https://metacpan.org/pod/release/SHAY/perl-5.30.1/pod/perl5300delta.pod
https://metacpan.org/pod/release/SHAY/perl-5.30.1/pod/perldelta.pod


The logs for the testing I have done is here.
https://github.com/afresh1/OpenBSD-perl/tree/master/build_logs/5.30.1

Which includes alpha, amd64, arm64, armv7, i386, macppc, and octeon.
Sadly my sparc64 is giving me trouble and I haven't had time to spend on
the replacement.

Apparently my 166MHz single processor alpha is slow as it failed
speed.t.

For running the perl test suite, you can follow the instructions on
GitHub, repeated here:

https://github.com/afresh1/OpenBSD-perl

    download the patches and scripts
                https://github.com/afresh1/OpenBSD-perl/archive/master.tar.gz
                and extract someplace
                or git clone https://github.com/afresh1/OpenBSD-perl.git
    download perl-5.30.1.tar.gz into the same directory
        https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.30.1.tar.gz
    cd to someplace you have room
    run /path/to/OpenBSD-perl/build_perl
    wait
    send me the log file(s) it generates

You can download a pre-patched version of perl that can be extracted to
replace src/gnu/usr.bin/perl for building a system with the new perl:

https://cvs.afresh1.com/~andrew/OpenBSD-perl-5.30.1.tar.gz

I also have what should be a mostly correct sets/lists patch for building a release.
https://cvs.afresh1.com/~andrew/OpenBSD-perl-5.30.1-sets_lists.patch


There's also patch file that should apply to a -current tree updating to
perl 5.30.1, copy it into /usr/src (or adjust the paths below) and
follow these ugly instructions.  You'll still need the sets lists patch
if you're planning to build a release.

https://cvs.afresh1.com/~andrew/OpenBSD-perl-5.30.1.patch

patch -p0 -E < OpenBSD-perl-5.30.1.patch

# Remove patch cruft
find gnu/usr.bin/perl -name '*.orig' -delete

# Add and remove binary and zero sized files that patch doesn't understand
grep -B1 -e '^Index:' -e 'Binary files .* and /dev/null differ' \
    OpenBSD-perl-5.30.1.patch | sed -ne 's/^diff -N //p' |
    while read f; do if [ -e $f ]; then rm $f; else touch $f; fi; done

# Remove empty directories, or those with only a CVS directory in them
cd gnu/usr.bin/perl && find -d . \
    \( -type d -o -path '*/CVS' -prune \) \
    ! -name CVS \
    -exec test -e {}/CVS \; \
    -execdir sh -c 'test $( ls -1 {} | grep -v '^CVS/$' | wc -l ) -eq 0' \; \
    -exec rm -r {} \;


--
andrew - http://afresh1.com

The 3 great virtues of a programmer: Laziness, Impatience, and Hubris.
                      --Larry Wall

Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD perl 5.30.1 - Call for Testing

Stuart Henderson
On 2019/12/26 18:08, Andrew Hewus Fresh wrote:
> Anyone running a speedy bulk ports cluster who could do a full build for
> me would be appreciated.

The only failure in the build which looks like it can be attributed to
the perl update is japanese/kanjips which I've just fixed.

../text2x/text2c -f outheader -o outfile headerfile > header.c
$* is no longer supported as of Perl 5.30 at ../text2x/text2c line 8.

(other failures look like random build errors: gnucash out-of-memory
in guile, and a linker segfault in krita).

No build-time problems seen due to Locale::Codes. I am in favour of this
going in ASAP so we can pick up runtime problems sooner (as far as
Locale::Codes is concerned, we already have it in ports so it would just
be a case of adding the dependency).

OK sthen

Reply | Threaded
Open this post in threaded view
|

OpenBSD perl 5.30.2 - Call for Testing

Andrew Hewus Fresh
In reply to this post by Andrew Hewus Fresh
There's a minor update for perl 5.30.2 out, mostly just some bugfixes,
but also documentation updates because the main repository and bug
tracker for perl has moved to GitHub.

The full perldeltas are here the main one for for 5.30.0, and 5.30.1
that we have in-tree now and the smaller bugfixes in 5.30.2.

https://metacpan.org/pod/release/SHAY/perl-5.30.2/pod/perl5300delta.pod
https://metacpan.org/pod/release/SHAY/perl-5.30.2/pod/perl5301delta.pod
https://metacpan.org/pod/release/SHAY/perl-5.30.2/pod/perldelta.pod


The logs for the testing I have done is here.
https://github.com/afresh1/OpenBSD-perl/tree/master/build_logs/5.30.2

Which includes alpha, amd64, arm64, armv7, i386, macppc, sparc64, and octeon.

On my alpha there's an odd failure in 01_IPC_Cmd.t, but that's not new
and seems to be something with buffers not getting flushed as expected.


For running the perl test suite, you can follow the instructions on
GitHub, repeated here:

https://github.com/afresh1/OpenBSD-perl

    download the patches and scripts
                https://github.com/afresh1/OpenBSD-perl/archive/master.tar.gz
                and extract someplace
                or git clone https://github.com/afresh1/OpenBSD-perl.git
    download perl-5.30.2.tar.gz into the same directory
        https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.30.2.tar.gz
    cd to someplace you have room
    run /path/to/OpenBSD-perl/build_perl
    wait
    send me the log file(s) it generates

You can download a pre-patched version of perl that can be extracted to
replace src/gnu/usr.bin/perl for building a system with the new perl:

https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.30.2.tar.gz

I also have what should be a mostly correct sets/lists patch for building a release.
https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.30.2-sets_lists.patch


Unfortunately, there are some characters in test files that are causing
`patch` to fail, so although you can get the patch here, I haven't been
able to figure out how to apply it successfully.  If you want to try,
this is supposed to apply to -current to update it to perl 5.30.2, to do
that you would copy it into /usr/src (or adjust the paths below) and
follow these ugly instructions.  You'll still need the above sets lists
patch if you're planning to build a release.

https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.30.2.patch.gz
or
https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.30.2.patch

cd /usr/src
patch -p0 -uNE < perl-5.30.2.patch

# Remove patch cruft
find gnu/usr.bin/perl -name '*.orig' -delete

# Add and remove binary and zero sized files that patch doesn't understand
grep -B1 -e '^Index:' -e 'Binary files /tmp/.* and /dev/null differ' \
    perl-5.30.2.patch | sed -ne 's/^diff -N //p' |
    while read f; do if [ -e $f ]; then rm $f; else touch $f; fi; done

cd gnu/usr.bin/perl && find -d . \
    \( -type d -o -path '*/CVS' -prune \) \
    ! -name CVS \
    -exec test -e {}/CVS \; \
    -execdir sh -c 'test $( ls -1 {} | grep -v '^CVS/$' | wc -l ) -eq 0' \; \
    -exec rm -r {} \;


Reply | Threaded
Open this post in threaded view
|

OpenBSD perl 5.32.1 - Call for Testing

Andrew Fresh-4
In reply to this post by Andrew Fresh-4
I've probably missed making it in for 6.9, but it is again time for
testing a perl update so it can become /usr/bin/perl

Several good changes this time:
https://metacpan.org/pod/distribution/perl/pod/perl5320delta.pod
https://metacpan.org/pod/release/SHAY/perl-5.32.1/pod/perldelta.pod

* A new "isa" operator
* A new feature "no indirect" that disables indirect object notation
* Chained comparisons ( $x < $y <= $z )
* Unicode 13.0
* IO::Compress now comes with the streamzip utility.

Plus a bunch of other unicode and regex things as well as new versions
of many modules.

It also includes the recent PERL_HASH fix for 64bit strict alignment
architectures and removes several local patches that were merged
upstream.

It would be nice to get feedback on some of the architectures I don't
have, and a bulk ports build to see what sort of fallout happens there.

The logs for what I do have are here:
https://github.com/afresh1/OpenBSD-perl/tree/blead/build_logs/perl-5.32.1

Which are alpha, amd64, arm64, armv7, macppc, octeon, and sparc64.

The issues I had in 5.30 with capturing output from forked processes on my
alpha are still there, could just be that it's slow.

For running the perl test suite, you can follow the instructions on
github, repeated here:

https://github.com/afresh1/OpenBSD-perl

    download the patches and scripts
                https://github.com/afresh1/OpenBSD-perl/archive/blead.tar.gz
                and extract someplace
                or git clone https://github.com/afresh1/OpenBSD-perl.git
    download perl-5.30.0.tar.gz into the same directory
        https://cpan.metacpan.org/authors/id/S/SH/SHAY/perl-5.32.1.tar.gz
    cd to someplace you have room
    run /path/to/OpenBSD-perl/build_perl
    wait
    send me the log file(s) it generates


You can download a pre-patched version of perl that can be extracted to replace
src/gnu/usr.bin/perl for building a system with the new perl:
https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.32.1.tar.gz

I also have what should be a mostly correct sets/lists patch for building a release.
https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.32.1-sets.patch

There are also several files that are no longer part of the perl distribution:

rm -r /usr/bin/podselect \
      /usr/lib/libperl.so.20.0 \
      /usr/lib/libperl.so.21.0 \
      /usr/libdata/perl5/*/CORE/dquote_inline.h \
      /usr/libdata/perl5/*/Tie \
      /usr/libdata/perl5/*/auto/Tie \
      /usr/libdata/perl5/Pod/Find.pm \
      /usr/libdata/perl5/Pod/InputObjects.pm \
      /usr/libdata/perl5/Pod/ParseUtils.pm \
      /usr/libdata/perl5/Pod/Parser.pm \
      /usr/libdata/perl5/Pod/PlainText.pm \
      /usr/libdata/perl5/Pod/Select.pm \
      /usr/libdata/perl5/pod/perlce.pod \
      /usr/libdata/perl5/unicore/Heavy.pl \
      /usr/libdata/perl5/unicore/lib/Lb/EB.pl \
      /usr/libdata/perl5/unicore/lib/Perl/_PerlNon.pl \
      /usr/libdata/perl5/unicore/lib/Sc/Armn.pl \
      /usr/libdata/perl5/utf8_heavy.pl \
      /usr/share/man/man1/podselect.1 \
      /usr/share/man/man3p/Pod::Find.3p \
      /usr/share/man/man3p/Pod::InputObjects.3p \
      /usr/share/man/man3p/Pod::ParseUtils.3p \
      /usr/share/man/man3p/Pod::Parser.3p \
      /usr/share/man/man3p/Pod::PlainText.3p \
      /usr/share/man/man3p/Pod::Select.3p


There's also patch file that should apply to a -current tree updating to
perl 5.32.1.  You'll still need the sets lists patch if you're planning
to build a release.

https://cvs.afresh1.com/~andrew/perl-update/OpenBSD-perl-5.32.1.patch

Unfortunately the patch doesn't actually apply due to non-ascii files in
the diff, not quite sure the magic incantation to make that work, so I
recommend replacing src/gnu/usr.bin/perl with the extracted tar.gz
linked above.

If it did apply, you would copy the patch to /usr/src/perl-5.32.1.patch
(or adjust the paths below)

cd /usr/src/
patch -p0 -uNE < perl-5.32.1.patch

# Remove patch cruft
find gnu/usr.bin/perl -name '*.orig' -delete

# Add and remove binary and zero sized files that patch doesn't understand
grep -B1 -e '^Index:' -e 'Binary files /tmp/.* and /dev/null differ' \
    perl-5.32.1.patch | sed -ne 's/^diff -N //p' |
    while read f; do if [ -e $f ]; then rm $f; else touch $f; fi; done

cd gnu/usr.bin/perl && find -d . \
    \( -type d -o -path '*/CVS' -prune \) \
    ! -name CVS \
    -exec test -e {}/CVS \; \
    -execdir sh -c 'test $( ls -1 {} | grep -v '^CVS/$' | wc -l ) -eq 0' \; \
    -exec rm -r {} \;


Reply | Threaded
Open this post in threaded view
|

Re: OpenBSD perl 5.32.1 - Call for Testing

Stuart Henderson
On 2021/02/20 14:11, Andrew Hewus Fresh wrote:
> Unfortunately the patch doesn't actually apply due to non-ascii files in
> the diff, not quite sure the magic incantation to make that work,

I haven't tried with this, but usually it's "gpatch"