Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 59850
Status: open
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: MARKLE [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: 0.3607
Fixed in: (no value)



Subject: installdeps does not respect required versions
I specify an older library in requires. But `Build installdeps` always installs a newer version. Then Build says there's an error in prerequisites. Is there any way for `Build installdeps` to install the correct version?
Subject: Re: [rt.cpan.org #59850] installdeps does not respect required versions
Date: Fri, 30 Jul 2010 09:24:41 -0400
To: bug-Module-Build [...] rt.cpan.org
From: David Golden <dagolden [...] cpan.org>
On Thu, Jul 29, 2010 at 11:47 PM, Mark Hedges via RT <bug-Module-Build@rt.cpan.org> wrote: Show quoted text
> I specify an older library in requires.  But `Build installdeps` always > installs a newer version.  Then Build says there's an error in > prerequisites.  Is there any way for `Build installdeps` to install the > correct version?
Can you please email the output you're seeing? It's impossible to diagnose without more information. -- David
Subject: Re: [rt.cpan.org #59850] installdeps does not respect required versions
Date: Sun, 1 Aug 2010 11:50:16 -0700
To: bug-Module-Build [...] rt.cpan.org
From: Eric Wilhelm <enobacon [...] gmail.com>
# from Mark Hedges via RT # on Thursday 29 July 2010 20:47: Show quoted text
>I specify an older library in requires.  But `Build installdeps` > always installs a newer version.  Then Build says there's an error in > prerequisites.  Is there any way for `Build installdeps` to install > the correct version?
Hi Mark, The CPAN client will always try to install the latest release version of any requested module unless you specify an explicit tarball path (for older or alpha versions.) The prereq version specifiers in Build.PL have support for pegging or disallowing certain versions. However, I don't think installdeps is able to translate these into override arguments for the CPAN client (and further: I'm not sure if the CPAN client has a way to request module name + version rather than tarball path because this data is not available in the standard archive indexes.) In short, I think this would be a complicated feature to implement (at best) and may not even be possible without specifying more data than the prereq version (e.g. explicit tarball path) due to how the CPAN archive is structured. Then, there is the issue of passing arguments to whatever command was given as a '--cpan-client' option, which is currently just supposed to take a list of module names. You can probably override ACTION_installdeps and get a fairly simple solution for your case, but be aware that different CPAN clients might expect different arguments for tarball paths rather than module names. --Eric
On Sun Aug 01 14:50:29 2010, enobacon@gmail.com wrote: Show quoted text
> You can probably override ACTION_installdeps and get a fairly simple > solution for your case, but be aware that different CPAN clients might > expect different arguments for tarball paths rather than module names.
Yeah, I figured, I thought I'd throw it out there though because it seems kind of crazy that CPAN can't specify a version number. It works well enough to have installdeps error out for the time being, hopefully the bug in the new version of the dependency will be fixed or I will figure out how to adapt to the new one.
Le 2010-08-01 15:13:26, MARKLE a écrit : Show quoted text
> On Sun Aug 01 14:50:29 2010, enobacon@gmail.com wrote: >
> > You can probably override ACTION_installdeps and get a fairly simple > > solution for your case, but be aware that different CPAN clients might > > expect different arguments for tarball paths rather than module names.
This will not solve your problem, but here are some information about the CPAN client that may help you to build your own solution. For example with CPAN.pm you can say: cpan DOLMEN/POE-Component-Logger-1.10.tar.gz However, if the CPAN author has deleted the distibution from its PAUSE account, CPAN.pm will not fetch it from the BackPan. So if you rely on the presence of a particular version of a distribution on the CPAN you should alert their maintainer *before* the deletion so that they do not delete them. -- Olivier Mengué - http://search.cpan.org/~dolmen/ http://github.com/dolmen/