How to build a frozen release
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
- support files such as Wu-BLAST
Note that some of these components may need to be upgraded for new freezes.
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
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
When asked: "Installation prefix to use? (~name ok) [/usr/local] " enter
Continue the rest of the configuration as usual.
todd> make todd> make test todd> make install
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