#!/bin/sh # Heavily based on the Slackware 13.1 SlackBuild # http://www.firebirdsql.org/ # Packager Andrea Sciucca ( gohanz at infinito.it) # http://www.slacky.eu # Many thanks to Artyom Smirnov # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: # # 1. Redistributions of this script must retain the above copyright # notice, this list of conditions and the following disclaimer. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO # EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # Required: icu, libfbclient CWD=`pwd` OUTPUT=${OUTPUT:-$CWD} PKGNAME=Firebird TMP=${TMP:-/tmp/txz/$PKGNAME} PKG=$TMP/package VERSION=2.1.3.18185 ARCH=${ARCH:-i486} BUILD=${BUILD:-1} TAG=${TAG:-sl} SOURCE=http://downloads.sourceforge.net/project/firebird/firebird/2.1.3-Release/$PKGNAME-$VERSION-0.tar.bz2 if [ ! -e $PKGNAME-$VERSION-0.tar.bz2 ]; then wget -c $SOURCE fi if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST="i486" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686"; SLKLDFLAGS=""; LIBDIRSUFFIX=""; CHOST="i686" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC"; SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"; CHOST="x86_64" fi rm -rf $PKG mkdir -p $TMP $PKG cd $TMP tar xvjf $CWD/$PKGNAME-$VERSION-0.tar.bz2 || exit 1 echo -e "\E[0;32m+---------------------------+\E[0;0m" echo -e "\E[0;32m| Start SlackBuild Firebird |\E[0;0m" echo -e "\E[0;32m+---------------------------+\E[0;0m" cd $PKGNAME-$VERSION-0 patch -p0 < $CWD/gcc-icu.diff || exit 1 chmod -R u+w,go+r-w,a-s . chown -R root:root . LDFLAGS="$SLKLDFLAGS" \ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure --prefix=/opt/firebird \ --with-system-icu make || exit 1 mkdir -p $PKG/opt/firebird mkdir -p $PKG/etc/{xinetd,profile}.d cp -R gen/firebird/* $PKG/opt/firebird install -m755 $CWD/firebird.sh $PKG/etc/profile.d install -m644 gen/install/misc/firebird.xinetd $PKG/etc/xinetd.d/firebird rm -rf $PKG/{lib,include,*.msg} # provided by libfbclient mv $PKG/opt/firebird/misc/firebird.conf $PKG/opt/firebird mv $PKG/opt/firebird/misc/fbintl.conf $PKG/opt/firebird/intl mv $PKG/opt/firebird/intl/{libfbintl.so,fbintl} rm -rf $PKG/opt/firebird/misc mv $PKG/opt/firebird/bin/{isql,fb_isql} # rename to avoid conflicts with unixodbc # fb_config must be provided by libfbclient # all scripts needed updating to Arch # static and boot binaries needed only during build rm $PKG/opt/firebird/bin/{*.sh,fb_config,*_static,*_boot,gpre_current,create_db,codes,build_file,blrtable} $PKG/opt/firebird/isc_{lock,init}* mkdir -p $PKG/usr/doc/$PKGNAME-$VERSION/SlackBuild cp -a \ ChangeLog \ $PKG/usr/doc/$PKGNAME-$VERSION chmod 644 $PKG/usr/doc/$PKGNAME-$VERSION/* ( 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 find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs strip -g 2> /dev/null ) mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/slack-desc > $PKG/usr/doc/$PKGNAME-$VERSION/SlackBuild/slack-desc cat $CWD/$PKGNAME.SlackBuild > $PKG/usr/doc/$PKGNAME-$VERSION/SlackBuild/$PKGNAME.SlackBuild cd $PKG chown -R root:root $PKG if [ -x "$(which requiredbuilder 2>/dev/null)" ];then requiredbuilder -y -v -s $CWD $PKG fi /sbin/makepkg -l y -c n $OUTPUT/firebird-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz} if [ "$1" = "--cleanup" ]; then rm -rf $TMP fi