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$make0: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
