You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucy.apache.org by Marvin Humphrey <ma...@rectangular.com> on 2011/11/03 04:19:13 UTC

[lucy-dev] Module::Build sneakily configuring configure_requires

On Tue, Nov 01, 2011 at 10:15:09AM -0700, Chris Hostetter wrote:
> 2) "./Build dist" warned that "Module::Build" was not listed as a pre-req, 
> so it was being added automaticly...
> 
> --BEGIN--
> Creating META.yml
> Module::Build was not found in configure_requires! Adding it now
> automatically as: configure_requires => { 'Module::Build' => 0.36 }
> --END--

Version 0.36, eh? 

We currently list Module::Build in Build.PL under build_requires:

    build_requires => {
        'Module::Build'      => 0.280801,

Version 0.280801 is the version that shipped with Perl 5.10.0, when
Module::Build was added to the Perl core.  We don't want to require M::B
version 0.36 -- that's silly and unnecessary.

But maybe it's OK for M::B to add itself like that under configure_requires
because versions prior to 0.36 ignored configure_requires?  I'm speculating...

David Wheeler has agreed to perform the CPAN release for Lucy 0.2.2.  David,
can you please make sure that M::B doesn't force its minimum required version
to 0.36 when you run ./Build dist?

And then probably adding this line to Build.PL would be OK for both trunk and
our 0.2 branch (assuming that the 0.2 branch has a life beyond 0.2.2, which
may not be the case.)

    configure_requires => { 'Module::Build' => 0.280801 }

Marvin Humphrey


Re: [lucy-dev] Module::Build sneakily configuring configure_requires

Posted by "David E. Wheeler" <da...@kineticode.com>.
On Nov 7, 2011, at 9:52 AM, David E. Wheeler wrote:

>> trunk and 0.2
> 
> Done and uploaded to PAUSE. Should appear on a CPAN mirror near you shortly.

A few notes on the release:

• `./Build disttest` does not work. Seems that the dist target has been overridden to pre-compile stuff. Ideally, that work should be moved to another Build target and made a dependency of both the `dist` and `disttest` targets.

• Once I uploaded to PAUSE, I found that I did not have co-maint of Lucy::Test::TestCharmonizer. The release manager needs to have permission to release *all* classes in the distribution, or else the whole distribution will be marked as unofficial. Furthermore, if there are new classes in a release, the releaser will get ownership of those new modules. These will need to be transferred to all other release managers via PAUSE.

Marvin gave me permission to Lucy::Test::TestCharmonizer after upload, so CPAN should re-index it and make it an official release in the next day or so. So I think we're good for this release. But I recommend that `./Build disttest` be fixed, and that the number of class changes between releases be kept to a minimum. Private package namespaces can be hidden from the indexer by declaring them on two lines. The DBI does this, for example, in DBI.pm:

    {   package	# hide from PAUSE
            DBD::Switch::dr;
	# ...
    }

Best,

David


Re: [lucy-dev] Module::Build sneakily configuring configure_requires

Posted by "David E. Wheeler" <da...@kineticode.com>.
On Nov 3, 2011, at 10:04 AM, Peter Karman wrote:

>> Great. Is there a particular branch I should commit the change to?
>> 
> 
> trunk and 0.2

Done and uploaded to PAUSE. Should appear on a CPAN mirror near you shortly.

Best,

David

Re: [lucy-dev] Module::Build sneakily configuring configure_requires

Posted by Peter Karman <pe...@peknet.com>.
David E. Wheeler wrote on 11/3/11 12:03 PM:
> On Nov 3, 2011, at 10:02 AM, Peter Karman wrote:
> 
>>> Is it too late to make one of these changes? Has 0.2.2 been tagged and
>>> packaged up, yet?
>>
>> the VOTE thread is on the official release .tar.gz file. The CPAN version can
>> deviate from that official release at your discretion.
> 
> Great. Is there a particular branch I should commit the change to?
> 

trunk and 0.2


-- 
Peter Karman  .  http://peknet.com/  .  peter@peknet.com

Re: [lucy-dev] Module::Build sneakily configuring configure_requires

Posted by "David E. Wheeler" <da...@kineticode.com>.
On Nov 3, 2011, at 10:02 AM, Peter Karman wrote:

>> Is it too late to make one of these changes? Has 0.2.2 been tagged and
>> packaged up, yet?
> 
> the VOTE thread is on the official release .tar.gz file. The CPAN version can
> deviate from that official release at your discretion.

Great. Is there a particular branch I should commit the change to?

D

Re: [lucy-dev] Module::Build sneakily configuring configure_requires

Posted by Peter Karman <pe...@peknet.com>.
David E. Wheeler wrote on 11/3/11 11:54 AM:

> Well, I'll have to add that to the Build.PL in order to prevent Module::Build
> from inserting the latest version of itself. Or we can add
> `auto_configure_requires => 0`.
> 
> Is it too late to make one of these changes? Has 0.2.2 been tagged and
> packaged up, yet?

the VOTE thread is on the official release .tar.gz file. The CPAN version can
deviate from that official release at your discretion.



-- 
Peter Karman  .  http://peknet.com/  .  peter@peknet.com

Re: [lucy-dev] Module::Build sneakily configuring configure_requires

Posted by "David E. Wheeler" <da...@kineticode.com>.
On Nov 2, 2011, at 8:19 PM, Marvin Humphrey wrote:

> Version 0.36, eh? 
> 
> We currently list Module::Build in Build.PL under build_requires:
> 
>    build_requires => {
>        'Module::Build'      => 0.280801,
> 
> Version 0.280801 is the version that shipped with Perl 5.10.0, when
> Module::Build was added to the Perl core.  We don't want to require M::B
> version 0.36 -- that's silly and unnecessary.
> 
> But maybe it's OK for M::B to add itself like that under configure_requires
> because versions prior to 0.36 ignored configure_requires?  I'm speculating…

It was added in 0.2808_01. Module::Build just inserts its current version if you don't specify it.

> David Wheeler has agreed to perform the CPAN release for Lucy 0.2.2.  David,
> can you please make sure that M::B doesn't force its minimum required version
> to 0.36 when you run ./Build dist?
> 
> And then probably adding this line to Build.PL would be OK for both trunk and
> our 0.2 branch (assuming that the 0.2 branch has a life beyond 0.2.2, which
> may not be the case.)
> 
>    configure_requires => { 'Module::Build' => 0.280801 }

Well, I'll have to add that to the Build.PL in order to prevent Module::Build from inserting the latest version of itself. Or we can add `auto_configure_requires => 0`.

Is it too late to make one of these changes? Has 0.2.2 been tagged and packaged up, yet?

Best,

David