How to build a frozen release
Contents
Launch the base virtual machine
I've created base virtual machines for Fedora Core 4 and Fedora Core 5 that are pre-configured for a WormBase installation. This includes:
- suitable user accounts and directories
- MySQL
- AceDB
- support files such as Wu-BLAST
Note that some of these components may need to be upgraded for new freezes.
Create directories
For frozen releases, the entirety of the site will be built in a single self-containted directory. We will create this in /usr/local for easy portability (creating this in a home directory creates problems since that user will need to exist for any virtual machines). The following examples assume that the build system already has appropriate users and groups.
todd> mkdir /usr/local/ws[XXX].wormbase.org todd> chgrp wormbase ws[xxx].wormbase.org todd> chmod 2775 ws[xxx].wormbase.org
The acedb directory:
todd> cd /usr/local/ws[XXX].wormbase.org todd> mkdir acedb todd> chown acedb:acedb todd> chmod 2775 acedb
The extlib and subdirectories for our own libraries and binaries
todd> mkdir extlib src build; cd extlib todd> mkdir lib bin include man
Install Acedb
See the documentation under How to build a WormBase Mirror, adjusting paths and names as appropriate for the directory created above.
Build and install a local copy of Perl
This is probably redundant but I want to create a completely self-contained version of the site. Later, this can be handled by the virtual machine. Fetch the current stable source:
todd> cd /usr/local/ws[XXX].wormbase.org/src todd> wget http://www.perl.com/CPAN/src/stable.tar.gz todd> cd ../build ; tar xzf ../src/stable.tar.gz todd> cd perl-5.8.8 todd> rm -f config.sh Policy.sh todd> sh Configure
You can have Perl look in other directories for extensions and modules in addition to those already specified. We will manually specify @INC at server startup. When asked "Directories to use for library searches? [/usr/local/lib /lib /usr/lib]" enter
none
When asked: "Installation prefix to use? (~name ok) [/usr/local] " enter
/usr/local/ws[XXX].wormbase.org/extlib
Continue the rest of the configuration as usual.
todd> make todd> make test todd> make install
Configure CPAN
Configure CPAN
The first time you launch CPAN, you will be prompted to configure it. Specially, we need to configure CPAN to install modules in our special WormBase directory.
$ perl -MCPAN -e shell (note: we do NOT need to be a privileged user) cpan> o conf init (only necessary if not prompted)
For the Makefile.PL arguments, enter
PREFIX=/usr/local/wormbase/extlib INSTALLMAN1DIR=/usr/local/wormbase/extlib/man/man1 INSTALLMAN3DIR=/usr/local/wormbase/extlib/man/man3
TH - Note to self: It might be cleaner to just flatten this whole structure into a single directory using something like...
PREFIX=/usr/local/wormbase/extlib \ INSTALLPRIVLIB=... INSTALLSCRIPT=... INSTALLSITELIB=... INSTALLBIN=... INSTALLMAN1DIR=... INSTALLMAN3DIR=...
todd> sudo perl -MCPAN -e shell