FIXME:
Před vlastním překladem Ruby/DBI si přeložím knihovnu sqlite
$# Překlad sqlite z cvs. Version=2.7.5, date=2003-01-09
$cd $HOME/source
$mkdir sqlite-2.7.5-2003.01.09
$cd sqlite-2.7.5-2003.01.09
$cp -a $HOME/mirror/cvs/sqlite/* .
$find . -name CVS -exec rm -r {} \;
$cd $HOME/tmp
$mkdir sqlite-bld
$cd sqlite-bld
$mkdir $HOME/opt/sqlite-2.7.5-2003.01.09
$$HOME/source/sqlite-2.7.5-2003.01.09/configure --prefix=$HOME/opt/sqlite-2.7.5-2003.01.09
$make
0:13:39
Pro kompilaci Rubi/DBI jsem si připravil skript. Tento kompiluje podel zadání ze stažených zdrojů, nebo ze staženého cvs stromu.
Příklad 38.2. Kompilace Rubi/DBI
#!/bin/sh # $Id: compile-ruby-dbi,v 1.2 2003/01/05 19:30:00 radek Exp $ # Kompilace a instalace Rubi/DBI # Copyright (C) 2002 Radek Hnilica # All rights reserved. BINDIR=$HOME/bin RUBYDIR=$HOME/lib/ruby TMPDIR=$HOME/tmp CVSDIR=$HOME/mirror/ruby/ruby-dbi DOWNLOAD_DIR=$HOME/download/ruby/ruby-dbi COMPILE_DIR=$TMPDIR/ruby-dbi PKGS=dbi,dbd_sqlite,dbd_pg,dbd_mysql # Print script usage function usage() { cat - <<EOF usage: $0 [version|cvs] EOF exit 0 } # usage # Unpack source tarball of given version to $COMPILE_DIR/src # directory function unpack_source() { VERSION=$1 FILE=$DOWNLOAD_DIR/ruby-dbi-all-${VERSION}.tar.gz if [ -f $FILE ]; then cd $COMPILE_DIR tar xzvf $DOWNLOAD_DIR/ruby-dbi-all-${VERSION}.tar.gz mv ruby-dbi-all src else echo "Source tarball ${FILE} doesn't exist" exit 0 fi } #unpack_souce # Copy source from local CVS mirror to $COMPILE_DIR/src # directory. function copy_cvs() { cd $COMPILE_DIR cp -a $CVSDIR/src . find . -name 'CVS' -exec rm -r {} \; } #copy_cvs ### MAIN # FIXME: test number of arguments if wrong then do usage VERSION=$1 # Create temporary directory for compiling cd $TMPDIR # FIXME: if [ -d ruby-dbi ]; then rm -r ruby-dbi; fi rm -r ruby-dbi mkdir ruby-dbi cd ruby-dbi case $VERSION in cvs) copy_cvs;; [0-9]*) unpack_source $VERSION;; *) usage esac # Compile and install cd $COMPILE_DIR/src ruby setup.rb config --with=$PKGS --without=dbd_sybase \ --bin-dir=$BINDIR --rb-dir=$RUBYDIR --so-dir=$RUBYDIR ruby setup.rb setup ruby setup.rb install # Cleanup rm -r $COMPILE_DIR