#!/bin/sh # Slackware build script for sl. # This script builds the version of sl maintained by the Debian project. # Written by V'yacheslav Stetskevych PRGNAM=sl VERSION=${VERSION:-3.03} PATCHLEVEL=${PATCHLEVEL:-16} SRCVERSION=${SRCVERSION:-3.03.orig} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$( uname -m ) ;; esac fi CWD=$(pwd) TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP rm -rf $PRGNAM-$SRCVERSION tar xvf $CWD/${PRGNAM}_$SRCVERSION.tar.gz cd $PRGNAM-$SRCVERSION # Apply the debian patchset, which creates the "debian" directory echo "Applying debian patchset..." zcat $CWD/sl_$VERSION-$PATCHLEVEL.diff.gz | patch -p1 # Apply individual debian patches echo "Patching project files..." for file in debian/patches/*.dpatch; do patch -p1 < "$file" done chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ LDFLAGS="-lcurses" \ make # Manual installation follows... mkdir -p $PKG/usr/games # binaries cp -p sl sl-h $PKG/usr/games ( cd $PKG/usr/games; ln -s sl LS; ) mkdir -p $PKG/usr/man # man pages ( cd $PKG/usr/man mkdir -p man6 de/man6 de.UTF-8/man6 ja/man6 ja.UTF-8/man6 ) ( cd debian/man cp -p man6/* $PKG/usr/man/man6/ cp -p de/* $PKG/usr/man/de/man6/ cp -p de.UTF-8/* $PKG/usr/man/de.UTF-8/man6/ cp -p ja/* $PKG/usr/man/ja/man6/ cp -p ja.UTF-8/* $PKG/usr/man/ja.UTF-8/man6/ ) # End of manual installation find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true ( cd $PKG/usr/man find . -type f -exec gzip -9 {} \; ) mkdir -p $PKG/usr/doc/$PRGNAM-${VERSION}_$PATCHLEVEL cp -a debian/README* debian/changelog debian/copyright \ $PKG/usr/doc/$PRGNAM-${VERSION}_$PATCHLEVEL cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-${VERSION}_$PATCHLEVEL/$PRGNAM.SlackBuild mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG /sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-${VERSION}_$PATCHLEVEL-$ARCH-$BUILD$TAG.tgz