[Bioperl-l] No more Makefile.PL (MakeMaker -> Module::Build)

Nathan S. Haigh n.haigh at sheffield.ac.uk
Thu Nov 16 08:37:33 EST 2006

Sendu Bala wrote:
> Nathan S. Haigh wrote:
>> Sorry, but i've been busy this last week etc so haven't be able to test
>> RC3 on WinXP yet - hopefully Chris' tests have been sufficient.
> No problem, thanks for all your testing effort!
>> Essentially a PPM dist comprises of the .tar.gz file you described (of
>> the blib dir) and then the XML file (.ppd) which describes the package
>> and it's dependencies.
> Is the .ppd ever included in the .tar.gz, or is it always separate?

Nope - always separate.

>> The syntax of the XML has changed for PPM4 (which
>> required me to do these changes by hand on the ppd that was previously
>> output by "make ppd".
> Is there a reference for the format anywhere?

Erm not really - that I know of. There is this thread which I use for

>> For PPM4 the XML in the ppd file can be copied
>> over to packages.xml file in our PPM repository. the codebase URL can be
>> relative/absolute and it's exact value depends on the relative position
>> of the XML (whether in the .ppd or package.xml file) and the .tar.gz
>> file. Thus, by default, they would have to reside in the same dir on our
>> server.
>> Without looking at the XML I couldn't say if it was PPM3 or PPM4
>> compatible. Could you e-mail me the ppd file and I'll take a look.
> It's pretty basic:
> <SOFTPKG NAME="bioperl" VERSION="1,005002003,0,0">
>     <TITLE>bioperl</TITLE>
>     <ABSTRACT>Bioinformatics Toolkit</ABSTRACT>
>     <AUTHOR>Bioperl Team &lt;bioperl-l at bioperl.org&gt;</AUTHOR>
>         <CODEBASE HREF="PPM-bioperl-1.005002003.tar.gz" />
> If I made it output the sort of information in the current
> http://bioperl.org/DIST/RC/package.xml, would that be fine? Did you
> have any kind of automation for creating that package.xml, or do you
> see a good potential way of automating it?

This PPD doesn't contain any info about what modules it provides
(ideally, it should have a provide tags for all modules in bioperl) or
the dependencies via the require tag.

I didn't have an automated way of making it. Previously, the output of
"make ppd" used PREREQ_PM from makefile.pl to create PPM3 dependency
tags for all modules in PREREQ_PM. I just modified the tags to REQUIRE
and added '::' to the end of modules that didn't natively have one. This
should all be detailed in the above in - here again for convenience:

There must be an automated way to generate the PPM4 compatible PPDs - I
think there is a way to generate one from the CPAN distribution. I think
this might be the way ActiveState does it?


More information about the Bioperl-l mailing list