David Golden | 5 Jul 04:13 2009
Picon

version.pm 0.77 in M::B 0.33_04+ breaks a few distributions

I just finished the regression test of 0.33_05 against 0.33.  The list is here:

http://echo.dagolden.com/~xdg/m-b-0.33-0.33_05.txt

The only things that really concern me are a few distributions that
previously passed but now give 'na' grades.  The all appear to be due
to something like "use version 0.50; our $VERSION = ...". (Note --
what's odd is that version.pm is *installed*.)

E.g.:

* http://echo.dagolden.com/~xdg/m-b-0.33-0.33_05/0.33_05/na.DBIx-Tree-MaterializedPath-v0.06.i686-linux.2.6.24-16-generic.1246581100.3473.rpt

* http://echo.dagolden.com/~xdg/m-b-0.33-0.33_05/0.33_05/na.EBook-Tools-0.4.5.i686-linux.2.6.24-16-generic.1246535864.13934.rpt

* http://echo.dagolden.com/~xdg/m-b-0.33-0.33_05/0.33_05/na.Regexp-Common-debian-0.1.5.i686-linux.2.6.24-16-generic.1246621282.17913.rpt

What's odd is that these modules passed in 0.33 through 0.33_03 and it
would seem to be the addition of the new version code in 0.33_04 that
causes the failure.

On the one hand, these might be correct and the previous passing
behavior was a bug.  Or this is a regression and needs to be fixed
before 0.34.  I don't know which.

John -- also, please see check version-AlphaBeta.  "Build test"
segfaults.  I confirmed in a number of places, including perl 5.8.9
(with version.pm installed, as it turns out).

So I'm not feeling very good about the 0.77 version.pm code and think
(Continue reading)

David Golden | 5 Jul 13:53 2009
Picon

Re: version.pm 0.77 in M::B 0.33_04+ breaks a few distributions

On Sun, Jul 5, 2009 at 7:24 AM, John Peacock<jpeacock <at> cpan.org> wrote:
> If version.pm is installed, then the compatibility code in M::B should not get
> loaded.  I'll check these right now...

I built 4 perls from source and installed M::B 0.33 (and dependencies)
to each.  On two of them, I installed version.pm 0.76.  I then tested
DBIx::Tree::MaterializedPath:

* perl 5.8.9: Build.PL fails (needs version.pm 0.74 but have version 0)
* perl 5.8.9 + version.pm: pass
* perl 5.10.0: pass
* perl 5.10.0 + version.pm: pass

Then I installed Module::Build from the repository, which is M::B
0.33_05 plus a more recent patch from John for 5.10, into each of them
and repeated the tests:

* perl 5.8.9: Build.PL fails (needs version.pm 0.74 but have version 0)
* perl 5.8.9 + version.pm: Build.PL fails (needs version.pm 0.74 but
have version 0)
* perl 5.10.0: Build.PL fails (needs version.pm 0.74 but have version 0)
* perl 5.10.0 + version.pm: Build.PL fails (needs version.pm 0.74 but
have version 0)

I hope that helps in diagnosing the problem.

-- David

John Peacock | 5 Jul 14:16 2009

Re: version-AlphaBeta [was Re: version.pm 0.77 in M::B 0.33_04+ breaks a few distributions]

John Peacock wrote:
> Still investigating...

Ah, nevermind:

=== Build.PL
==================================================================
--- Build.PL	(revision 531)
+++ Build.PL	(local)
 <at>  <at>  -3,7 +3,7  <at>  <at> 
 use Module::Build;
 my $class = Module::Build->subclass
 (
-    class => 'version::Builder',
+#    class => 'version::Builder',
     code => q{
     sub ACTION_dist{
         my $self = shift;

I can't see anything in the diff between 0.33 and 0.33_05 that would explain why
that doesn't work any more.  Can you?

John

John Peacock | 5 Jul 13:24 2009
Picon

Re: version.pm 0.77 in M::B 0.33_04+ breaks a few distributions

David Golden wrote:
> What's odd is that these modules passed in 0.33 through 0.33_03 and it
> would seem to be the addition of the new version code in 0.33_04 that
> causes the failure.
> 
> On the one hand, these might be correct and the previous passing
> behavior was a bug.  Or this is a regression and needs to be fixed
> before 0.34.  I don't know which.
> 
> John -- also, please see check version-AlphaBeta.  "Build test"
> segfaults.  I confirmed in a number of places, including perl 5.8.9
> (with version.pm installed, as it turns out).
> 
> So I'm not feeling very good about the 0.77 version.pm code and think
> we need to fix it or roll back to the prior bundled version.

If version.pm is installed, then the compatibility code in M::B should not get
loaded.  I'll check these right now...

John

John Peacock | 5 Jul 14:07 2009
Picon

Re: version.pm 0.77 in M::B 0.33_04+ breaks a few distributions

David Golden wrote:
> * perl 5.8.9: Build.PL fails (needs version.pm 0.74 but have version 0)
> * perl 5.8.9 + version.pm: Build.PL fails (needs version.pm 0.74 but
> have version 0)
> * perl 5.10.0: Build.PL fails (needs version.pm 0.74 but have version 0)
> * perl 5.10.0 + version.pm: Build.PL fails (needs version.pm 0.74 but
> have version 0)
> 
> I hope that helps in diagnosing the problem.

Yeah, that was actually a red herring.  Here's the fix:

=== lib/Module/Build/Version.pm
==================================================================
--- lib/Module/Build/Version.pm	(revision 2630)
+++ lib/Module/Build/Version.pm	(local)
 <at>  <at>  -48,7 +48,7  <at>  <at> 

 use vars qw( <at> ISA $VERSION $CLASS *declare *qv);

-$VERSION = 0;
+$VERSION = 0.77;

 $CLASS = 'version';

 <at>  <at>  -122,6 +122,7  <at>  <at> 
 use locale;
 use vars qw ($VERSION  <at> ISA  <at> REGEXS);
 $VERSION = '0.77';
+$VERSION = eval $VERSION;
(Continue reading)

Dave Mitchell | 5 Jul 14:34 2009

Re: version-AlphaBeta [was Re: version.pm 0.77 in M::B 0.33_04+ breaks a few distributions]

On Sun, Jul 05, 2009 at 08:16:43AM -0400, John Peacock wrote:
[various stuff]

So, John, David,
where are we now as regards getting version 0.77 and Module::Build 0.34
into 5.10.1?

Thanks.

--

-- 
"I do not resent criticism, even when, for the sake of emphasis,
it parts for the time with reality".
    -- Winston Churchill, House of Commons, 22nd Jan 1941.

John Peacock | 5 Jul 14:09 2009
Picon

version-AlphaBeta [was Re: version.pm 0.77 in M::B 0.33_04+ breaks a few distributions]

David Golden wrote:
> John -- also, please see check version-AlphaBeta.  "Build test"
> segfaults.  I confirmed in a number of places, including perl 5.8.9
> (with version.pm installed, as it turns out).

On a different topic, this is really weird:

$ ./Build
Can't call mro_method_changed_in() on anonymous symbol table at
/home/jpeacock/devel/version-AlphaBeta/_build/lib/version/Builder.pm line 9,
<DATA> line 643.
Compilation failed in require at ./Build line 40, <DATA> line 643.
BEGIN failed--compilation aborted at ./Build line 40, <DATA> line 643.

WTF!!!

Still investigating...

John

David Golden | 5 Jul 16:01 2009
Picon

Re: version-AlphaBeta [was Re: version.pm 0.77 in M::B 0.33_04+ breaks a few distributions]

On Sun, Jul 5, 2009 at 8:34 AM, Dave Mitchell<davem <at> iabyn.com> wrote:
> On Sun, Jul 05, 2009 at 08:16:43AM -0400, John Peacock wrote:
> [various stuff]
>
> So, John, David,
> where are we now as regards getting version 0.77 and Module::Build 0.34
> into 5.10.1?

The number of distributions affected is very, very small.  The issues
don't seem to be "OMIGODIBROKECPAN" level issues.

My thought it to apply John's latest patch, release a new dev version
of M::B, and re-run the regression test.  That might be overly
cautious, but I think it's justified.

I'll release a blead patch at the same time.  I would suggest
including that in 5.10.1 RC0.

If the regression test is good (likely), I'll bump the version to 0.34
and issue a bleadpatch.

If the regression test shows more issues (worst case), then I'm going
to roll back the version.pm included in Module::Build, re-run the
regression *again*, and that will be 0.34..

-- David

John Peacock | 6 Jul 02:04 2009

Re: version-AlphaBeta [was Re: version.pm 0.77 in M::B 0.33_04+ breaks a few distributions]

Dave Mitchell wrote:
> So, John, David,
> where are we now as regards getting version 0.77 and Module::Build 0.34
> into 5.10.1?

I concur with David's plan to release another alpha of M::B and retry the
regression testing (and I'm extremely grateful for him being able to do that).

The core version.pm code has been applied and nary a puff of smoke has been seen
from bleadperl, so I consider that frozen.  I'm still working my way through the
POD for version.pm 0.77; it's been a crazy couple of weeks at $WORK.  If I had
to, I could cut that process short by just cleaning up what I have, rather than
being more comprehensive.  So if you could give me a timeframe, I will work
within the limits of your schedule (and patience).

Thanks

John

Curtis Jewell | 6 Jul 04:41 2009
Picon

Release timeframe for version 0.77 / M::B 0.34 [was Re: version.pm 0.77 in M::B 0.33_04+ breaks a few distributions]

Keep us informed, please. 

In my case, I'd also like to get those versions of M::B and version.pm
into the next release of Strawberry Perl (we upgrade the expanded CPAN
toolchain to the most up-to-date versions available - and that includes
adding version.pm and Module::Build to 5.8.9 builds, and updating them
in 5.10.0 builds) and while I can wait for those two distributions, I'd
really like to not wait for too horribly long. 

I've realistically got until the end of the month, but I'd like to do
better - so I want to be able to start building a release candidate next
Monday (the 13th) if possible, OK?

--Curtis

On Sun, 05 Jul 2009 16:04 -0400, "John Peacock"
<john.peacock <at> havurah-software.org> wrote:
> Dave Mitchell wrote:
> > So, John, David,
> > where are we now as regards getting version 0.77 and Module::Build 0.34
> > into 5.10.1?
> 
> I concur with David's plan to release another alpha of M::B and retry the
> regression testing (and I'm extremely grateful for him being able to do
> that).
> 
> The core version.pm code has been applied and nary a puff of smoke has
> been seen
> from bleadperl, so I consider that frozen.  I'm still working my way
> through the
(Continue reading)


Gmane