#!/bin/bash ##SlackBuild style build script CWD=`pwd` NAME=qt4 VERSION=4.3.2 ARCH=i586 BUILD=1vl59 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/qt-x11-opensource-src-$VERSION 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 qt-x11-opensource-src-$VERSION.tar.gz -C $TMP cd $SRCDIR chown -R root:root . #Hardcode postgresql path, ajusting LDFLAGS and CPPFLAGS doesn't do #the trick sed -i '/pg_config/s/pg_config/\/opt\/postgresql\/bin\/pg_config/g' \ configure ./configure -verbose \ -prefix /usr/lib/qt-$VERSION \ -largefile \ -plugin-sql-mysql \ -plugin-sql-psql \ -system-sqlite \ -plugin-sql-sqlite2 \ -qt-gif \ -qdbus \ -opengl \ -glib \ -release \ -shared make if ( ! make ); then echo "make failed" exit fi 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 #The makefile doesn't support a DESTDIR, but since the prefix #is a standalone location, a "make install" should do the trick make install mkdir -p $PKG/usr/lib mkdir -p $PKG/usr/share/pixmaps mkdir $PKG/usr/share/applications mv /usr/lib/qt-$VERSION $PKG/usr/lib cp $CWD/pixmaps/*.png $PKG/usr/share/pixmaps cp $CWD/menu_entries/*.desktop $PKG/usr/share/applications ( 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 \ README LICENSE.GPL LICENSE.QPL OPENSOURCE-NOTICE.TXT changes-$VERSION \ GPL_EXCEPTION.TXT GPL_EXCEPTION_ADDENDUM.TXT \ $PKG/usr/doc/$NAME-$VERSION cp slack-desc $PKG/install cd $PKG cat $CWD/slack-required > install/slack-required cat $CWD/slack-suggests > install/slack-suggests cat $CWD/doinst.sh > install/doinst.sh 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 $SRCDIR rm -rf $PKG .