[Bioperl-l] Nightly build archives now available

Sendu Bala bix at sendu.me.uk
Fri Mar 7 17:34:17 UTC 2008

Chris Fields wrote:
> 1)  I am running a 'svn co' on anon. svn for the various distros to a 
> temp directory.

Is it important that you do a fresh co every night? Why not do a co once 
   and then do a 'svn update' every night? This is the crux of the 
problems: if you choose to simply update, then you only have to get 
'perl Build.PL' to work once.

> If I attempt to change into the distribution directory and run 'perl Build.PL' from the 
> bash script, I immediately run into permissions issues and several odd 
> things:
> Checking prerequisites...
>  - ERROR: Bio::Root::Version is not installed
> (I think you ran Build.PL directly, so will use CPAN to install 
> prerequisites on demand)
> CPAN: Storable loaded ok
> Going to read /root/.cpan/Metadata
>   Database was generated on Tue, 05 Feb 2008 11:30:54 GMT
> Warning: You are not allowed to write into directory 
> "/root/.cpan/sources/authors".

I'm assuming this is on portal? The CPAN setup for users is a little 
broken. You need to create /home/yourusername/.cpan/CPAN/MyConfig.pm

$CPAN::Config->{cpan_home} = "/home/yourusername/.cpan/"

Then you can run and configure cpan correctly and install Bundle::CPAN. 
Some of the zlib stuff failed to install for me, but that doesn't seem 
to matter.

Of course, I guess it makes sense for root to just install all of 
Bioperl's prereqs anyway, so that testing can be automated in the future.

Anyway, once you have cpan happy 'perl Build.PL' will run fine. Answer 
'n' to everything and then your cron job just has to call './Build dist'.

> 2) I suspect, even if I worked around permissions and set up the job as 
> root or admin and worked out why it can't find 'Bio::Root::Version' 
> (?!?), this would still be a terrific pain in the *** to deal with as 
> the Build.PL process is expecting answers for each and every prompt, and 
> the process differs for each distribution.

You won't be running Build.PL in the cron job.

> passing flags to 'perl Build.PL' would be a nice way to work around 
> that.  For that I haven't heard a response, so I assume that 
> functionality isn't there (or am I assuming incorrectly?).

It isn't AFAIK, but my point is that it doesn't need to be (for this 
particular use-case at least).

> So, from where I stand, even if using Build.PL is the /proper/ way to do 
> it, it doesn't work as expected using an automated process (i.e. cron).  
> Make sense?

Only if you can't run 'svn update' instead of 'svn co' each night.

More information about the Bioperl-l mailing list