Skip Menu |

This queue is for tickets about the XML-SAX-Base CPAN distribution.

Report information
The Basics
Id: 70837
Status: resolved
Priority: 0/
Queue: XML-SAX-Base

People
Owner: Nobody in particular
Requestors: hsk [...] fli-leibniz.de
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.06
Fixed in: (no value)



Subject: no $VERSION in installed Base.pm
XML/SAX/Base.pm, as distributed in the tar file, contains code setting $VERSION variables but in the XML/SAX/Base.pm that after installing is found in the perl library all code about $VERSION is missing somehow annoying e.g. when using module CPAN to keep track on updates to the many modules installed to our perl library # diff Base.pm__dist Base.pm 2,4d1 < BEGIN { < $XML::SAX::Base::VERSION = '1.06'; < } 2870,2872d2866 < BEGIN { < $XML::SAX::Base::NoHandler::VERSION = '1.06'; < } seems that something is wrong with BuildSAXBase.PL (is this build-when-doing-make still necessary after splitting XML-SAX-Base off XML-SAX ?)
On Fri Sep 09 04:30:23 2011, hsk@fli-leibniz.de wrote: Show quoted text
> XML/SAX/Base.pm, as distributed in the tar file, contains code setting > $VERSION variables > but in the XML/SAX/Base.pm that after installing is found in the perl > library all code about $VERSION is missing > somehow annoying e.g. when using module CPAN to keep track on updates to > the many modules installed to our perl library > > # diff Base.pm__dist Base.pm > 2,4d1 > < BEGIN { > < $XML::SAX::Base::VERSION = '1.06'; > < } > 2870,2872d2866 > < BEGIN { > < $XML::SAX::Base::NoHandler::VERSION = '1.06'; > < } > > seems that something is wrong with BuildSAXBase.PL (is this > build-when-doing-make still necessary after splitting XML-SAX-Base off > XML-SAX ?)
I think the fix for this would be to not include BuildSAXBase.PL in the distribution. In that way, it will not be run, and will not overwrite the lib/XML/SAX/Base.pm file in the distribution.
On Fri Sep 09 04:30:23 2011, hsk@fli-leibniz.de wrote: Show quoted text
> XML/SAX/Base.pm, as distributed in the tar file, contains code setting > $VERSION variables > but in the XML/SAX/Base.pm that after installing is found in the perl > library all code about $VERSION is missing > somehow annoying e.g. when using module CPAN to keep track on updates to > the many modules installed to our perl library > > # diff Base.pm__dist Base.pm > 2,4d1 > < BEGIN { > < $XML::SAX::Base::VERSION = '1.06'; > < } > 2870,2872d2866 > < BEGIN { > < $XML::SAX::Base::NoHandler::VERSION = '1.06'; > < } > > seems that something is wrong with BuildSAXBase.PL (is this > build-when-doing-make still necessary after splitting XML-SAX-Base off > XML-SAX ?)
Short story: don't run that script and you'll be fine. The build-during-make is definitely not necessary. That's why I changed the release process to do build-at-release instead. There is no reference to BuildSAXBase.PL in the Makefile.PL so unless you run it manually it would not be run. In retrospect I guess the name could easily be mistaken for Build.PL and thus people might run it when they don't need to. I included BuildSAXBase.PL in the distribution to allow people to hack on the source and try out their own local modifications - which would be harder if I only included the generated code. I will fix BuildSAXBase.PL to include the version stanza but I'll also modify it to protect against accidental loss of the distributed Base.pm file. Thanks for your report.
The newly uploaded release 1.07 includes the following changes: * BuildSAXBase.PL will now produce a warning indicating it does not need to be run * If BuildSAXBase.PL is run with the --force option, it will generate a new lib/XML/SAX/Base.pm which includes the same version stanzas as Dist::Zilla generated for the release file * BuildSAXBase.PL will save the original Base.pm file before generating a new version
From: hsk [...] fli-leibniz.de
On Fri Sep 09 16:21:42 2011, GRANTM wrote: Show quoted text
> > seems that something is wrong with BuildSAXBase.PL
> Short story: don't run that script and you'll be fine. > > The build-during-make is definitely not necessary. That's why I changed > the release process to do build-at-release instead. There is no > reference to BuildSAXBase.PL in the Makefile.PL so unless you run it > manually it would not be run.
hmm. sorry. no. the script was (and still is) run automatically when doing "perl Makefile.PL; make" at least when using perl 5.14.1 and ExtUtils::MakeMaker 6.59 well, at the moment, the build and the installation of the module throw ugly warnings but seem to work...
On Mon Sep 12 03:43:47 2011, hsk@fli-leibniz.de wrote: Show quoted text
> On Fri Sep 09 16:21:42 2011, GRANTM wrote:
> > > seems that something is wrong with BuildSAXBase.PL
> > Short story: don't run that script and you'll be fine. > > > > The build-during-make is definitely not necessary. That's why I changed > > the release process to do build-at-release instead. There is no > > reference to BuildSAXBase.PL in the Makefile.PL so unless you run it > > manually it would not be run.
> > hmm. sorry. no. the script was (and still is) run automatically when > doing "perl Makefile.PL; make" > > at least when using perl 5.14.1 and ExtUtils::MakeMaker 6.59 > > well, at the moment, the build and the installation of the module throw > ugly warnings but seem to work...
Perhaps you could attach a log of all the STDERR & STDOUT on your system of "perl Makefile.PL; make" from a clean unpack of the tar ball. It may be that MakeMaker assigns some special significance to file with the uppercase .PL extension. Regards Grant
From: hsk [...] fli-leibniz.de
On Mon Sep 12 16:56:22 2011, GRANTM wrote: Show quoted text
> On Mon Sep 12 03:43:47 2011, hsk@fli-leibniz.de wrote:
> > On Fri Sep 09 16:21:42 2011, GRANTM wrote:
> > > > seems that something is wrong with BuildSAXBase.PL
> > > Short story: don't run that script and you'll be fine. > > > > > > The build-during-make is definitely not necessary. That's why I
changed Show quoted text
> > > the release process to do build-at-release instead. There is no > > > reference to BuildSAXBase.PL in the Makefile.PL so unless you run it > > > manually it would not be run.
> > > > hmm. sorry. no. the script was (and still is) run automatically when > > doing "perl Makefile.PL; make" > > > > at least when using perl 5.14.1 and ExtUtils::MakeMaker 6.59 > > > > well, at the moment, the build and the installation of the module throw > > ugly warnings but seem to work...
> > Perhaps you could attach a log of all the STDERR & STDOUT on your system > of "perl Makefile.PL; make" from a clean unpack of the tar ball. > > It may be that MakeMaker assigns some special significance to file with > the uppercase .PL extension. > > Regards > Grant
screen shot attached
Subject: blah
Download blah
application/octet-stream 6.7k

Message body not shown because it is not plain text.

That build log confirmed the BuildSaxBase.PL script was being run but bailing out with a warning instead of needlessly overwriting the distributed file. Having now read the MakeMaker documentation, I understand that any file with a .PL extension will be run automatically by MakeMaker. The easiest solution seemed to be to rename BuildSaxBase.PL to BuildSaxBase.pl to avoid the magic invocation. Release 1.08 is on CPAN now and should fix the problem once and for all. Regards Grant