#!/bin/sh
# Build and install MySQL on Slackware
# by:  David Cantrell <david@slackware.com>

CWD=`pwd`
TMP=/tmp
ARCH=i386
VERSION=3.23.39

cd $TMP
tar xvzf $CWD/mysql-$VERSION.tar.gz
cd mysql-$VERSION
./configure --prefix=/usr \
            --with-mysqld-user=mysql \
            --with-unix-socket-path=/var/run/mysql/mysql.sock \
            --localstatedir=/var/lib/mysql \
            --with-pthread \
            --enable-thread-safe-client \
            --enable-assembler \
            --with-raid \
            --with-libwrap \
            --without-bench \
            $ARCH-slackware-linux
make
make install
( cd support-files
  cp my-huge.cnf my-large.cnf my-medium.cnf my-small.cnf /etc )

# install docs
mkdir -p /usr/doc/mysql-$VERSION/Docs
cp -a COPYING* INSTALL-SOURCE MIRRORS README /usr/doc/mysql-$VERSION
( cd Docs
  cp -a INSTALL-BINARY *.html *.txt Flags Support \
     /usr/doc/mysql-$VERSION/Docs )
chown -R root.root /usr/doc/mysql-$VERSION

# this is the directory where databases are stored
mkdir -p /var/lib/mysql
chown mysql.mysql /var/lib/mysql
chmod 750 /var/lib/mysql

# this is where the socket is stored
mkdir -p /var/run/mysql
chown mysql.mysql /var/run/mysql
chmod 755 /var/run/mysql

# Do not include the test suite:
rm -r /usr/mysql-test

# Install script:
mkdir -p /install
cat $CWD/doinst.sh > /install/doinst.sh

# Add some handy library symlinks:
( cd /usr/lib
  rm -f libmysqlclient.so libmysqlclient.so.10 libmysqlclient_r.so libmysqlclient_r.so.10
  ln -sf mysql/libmysqlclient.so .
  ln -sf mysql/libmysqlclient.so.10 .
  ln -sf mysql/libmysqlclient_r.so .
  ln -sf mysql/libmysqlclient_r.so.10 . )

# done
echo
echo "Done!  Don't forget to pack up the empty /var/lib/mysql and /var/run/mysql directories!"
echo

if [ "$1" == "--cleanup" ]; then
   cd $TMP
   rm -rf mysql-$VERSION
fi
