Mailing List Archive

Patching blead-upstream dual-life modules
Presumably cpan-upstream module changes are soaked by cpan testers
successfully before appearing in blead.

That doesn't happen with our blead-upstream patches, and that can lead
to problems.

I believe we need to institute some procedures to ensure that we don't
inadvertently break blead-upstream modules when run on older perls.

Obviously, changing a comment or documentation accompanied by a version
dump isn't likely to break things, and wouldn't need to be subject to
any procedures we may institute.

I'm writing this because Devel::PPPort is now broken on Perl 5.13.0 (and
presumably earlier) by this recent commit:

commit 7169efc77525df70484a824bff4ceebd1fafc760
*Author: Tony Cook <tony@develop-help.com>
Date: Thu Jul 15 13:13:03 2021 +1000

skip using gcc brace groups for STMT_START/END

This warns (and warns a lot) on clang, and since these are documented
to only work to make a single statement, so there's little value to
allowing them to work in an expression.

An alternative would be to disable GCC brace groups on clang, but
these are used extensively in DEBUGGING builds to add extra checks
in sv.h.


I certainly wouldn't have predicted the breakage from reading the commit
code; the way it showed up was I was trying to incorporate it into the
next release of D:P, and this involves testing on early perls.

But this could happen to any dual life module
Re: Patching blead-upstream dual-life modules [ In reply to ]
On 7/17/21 10:52 AM, Karl Williamson wrote:
> Presumably cpan-upstream module changes are soaked by cpan testers
> successfully before appearing in blead.
>
> That doesn't happen with our blead-upstream patches, and that can lead
> to problems.
>
> I believe we need to institute some procedures to ensure that we don't
> inadvertently break blead-upstream modules when run on older perls.
>
> Obviously, changing a comment or documentation accompanied by a version
> dump isn't likely to break things, and wouldn't need to be subject to
> any procedures we may institute.
>
> I'm writing this because Devel::PPPort is now broken on Perl 5.13.0 (and
> presumably earlier) by this recent commit:
>
> commit 7169efc77525df70484a824bff4ceebd1fafc760
> *Author: Tony Cook <tony@develop-help.com>
>  Date:   Thu Jul 15 13:13:03 2021 +1000
>
>      skip using gcc brace groups for STMT_START/END
>
>      This warns (and warns a lot) on clang, and since these are documented
>      to only work to make a single statement, so there's little value to
>      allowing them to work in an expression.
>
>      An alternative would be to disable GCC brace groups on clang, but
>      these are used extensively in DEBUGGING builds to add extra checks
>      in sv.h.
>
>
> I certainly wouldn't have predicted the breakage from reading the commit
> code; the way it showed up was I was trying to incorporate it into the
> next release of D:P, and this involves testing on early perls.
>
> But this could happen to any dual life module


Something we tend to forget when patching such modules is that they may
need to work on non-C89 compilers
Re: Patching blead-upstream dual-life modules [ In reply to ]
2021-7-18 1:52 Karl Williamson <public@khwilliamson.com> wrote:

>
> I believe we need to institute some procedures to ensure that we don't
> inadvertently break blead-upstream modules when run on older perls.
>
>
Would you like to create an RFC to establish the procedure?

Does that mean you want to add the procedure to the documentation?