#!/bin/bash # # Heavily based on the Slackware 13.0 SlackBuild # # UrbanTerror # http://www.urbanterror.net # # Packager: Luca Cireddu # luca@lucacireddu.it # http://www.lucacireddu.it # # Config variables: PKGNAME="urbanterror" VERSION="4.1" TAG="srd" BUILD="2" EXTENSION="tgz" # Looking for arch: case "$(arch)" in i?86) ARCH="i386" ;; x86_64) ARCH="x86_64" ;; esac # Name and dir vars: PKGNAME_REAL="UrbanTerror" VERSION_REAL="$(echo ${VERSION} | sed -e "s/\.//g")" SRC_OUTDIR="${PKGNAME_REAL}" # Download urls: BASE_URL="http://urt.hsogaming.com/mirror/currentversion/" SRC_FILENAME="${PKGNAME_REAL}_${VERSION_REAL}_FULL.zip" DN_URL="${BASE_URL}${SRC_FILENAME}" # 32bit Game-Server patched: SRV_BASE_URL="ftp://ftp.snt.utwente.nl/pub/games/urbanterror/iourbanterror/" SRV_SRC_FILENAME="ioUrTded.i386" SRV_DN_URL="${SRV_BASE_URL}${SRV_SRC_FILENAME}" # Standard destinations folders: BLD_PREFIX="/opt/${PKGNAME}" SYS_PREFIX="/usr" BLD_BINARIES="${SYS_PREFIX}/bin" BLD_DOCDIR="${SYS_PREFIX}/doc" BLD_DESKTOP="${SYS_PREFIX}/share/applications" BLD_ICONS="${SYS_PREFIX}/share/pixmaps" # Dirs variables: CWD="$(pwd)" TMP="/tmp/${EXTENSION}_build-${PKGNAME}" PKG="${TMP}/package" # Cleaning and/or creating build folders: rm -rf ${PKG} >> /dev/null 2>> /dev/null rm -rf ${TMP} >> /dev/null 2>> /dev/null mkdir -p ${PKG} mkdir -p ${TMP} # Untar the source archive; if [ ! -e "${CWD}/${SRC_FILENAME}" ]; then (cd ${CWD}; wget ${DN_URL} || exit 1) fi if [ ! -e "${CWD}/${SRV_SRC_FILENAME}" ]; then (cd ${CWD}; wget ${SRV_DN_URL} || exit 1; chmod 644 ${SRV_SRC_FILENAME}) fi cd ${TMP} unzip "${CWD}/${SRC_FILENAME}" || exit 1 cd ${TMP}/${SRC_OUTDIR} || exit 1 # Chown and Chmod its files: cd ${TMP}/${SRC_OUTDIR} || exit 1 chown -Rv root:root . find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \; # Copying files: mkdir -pv ${PKG}${BLD_PREFIX} || exit 1 mkdir -pv ${PKG}${BLD_DESKTOP} || exit 1 mkdir -pv ${PKG}${BLD_ICONS} || exit 1 mkdir -pv ${PKG}${BLD_DOCDIR}/${PKGNAME}-${VERSION} || exit 1 mkdir -pv ${PKG}${BLD_BINARIES} || exit 1 cp -Rv ${TMP}/${SRC_OUTDIR}/* ${PKG}${BLD_PREFIX} || exit 1 cd ${PKG}${BLD_PREFIX} || exit 1 rm -v ioUrTded.exe || exit 1 rm -v ioUrbanTerror.exe || exit 1 rm -Rv ioUrbanTerror.app || exit 1 rm -v ioUrTded.i386 || exit 1 cp -v ${CWD}/${SRV_SRC_FILENAME} ${PKG}${BLD_PREFIX}/${SRV_SRC_FILENAME} || exit 1 if [ "${ARCH}" = "i386" ]; then rm -v ioUrTded.x86_64 || exit 1 rm -v ioUrbanTerror.x86_64 || exit 1 chmod 755 ioUrTded.i386 -v || exit 1 chmod 755 ioUrbanTerror.i386 -v || exit 1 fi if [ "${ARCH}" = "x86_64" ]; then rm -v ioUrTded.i386 || exit 1 rm -v ioUrbanTerror.i386 || exit 1 chmod 755 ioUrTded.x86_64 -v || exit 1 chmod 755 ioUrbanTerror.x86_64 -v || exit 1 fi # Copying icon anc creating desktop file: cp ${CWD}/extras/ut.png ${PKG}${BLD_ICONS}/ut.png || exit 1 cat < ${PKG}${BLD_DESKTOP}/ut.desktop [Desktop Entry] Name=${PKGNAME_REAL} Comment="Free Multiplayer First Person Shooter developed by FrozenSand" Exec=${BLD_BINARIES}/ut Icon=${BLD_ICONS}/ut.png Terminal=false StartupNotify=false Type=Application Categories=Game;ArcadeGame; Encoding=UTF-8 EOD chmod 644 ${PKG}${BLD_DESKTOP}/ut.desktop # Restore CWD: cd ${TMP}/${SRC_OUTDIR} || exit 1 # Copying files into documents directory: cd ${TMP}/${SRC_OUTDIR} || exit 1 cp -v ./ioUrbanTerror_COPYING.txt ${PKG}${BLD_DOCDIR}/${PKGNAME}-${VERSION}/ || exit 1 cp -v ./ioUrbanTerror_Logitech_Game_Recognition.reg ${PKG}${BLD_DOCDIR}/${PKGNAME}-${VERSION}/ || exit 1 cp -v ./ioUrbanTerror_README.txt ${PKG}${BLD_DOCDIR}/${PKGNAME}-${VERSION}/ || exit 1 cp -v ./ioUrbanTerror_id-readme.txt ${PKG}${BLD_DOCDIR}/${PKGNAME}-${VERSION}/ || exit 1 cat ${CWD}/slack-desc > ${PKG}${BLD_DOCDIR}/${PKGNAME}-${VERSION}/slack-desc cat ${CWD}/${PKGNAME}.SlackBuild > ${PKG}${BLD_DOCDIR}/${PKGNAME}-${VERSION}/${PKGNAME}.SlackBuild # Make Slackware package info and doinst.sh: mkdir -p ${PKG}/install cat ${CWD}/slack-desc > ${PKG}/install/slack-desc echo "#!/bin/bash if [ -e ${BLD_BINARIES}/ut ]; then rm ${BLD_BINARIES}/ut fi if [ -e ${BLD_BINARIES}/utded ]; then rm ${BLD_BINARIES}/utded fi cat < ${BLD_BINARIES}/ut #!/bin/bash cd ${BLD_PREFIX} || exit 1 ./ioUrbanTerror.${ARCH} \"\${@}\" EOF cat < ${BLD_BINARIES}/utded #!/bin/bash cd ${BLD_PREFIX} || exit 1 ./ioUrTded.${ARCH} \"\${@}\" EOF chmod 755 ${BLD_BINARIES}/ut chmod 755 ${BLD_BINARIES}/utded echo \"run ut for the game, or utded for the server\" " > ${PKG}/install/doinst.sh # Creating slack-required: #requiredbuilder -v -y -s ${CWD} ${PKG} || exit 1 #cat ${PKG}/install/slack-required > ${PKG}${BLD_DOCDIR}/slack-required # Make package: cd ${PKG} chown root:root * -Rv makepkg -l y -c n ${CWD}/${PKGNAME}-${VERSION}-${ARCH}-${BUILD}${TAG}.${EXTENSION} # Creating some infos: ( cd ${CWD} md5sum ${PKGNAME}-${VERSION}-${ARCH}-${BUILD}${TAG}.${EXTENSION} > ${PKGNAME}-${VERSION}-${ARCH}-${BUILD}${TAG}.${EXTENSION}.md5 cat slack-desc > ${PKGNAME}-${VERSION}.txt ) # Removing files, if asked: case "${1}" in "--cleanup") rm -rf ${TMP} >> /dev/null 2>> /dev/null ;; esac