[Bioperl-l] Misspellings in Bundle::BioPerl

Sendu Bala bix at sendu.me.uk
Mon Oct 23 05:41:52 EDT 2006


Nathan S. Haigh wrote:
> Sendu Bala wrote:
>
>> I don't really know how CPAN discovers dependencies and auto-installs
>> them before a dependent module though. Anyone care to explain?
> 
> I thought so! I misunderstood something earlier which confused me. Just
> to clarify for my own sanities sake:
> 
> 1) Currently all dependencies are optional.
> 2) All dependencies are in %packages
> 3) all these are passed to PREREQ_PM

All correct.


> As far as CPAN discovering dependencies, here is a snip from the CPAN FAQ's:
> --snip--
> 
>     I installed a Bundle and had a couple of fails. When I retried,
>     everything resolved nicely. Can this be fixed to work on first try?
> 
>     The reason for this is that CPAN does not know the dependencies of
>     all modules when it starts out. To decide about the additional items
>     to install, it just uses data found in the META.yml file or the
>     generated Makefile. An undetected missing piece breaks the process.
>     But it may well be that your Bundle installs some prerequisite later
>     than some depending item and thus your second try is able to resolve
>     everything. Please note, CPAN.pm does not know the dependency tree
>     in advance and cannot sort the queue of things to install in a
>     topologically correct order. It resolves perfectly well IF all
>     modules declare the prerequisites correctly with the PREREQ_PM
>     attribute to MakeMaker or the |requires| stanza of Module::Build.
>     For bundles which fail and you need to install often, it is
>     recommended to sort the Bundle definition file manually.
> 
> --snip--
>
> Therefore, recent modifications to Makefile.PL should result in a fully
> operational Bioperl installation, if installed via CPAN.

Right, thanks for that.


> Although only Bioperl 1.4 is available via CPAN currently. It is possible to upload a
> developer release to CPAN which can only be ownloaded via CPAN if
> specifically asked for - would be good for 1.5.x.:
> --snip--
> 
>     How do I install a "DEVELOPER RELEASE" of a module?
> 
>     By default, CPAN will install the latest non-developer release of a
>     module. If you want to install a dev release, you have to specify
>     the partial path starting with the author id to the tarball you wish
>     to install, like so:
> 
>         cpan> install KWILLIAMS/Module-Build-0.27_07.tar.gz
> 
>     Note that you can use the |ls| command to get this path listed.
> 
> --snip--

That's the user point of view - how does the developer actually tell 
CPAN that something is a developer release so that normal users don't 
automatically install it?


More information about the Bioperl-l mailing list