#!/usr/bin/bash # This script assumes it will be launched within "/NAME/VERSION/src" dir. # With all sources in "src" Your Vector Linux .tlz package, slack-desc, # and slack-required will be found in "VERSION" dir. The extraction and # build will be in a temp dir created in "NAME" dir, and then removed on exit. # Comment out second to last line to keep this dir intact. NAME="AlephOne-M1A1" #Enter package Name! VERSION=${VERSION:-"1.0"} #Enter package Version! VL_PACKAGER=${VL_PACKAGER:-"YOURNAME"} #Enter your Name! #SYSTEM VARIABLES #---------------------------------------------------------------------------- BUILDNUM=${BUILDNUM:-"1"} VL_VERSION=${VL_VERSION:-"$(ls /var/log/packages/|grep vlconfig2|cut -d "-" -f4|cut -c 2-5)"} BUILD=${BUILD:-"$BUILDNUM""$VL_VERSION"} #---------------------------------------------------------------------------- #SETUP PACKAGING ENVIRONMENT #-------------------------------------------- CWD=$(pwd) cd ../ RELEASEDIR=$(pwd) cd $CWD mkdir -p $RELEASEDIR/tmp TMP=$RELEASEDIR/tmp PKG=$TMP/package-$NAME #-------------------------------------------- if [ $UID != 0 ]; then echo "You are not authorized to run this script. Please login as root" exit 1 fi if [ $VL_PACKAGER = "YOURNAME" ]; then echo 'Who are you? Please edit VL_PACKAGER=${VL_PACKAGER:-YOURNAME} in this script. Change the word "YOURNAME" to your VectorLinux packager name. You may also export VL_PACKAGER, or call this script with VL_PACKAGER="YOUR NAME HERE"' exit 1 fi #-------------------------------------------- rm -rf $PKG mkdir -p $PKG cd $TMP rm -rf $NAME-$VERSION #EXTRACT SOURCES #----------------------------------------------------- echo "Extracting source..." tar xvf $CWD/$NAME-$VERSION.tar.* || exit 1 #----------------------------------------------------- cd $TMP/$NAME-$VERSION #SET PERMISSIONS #----------------------------------------- echo "Setting permissions..." chown -R root:root . find . -perm 664 -exec chmod 644 {} \; find . -perm 777 -exec chmod 755 {} \; find . -perm 2777 -exec chmod 755 {} \; find . -perm 775 -exec chmod 755 {} \; find . -perm 2755 -exec chmod 755 {} \; find . -perm 774 -exec chmod 644 {} \; find . -perm 666 -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 511 -exec chmod 755 {} \; find . -perm 711 -exec chmod 755 {} \; find . -perm 555 -exec chmod 755 {} \; #----------------------------------------- rm alephone-m1a1 mkdir -p $PKG/usr/share/AlephOne/$NAME-$VERSION cp -R . $PKG/usr/share/AlephOne/$NAME-$VERSION/ mkdir $PKG/usr/bin echo '#! /bin/sh export ALEPHONE_DATA=/usr/share/AlephOne:/usr/share/AlephOne/'"$NAME-$VERSION"' /usr/bin/alephone $*' > $PKG/usr/bin/alephone-m1a1 chmod +x $PKG/usr/bin/alephone-m1a1 ####################################################################### #Miscellenious tweaks and things outside a normal ./configure go here # ####################################################################### mkdir -p $PKG/usr/share/applications cat > $PKG/usr/share/applications/$NAME.desktop << EOF [Desktop Entry] Type=Application Version=1.0 Encoding=UTF-8 Name=AlephOne - M1A1 Comment=AlephOne - M1A1 Icon=AlephOne.png Exec=/usr/bin/alephone-m1a1 Terminal=false StartupNotify=false Categories=Application;Game;ActionGame EOF mkdir -p $PKG/usr/doc/$NAME-$VERSION mv $PKG/usr/share/AlephOne/$NAME-$VERSION/{Marathon_Manual.pdf,ReadMe_M1A1_SDL.html} \ $PKG/usr/doc/$NAME-$VERSION/ cat $CWD/$NAME.SlackBuild > $PKG/usr/doc/$NAME-$VERSION/$NAME.SlackBuild #---------------------------------------------------------------------- mkdir -p $PKG/install # This creates the white space in front of "handy-ruler" in slack-desc below. LENGTH=$(expr length "$NAME") SPACES=0 SHIM="" until [ "$SPACES" = "$LENGTH" ]; do SHIM="$SHIM " let SPACES=$SPACES+1 done # Fill in the package summary between the () below. # Then package the description, License, Author and Website. # There may be no more then 11 $NAME: lines in a valid slack-desc. cat > $RELEASEDIR/slack-desc << EOF # HOW TO EDIT THIS FILE: # The "handy ruler" below makes it easier to edit a package description. Line # up the first '|' above the ':' following the base package name, and the '|' # on the right side marks the last column you can put a character in. You must # make exactly 11 lines for the formatting to be correct. It's also # customary to leave one space after the ':'. $SHIM|-----handy-ruler------------------------------------------------------| $NAME: $NAME (Marathon M1A1 files for AlephOne) $NAME: $NAME: Aleph One is an Open Source 3D first-person shooter game, based on $NAME: game Marathon 2 by Bungie Software. It is set in a Sci-Fi universe $NAME: dominated by deviant computer AIs. Supports, but doesnt require $NAME: OpenGL for rendering. $NAME: This package contains the Marathon M1A1 files for AlephOne. $NAME: $NAME: License: copyright 1994-present Bungie Studios, all rights reserved. $NAME: Authors: Bungie Studios $NAME: Website: http://alephone.cebix.net #---------------------------------------- BUILDDATE: $(date) PACKAGER: $VL_PACKAGER HOST: $(uname -srm) DISTRO: $(cat /etc/vector-version) CFLAGS: $CFLAGS LDFLAGS: $LDFLAGS EOF cat $RELEASEDIR/slack-desc > $PKG/install/slack-desc #STRIPPING #------------------------------------------------------------------------------------------------------------------ cd $PKG echo " " echo "Stripping...." echo " " 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 #------------------------------------------------------------------------------------------------------------------ #FINISH PACKAGE #-------------------------------------------------------------- echo "Finding dependencies..." ADD="AlephOne >= 20080404-i586-1vl59" \ requiredbuilder -v -y -s $RELEASEDIR $PKG echo "Creating package $NAME-$VERSION-noarch-$BUILD.tlz" makepkg -l y -c n $RELEASEDIR/$NAME-$VERSION-noarch-$BUILD.tlz cd $CWD echo "Cleaning up temp files..." && rm -rf $TMP echo "Package Complete" #--------------------------------------------------------------