#!/bin/bash ##SlackBuild style build script CWD=`pwd` NAME=iTest VERSION=1.3.0 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 SRCDIR=$TMP/$NAME-$VERSION-src rm -rf $PKG rm -rf $SRCDIR 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" elif [ "$ARCH" = "noarch" ]; then export CFLAGS="" fi CXXFLAGS="$CFLAGS" tar xvf $NAME-$VERSION-src.tar.gz -C $TMP cd $SRCDIR chown -R root:root . chmod 644 -R ./* #Configure the client and server components ( cd iTestClient qmake4 -config release lrelease4 iTestClient.pro ) ( cd iTestServer qmake4 -config release lrelease4 iTestServer.pro ) qmake4 -config release make if ( ! make ); then echo "make failed" exit fi cp $CWD/slack-desc* . cat >> slack-desc-client << EOF #---------------------------------------- BUILDDATE: `date` PACKAGER: $VL_PACKAGER HOST: `uname -srm` DISTRO: `cat /etc/vector-version` CFLAGS: $CFLAGS CONFIGURE: `awk "/\.\/configure\ /" config.log` EOF cat >> slack-desc-server << EOF #---------------------------------------- BUILDDATE: `date` PACKAGER: $VL_PACKAGER HOST: `uname -srm` DISTRO: `cat /etc/vector-version` CFLAGS: $CFLAGS CONFIGURE: `awk "/\.\/configure\ /" config.log` EOF #install components and files manually mkdir -p $PKG/server/usr/bin mkdir -p $PKG/server/usr/share/applications mkdir $PKG/server/usr/share/pixmaps mkdir $PKG/server/install cp itestwri.png $PKG/server/usr/share/pixmaps cp bin/iTestServer $PKG/server/usr/bin cat $CWD/iTestServer.desktop > \ $PKG/server/usr/share/applications/iTestServer.desktop mkdir -p $PKG/client/usr/bin mkdir -p $PKG/client/usr/share/applications mkdir $PKG/client/usr/share/pixmaps mkdir $PKG/client/install cp itest.png $PKG/client/usr/share/pixmaps cp bin/iTestClient $PKG/client/usr/bin cat $CWD/iTestClient.desktop > \ $PKG/client/usr/share/applications/iTestClient.desktop ( 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/server/usr/doc/$NAME-$VERSION mkdir -p $PKG/client/usr/doc/$NAME-$VERSION cp gpl.txt readme.txt $PKG/server/usr/doc/$NAME-$VERSION cp gpl.txt readme.txt $PKG/client/usr/doc/$NAME-$VERSION cat slack-desc-server > $PKG/server/install/slack-desc cat slack-desc-client > $PKG/client/install/slack-desc ( cd $PKG/server requiredbuilder -v -y . makepkg -p -l y -c n ${NAME}Server-$VERSION-$ARCH-$BUILD.tlz cp ${NAME}Server-$VERSION-$ARCH-$BUILD.tlz $TMP/finished-packages echo "${NAME}Server-$VERSION package is in $TMP/finished-packages" ) ( cd $PKG/client requiredbuilder -v -y . makepkg -p -l y -c n ${NAME}Client-$VERSION-$ARCH-$BUILD.tlz cp ${NAME}Client-$VERSION-$ARCH-$BUILD.tlz $TMP/finished-packages echo "${NAME}Client-$VERSION package is in $TMP/finished-packages" ) rm -rf $SRCDIR rm -rf $PKG