#!/bin/sh # # Heavily based on the Slackware 12.2 SlackBuild # Slackware build script for `Lost Labyrinth'. # URL: http://www.lostlabyrinth.com # Packager: Luigi "Reilly" Cozzolino set -e #### SECTION TARBALL ######## TARNAME="lostlabyrinth" TARVERSION="3.5.2" TARTYPE="tar.gz" TARBALL="${TARNAME}_$TARVERSION.$TARTYPE" SOURCEDIR="laby_$TARVERSION" #### END SECTION TARBALL #### #### SECTION PACKAGE ######## PKGNAM="lostlabyrinth" VERSION="$TARVERSION" ARCH=${ARCH:-i586} BUILD=1lc #### END SECTION PACKAGE #### CWD=$(pwd) TMP=${TMP:-$HOME/PKGS} PKG=$TMP/package-${PKGNAM} rm -rf $PKG mkdir -p $PKG cd $TMP rm -rf ${SOURCEDIR} clear sleep 1 echo ; echo ; echo echo "+===========================================================" echo -e "|\033[01;32m Building\033[00m \033[01;31m$TARBALL\033[00m" echo "+===========================================================" sleep 5 # Checking tarball type... [ "$TARTYPE" = "tar.gz" -o "$TARTYPE" = "tgz" ] && switch="xvzf" [ "$TARTYPE" = "tar.bz2" -o "$TARTYPE" = "tbz" ] && switch="xvjf" # and finally extract it: tar $switch $CWD/$TARBALL || exit 1 cd ${SOURCEDIR} # Make sure ownerships and permissions are sane: chown -R root:root . find . -perm 666 -exec chmod 644 {} \; find . -perm 664 -exec chmod 644 {} \; find . -perm 600 -exec chmod 644 {} \; find . -perm 444 -exec chmod 644 {} \; find . -perm 400 -exec chmod 644 {} \; find . -perm 440 -exec chmod 644 {} \; find . -perm 777 -exec chmod 755 {} \; find . -perm 775 -exec chmod 755 {} \; find . -perm 511 -exec chmod 755 {} \; find . -perm 711 -exec chmod 755 {} \; find . -perm 555 -exec chmod 755 {} \; # Define `datadir': DATADIR="usr/share/games/${PKGNAM}" # Prepare installation: mkdir -p $PKG/$DATADIR install -m 644 * $PKG/$DATADIR || exit 1 # Change perms: chmod 755 $PKG/$DATADIR/laby.exe || exit 1 # Add a shell script: mkdir -p $PKG/usr/games install -m 755 $CWD/${PKGNAM}.sh $PKG/usr/games || exit 1 # Add a symlink (** NOTE: this action is temporary **): ( cd $PKG/$DATADIR ln -s /usr/lib/libSDL_gfx.so libSDL_gfx.so.4 ) # Add a desktop file: mkdir -p $PKG/usr/share/applications cat > $PKG/usr/share/applications/${PKGNAM}.desktop << "EOF" [Desktop Entry] Encoding=UTF-8 Name=Lost Labyrinth GenericName=Rogue-like Game Exec=lostlabyrinth.sh Icon=/usr/share/games/lostlabyrinth/laby.xpm Terminal=false Type=Application Categories=Game; StartupNotify=false EOF mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG requiredbuilder -v -y -s $CWD $PKG /sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.tgz # Checksum `md5' file creation: ( cd $TMP ; md5sum ${PKGNAM}-$VERSION-$ARCH-$BUILD.tgz > ${PKGNAM}-$VERSION-$ARCH-$BUILD.md5 ) # Final touches: ( cd $TMP ; cat $PKG/install/slack-desc | grep "^${PKGNAM}:" > ${PKGNAM}-$VERSION-$ARCH-$BUILD.txt ) # Clean up the extra stuff: if [ "$1" = "--cleanup" -o "$1" = "-c" ]; then rm -rf $TMP/${SOURCEDIR} rm -rf $PKG fi