#!/bin/bash ##SlackBuild style build script CWD=`pwd` NAME=lapack VERSION=3.1.1 ARCH=i586 BUILD=1vl58 VL_PACKAGER=easuter if [ "$TMP" = "" ]; then TMP=/tmp fi if [ $UID != 0 ]; then echo "You need to be root to run this script." exit fi if [ ! -x /usr/bin/requiredbuilder ]; then echo "Requiredbuilder not installed, or not executable." exit fi if [ ! -d $TMP/finished-packages ]; then mkdir -p $TMP/finished-packages fi PKG=$TMP/package-$NAME rm -rf $PKG mkdir -p $PKG/usr mkdir $PKG/install if [ "$ARCH" = "i386" ]; then export CFLAGS="-O2 -march=i386 -mcpu=i686" elif [ "$ARCH" = "i486" ]; then export CFLAGS="-O2 -march=i486 -mtune=i686" elif [ "$ARCH" = "i586" ]; then export CFLAGS="-O2 -march=i586 -mtune=i686" elif [ "$ARCH" = "s390" ]; then export CFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then export CFLAGS="-O2" fi CXXFLAGS="$CFLAGS" cd $TMP rm -rf $NAME-$VERSION tar xvf $CWD/$NAME-$VERSION.tgz cd $NAME-$VERSION/SRC chown -R root:root . cp $CWD/gcc-g77_Makefile-patch.diff . patch -Np0 -i gcc-g77_Makefile-patch.diff make shared if ( ! make shared ); then echo "make failed" exit fi cd .. cp $CWD/slack-desc . cat >> slack-desc << EOF #---------------------------------------- BUILDDATE: `date` PACKAGER: $VL_PACKAGER HOST: `uname -srm` DISTRO: `cat /etc/vector-version` CFLAGS: $CFLAGS CONFIGURE: `awk "/\.\/configure\ /" config.log` EOF #manually install files mkdir -p $PKG/usr/lib mkdir -p $PKG/usr/man/man1 mkdir -p $PKG/usr/doc/$NAME-$VERSION/html mv SRC/liblapack.so.3.1.1 $PKG/usr/lib chmod 755 $PKG/usr/lib/liblapack.so.3.1.1 gzip -9 manpages/man/manl/* mv manpages/man/manl/*.gz $PKG/usr/man/man1/ mv html/* $PKG/usr/doc/$NAME-$VERSION/html/ ( cd $PKG/usr/lib ln -sf liblapack.so.3.1.1 liblapack.so.3 ln -sf liblapack.so.3.1.1 liblapack.so ) ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) mkdir -p $PKG/usr/doc/$NAME-$VERSION cp -a \ AUTHORS COPYING ChangeLog NEWS README TODO \ $PKG/usr/doc/$NAME-$VERSION cp slack-desc $PKG/install cd $PKG requiredbuilder -v -y . #prepend symlink info to a "custom" doinst.sh script cp $CWD/doinst.sh install/ makepkg -p -l y -c n $NAME-$VERSION-$ARCH-$BUILD.tlz cp $NAME-$VERSION-$ARCH-$BUILD.tlz $TMP/finished-packages echo "$NAME-$VERSION package is in $TMP/finished-packages" rm -rf $TMP/$NAME-$VERSION rm -rf $PKG