diff --git a/code/unix/setup/Solaris_pkg.sh b/code/unix/setup/Solaris_pkg.sh new file mode 100644 index 00000000..58cc6cd0 --- /dev/null +++ b/code/unix/setup/Solaris_pkg.sh @@ -0,0 +1,117 @@ +#!/bin/bash +# Solaris tuff +OSTYPE=SunOS +if [ "X`uname -m`" = "Xi386" ]; then + ARCH=i386 +else + ARCH=sparc +fi + +# Packages +PKG_SOLARIS_NAME=ioquake3 +PKG_DATA_NAME=ioquake3d +BUILD_DATE="`/usr/bin/date '+%Y%m%d%H%M%S'`" +BUILD_VERSION="1.34-rSVN" +PKG_VERSION="1" +PKG_MAINT_ID="quake@cojot.name" +SOLARIS_PKGFILE="${PKG_SOLARIS_NAME}-${BUILD_VERSION}-${PKG_VERSION}-${ARCH}.pkg" +DATA_PKGFILE="${PKG_DATA_NAME}-${BUILD_VERSION}-${PKG_VERSION}-${ARCH}.pkg" + +# Locations +MOUNT_DIR="../../.." +BUILD_DIR="${MOUNT_DIR}/build/release-${OSTYPE}-${ARCH}" +PKG_SRC_DIR="${MOUNT_DIR}/code/unix/setup/pkg/${PKG_SOLARIS_NAME}" +PKG_BUILD_DIR="/tmp/ioquake3-build/${PKG_SOLARIS_NAME}-${BUILD_VERSION}" +PKG_DATA_SRC_DIR="${MOUNT_DIR}/code/unix/setup/pkg/${PKG_DATA_NAME}" +PKG_DATA_BUILD_DIR="/usr/local/src/quake3-data/quake3" + +# Tools +RM="/usr/bin/rm" +TOUCH="/usr/bin/touch" +SED="/usr/bin/sed" +CAT="/usr/bin/cat" +NAWK="/usr/bin/nawk" +MKDIR="gmkdir -v -p" +INSTALL_BIN="ginstall -D -m 755" +INSTALL_DATA="ginstall -D -m 644" +PKGPROTO="/usr/bin/pkgproto" +PKGMK="/usr/bin/pkgmk" +PKGTRANS="/usr/bin/pkgtrans" + +############################################################################# +# SOLARIS PACKAGE +############################################################################# + +if [ -d ${BUILD_DIR} ]; then + if [ ! -d ${BUILD_DIR}/pkg ]; then + ${MKDIR} ${BUILD_DIR}/pkg + fi + echo "Building ${BUILD_DIR}/pkg/${SOLARIS_PKGFILE}" + ${RM} -f ${BUILD_DIR}/pkg/${SOLARIS_PKGFILE} + ${TOUCH} ${BUILD_DIR}/pkg/${SOLARIS_PKGFILE} + ${SED} -e "/VERSION=/s/.*/VERSION=${BUILD_VERSION}.${PKG_VERSION}/" \ + < ${PKG_SRC_DIR}/pkginfo.template \ + > ${PKG_SRC_DIR}/pkginfo + ${CAT} ${PKG_SRC_DIR}/prototype.template > ${PKG_SRC_DIR}/prototype + + ${INSTALL_DATA} ${MOUNT_DIR}/COPYING.txt ${PKG_SRC_DIR}/copyright + for EXEC_READ in README id-readme.txt + do + if [ -f ${MOUNT_DIR}/${EXEC_READ} ]; then + ${INSTALL_DATA} ${MOUNT_DIR}/${EXEC_READ} ${PKG_BUILD_DIR}/${EXEC_READ} + fi + done + + for EXEC_BIN in ioq3ded ioquake3-smp ioquake3 + do + if [ -f ${BUILD_DIR}/${EXEC_BIN}.${ARCH} ]; then + ${INSTALL_BIN} ${BUILD_DIR}/${EXEC_BIN}.${ARCH} ${PKG_BUILD_DIR}/${EXEC_BIN}.${ARCH} + fi + done + + for EXEC_SH in ioq3ded.sh ioquake3.sh + do + if [ -f ${MOUNT_DIR}/code/unix/setup/pkg/${EXEC_SH} ]; then + ${INSTALL_BIN} ${MOUNT_DIR}/code/unix/setup/pkg/${EXEC_SH} ${PKG_BUILD_DIR}/${EXEC_SH} + fi + done + + for EXEC_SO in cgamesparc.so qagamesparc.so uisparc.so + do + if [ -f ${BUILD_DIR}/baseq3/${EXEC_SO} ]; then + ${INSTALL_BIN} ${BUILD_DIR}/baseq3/${EXEC_SO} ${PKG_BUILD_DIR}/baseq3/${EXEC_SO} + fi + if [ -f ${BUILD_DIR}/missionpack/${EXEC_SO} ]; then + ${INSTALL_BIN} ${BUILD_DIR}/missionpack/${EXEC_SO} ${PKG_BUILD_DIR}/missionpack/${EXEC_SO} + fi + done + + ${PKGPROTO} ${PKG_BUILD_DIR}=quake3 | \ + ${NAWK} '{ print $1,$2,$3,$4 }' >> ${PKG_SRC_DIR}/prototype + ${PKGMK} -o -p "${PKG_MAINT_ID}${BUILD_DATE}" \ + -b ${PKG_SRC_DIR} -f ${PKG_SRC_DIR}/prototype \ + -d /tmp -a ${ARCH} owner=root group=bin mode=0755 + ${PKGTRANS} -s /tmp ${BUILD_DIR}/pkg/${SOLARIS_PKGFILE} ${PKG_SOLARIS_NAME} + + echo "Building ${BUILD_DIR}/pkg/${DATA_PKGFILE}" + ${RM} -f ${BUILD_DIR}/pkg/${DATA_PKGFILE} + ${TOUCH} ${BUILD_DIR}/pkg/${DATA_PKGFILE} + ${SED} -e "/VERSION=/s/.*/VERSION=${BUILD_VERSION}.${PKG_VERSION}/" \ + < ${PKG_DATA_SRC_DIR}/pkginfo.template \ + > ${PKG_DATA_SRC_DIR}/pkginfo + ${CAT} ${PKG_DATA_SRC_DIR}/prototype.template > ${PKG_DATA_SRC_DIR}/prototype + + ${INSTALL_DATA} ${MOUNT_DIR}/COPYING.txt ${PKG_DATA_SRC_DIR}/install/copyright + + ${PKGPROTO} ${PKG_DATA_BUILD_DIR}=quake3 | \ + ${NAWK} '{ print $1,$2,$3,$4 }' >> ${PKG_DATA_SRC_DIR}/prototype + ${PKGMK} -o -p "${PKG_MAINT_ID}${BUILD_DATE}" \ + -b ${PKG_DATA_SRC_DIR} -f ${PKG_DATA_SRC_DIR}/prototype \ + -d /tmp -a ${ARCH} owner=root group=bin mode=0755 + ${PKGTRANS} -s /tmp ${BUILD_DIR}/pkg/${DATA_PKGFILE} ${PKG_DATA_NAME} +else + echo "Directory ${BUILD_DIR} not found!" + exit 1 +fi + + diff --git a/code/unix/setup/pkg/ioq3ded.sh b/code/unix/setup/pkg/ioq3ded.sh new file mode 100644 index 00000000..5ed97422 --- /dev/null +++ b/code/unix/setup/pkg/ioq3ded.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# Rev: $Id: ioq3ded.sh,v 1.9 2006/01/18 13:47:42 raistlin Exp raistlin $ +# Needed to make symlinks/shortcuts work. +# the binaries must run with correct working directory +# + +IOQ3_DIR=/usr/local/share/games/quake3 + +COMPILE_PLATFORM=`uname|sed -e s/_.*//|tr A-Z a-z` +COMPILE_ARCH=`uname -p | sed -e s/i.86/i386/` + +EXEC_REL=release + +#EXEC_BIN=ioquake3.${COMPILE_ARCH} +#EXEC_BIN=ioquake3-smp.${COMPILE_ARCH} +EXEC_BIN=ioq3ded.${COMPILE_ARCH} + +EXEC_FLAGS="+set fs_cdpath ${IOQ3_DIR} +set vm_game 1 +set vm_cgame 1 +set vm_ui 1 +set sv_pure 1 +set ttycon 0" + +EXEC_DIR_LIST=${IOQ3_DIR} + +for d in ${EXEC_DIR_LIST} +do + if [ -d $d ]; then + EXEC_DIR=${d} + break + fi +done + +if [ "X${EXEC_DIR}" != "X" ]; then + if [ ! -x ${EXEC_DIR}/${EXEC_BIN} ]; then + echo "Executable ${EXEC_DIR}/${EXEC_BIN} not found!" ; exit 1 + fi + cd ${IOQ3_DIR} && \ + ${EXEC_DIR}/${EXEC_BIN} ${EXEC_FLAGS} $* + exit $? +else + echo "No ioq3 binaries found!" + exit 1 +fi + + diff --git a/code/unix/setup/pkg/ioquake3.sh b/code/unix/setup/pkg/ioquake3.sh new file mode 100644 index 00000000..495d9cd6 --- /dev/null +++ b/code/unix/setup/pkg/ioquake3.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Rev: $Id: ioquake3.sh,v 1.11 2006/01/18 13:47:42 raistlin Exp raistlin $ +# Needed to make symlinks/shortcuts work. +# the binaries must run with correct working directory + +IOQ3_DIR=/usr/local/share/games/quake3 + +COMPILE_PLATFORM=`uname|sed -e s/_.*//|tr A-Z a-z` +COMPILE_ARCH=`uname -p | sed -e s/i.86/i386/` + +EXEC_REL=release + +EXEC_BIN=ioquake3.${COMPILE_ARCH} +#EXEC_BIN=ioquake3-smp.${COMPILE_ARCH} +#EXEC_BIN=ioq3ded.${COMPILE_ARCH} + +EXEC_FLAGS="+set fs_cdpath ${IOQ3_DIR} +set vm_game 1 +set vm_cgame 1 +set vm_ui 1 +set sv_pure 1 +set ttycon 0" + +EXEC_DIR_LIST=${IOQ3_DIR} + +for d in ${EXEC_DIR_LIST} +do + if [ -d $d ]; then + EXEC_DIR=${d} + break + fi +done + +if [ "X${EXEC_DIR}" != "X" ]; then + if [ ! -x ${EXEC_DIR}/${EXEC_BIN} ]; then + echo "Executable ${EXEC_DIR}/${EXEC_BIN} not found!" ; exit 1 + fi + cd ${IOQ3_DIR} && \ + ${EXEC_DIR}/${EXEC_BIN} ${EXEC_FLAGS} $* + exit $? +else + echo "No ioq3 binaries found!" + exit 1 +fi + + diff --git a/code/unix/setup/pkg/ioquake3/depend b/code/unix/setup/pkg/ioquake3/depend new file mode 100644 index 00000000..11170caf --- /dev/null +++ b/code/unix/setup/pkg/ioquake3/depend @@ -0,0 +1,3 @@ +P SUNWxilrl XIL Runtime Environment +P SFWsdl SDL - Simple DirectMedia Layer library +P ioquake3d Icculus.Org Quake3 game data files for Solaris 10 (X11,GLX,SDL) diff --git a/code/unix/setup/pkg/ioquake3/pkginfo.template b/code/unix/setup/pkg/ioquake3/pkginfo.template new file mode 100644 index 00000000..15aaf8ff --- /dev/null +++ b/code/unix/setup/pkg/ioquake3/pkginfo.template @@ -0,0 +1,12 @@ +CLASSES=none +BASEDIR=/usr/local/share/games +TZ=PST +PATH=/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin +PKG=ioquake3 +NAME=Icculus.Org Quake3 1.34 for Solaris 10 (X11,GLX,SDL) +VERSION= +CATEGORY=application,graphics,opengl +DESC=Icculus.Org Quake3 1.34 for Solaris 10 (http://www.icculus.org/quake3) +VENDOR=http://www.icculus.org/quake3 +EMAIL=quake@cojot.name +PKGSAV=/var/sadm/pkg/ioquake3/save diff --git a/code/unix/setup/pkg/ioquake3/postinstall b/code/unix/setup/pkg/ioquake3/postinstall new file mode 100644 index 00000000..2775d5ee --- /dev/null +++ b/code/unix/setup/pkg/ioquake3/postinstall @@ -0,0 +1,21 @@ +#!/bin/sh +# +# @(#)postinstall $Id: postinstall,v 1.3 2006/01/21 12:54:52 coyote Exp $ +# +# postinstall script for quake3 + +quake3_dir=$BASEDIR/quake3 +dest_dir=${PKG_INSTALL_ROOT}/usr/local/bin + +if [ -d ${dest_dir} ]; then + for inst_script in ioq3ded.sh ioquake3.sh + do + dest_script=${dest_dir}/${inst_script} + if [ ! -h ${dest_script} ]; then + ln -s ${quake3_dir}/${inst_script} ${dest_script} + fi + done +fi + +exit 0 + diff --git a/code/unix/setup/pkg/ioquake3/postremove b/code/unix/setup/pkg/ioquake3/postremove new file mode 100644 index 00000000..37690f61 --- /dev/null +++ b/code/unix/setup/pkg/ioquake3/postremove @@ -0,0 +1,21 @@ +#!/bin/sh +# +# @(#)postremove $Id: postremove,v 1.3 2006/01/21 12:54:52 coyote Exp $ +# +# postremove script for quake3 + +quake3_dir=$BASEDIR +dest_dir=${PKG_INSTALL_ROOT}/usr/local/bin + +if [ -d ${dest_dir} ]; then + for inst_script in ioq3ded.sh ioquake3.sh + do + dest_script=${dest_dir}/${inst_script} + if [ -h ${dest_script} ]; then + rm -f ${dest_script} + fi + done +fi + +exit 0 + diff --git a/code/unix/setup/pkg/ioquake3/preinstall b/code/unix/setup/pkg/ioquake3/preinstall new file mode 100644 index 00000000..ad126a11 --- /dev/null +++ b/code/unix/setup/pkg/ioquake3/preinstall @@ -0,0 +1,10 @@ +#!/bin/sh +# +# @(#)postinstall $Id: preinstall,v 1.2 2006/01/25 13:22:56 coyote Exp $ +# +# postinstall script for quake3 + +quake3_dir=$BASEDIR + +exit 0 + diff --git a/code/unix/setup/pkg/ioquake3/preremove b/code/unix/setup/pkg/ioquake3/preremove new file mode 100644 index 00000000..3f316f3c --- /dev/null +++ b/code/unix/setup/pkg/ioquake3/preremove @@ -0,0 +1,10 @@ +#!/bin/sh +# +# @(#)postinstall $Id: preremove,v 1.2 2006/01/25 13:22:56 coyote Exp $ +# +# postinstall script for quake3 + +quake3_dir=$BASEDIR + +exit 0 + diff --git a/code/unix/setup/pkg/ioquake3/prototype.template b/code/unix/setup/pkg/ioquake3/prototype.template new file mode 100644 index 00000000..f23af773 --- /dev/null +++ b/code/unix/setup/pkg/ioquake3/prototype.template @@ -0,0 +1,8 @@ +!default 0755 root bin +i pkginfo +i copyright +i depend +i postinstall +i postremove +i preinstall +i preremove diff --git a/code/unix/setup/pkg/ioquake3/space b/code/unix/setup/pkg/ioquake3/space new file mode 100644 index 00000000..95b72949 --- /dev/null +++ b/code/unix/setup/pkg/ioquake3/space @@ -0,0 +1 @@ +/usr/local/share 20000 15 diff --git a/code/unix/setup/pkg/ioquake3d/depend b/code/unix/setup/pkg/ioquake3d/depend new file mode 100644 index 00000000..b55ff884 --- /dev/null +++ b/code/unix/setup/pkg/ioquake3d/depend @@ -0,0 +1,2 @@ +P SUNWxilrl XIL Runtime Environment +P SFWsdl SDL - Simple DirectMedia Layer library diff --git a/code/unix/setup/pkg/ioquake3d/pkginfo.template b/code/unix/setup/pkg/ioquake3d/pkginfo.template new file mode 100644 index 00000000..e651f10b --- /dev/null +++ b/code/unix/setup/pkg/ioquake3d/pkginfo.template @@ -0,0 +1,12 @@ +CLASSES=none +BASEDIR=/usr/local/share/games +TZ=PST +PATH=/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin +PKG=ioquake3d +NAME=Icculus.Org Quake3 game data files for Solaris 10 (X11,GLX,SDL) +VERSION= +CATEGORY=application,graphics,opengl +DESC=Icculus.Org Quake3 game data files for Solaris 10 (http://www.icculus.org/quake3) +VENDOR=http://www.icculus.org/quake3 +EMAIL=quake@cojot.name +PKGSAV=/var/sadm/pkg/ioquake3d/save diff --git a/code/unix/setup/pkg/ioquake3d/postinstall b/code/unix/setup/pkg/ioquake3d/postinstall new file mode 100644 index 00000000..f116fc3d --- /dev/null +++ b/code/unix/setup/pkg/ioquake3d/postinstall @@ -0,0 +1,10 @@ +#!/bin/sh +# +# @(#)postinstall $Id: postinstall,v 1.2 2006/01/25 13:22:56 coyote Exp $ +# +# postinstall script for quake3 + +quake3_dir=$BASEDIR + +exit 0 + diff --git a/code/unix/setup/pkg/ioquake3d/postremove b/code/unix/setup/pkg/ioquake3d/postremove new file mode 100644 index 00000000..7614348d --- /dev/null +++ b/code/unix/setup/pkg/ioquake3d/postremove @@ -0,0 +1,10 @@ +#!/bin/sh +# +# @(#)postinstall $Id: postremove,v 1.2 2006/01/25 13:22:56 coyote Exp $ +# +# postinstall script for quake3 + +quake3_dir=$BASEDIR + +exit 0 + diff --git a/code/unix/setup/pkg/ioquake3d/preinstall b/code/unix/setup/pkg/ioquake3d/preinstall new file mode 100644 index 00000000..ad126a11 --- /dev/null +++ b/code/unix/setup/pkg/ioquake3d/preinstall @@ -0,0 +1,10 @@ +#!/bin/sh +# +# @(#)postinstall $Id: preinstall,v 1.2 2006/01/25 13:22:56 coyote Exp $ +# +# postinstall script for quake3 + +quake3_dir=$BASEDIR + +exit 0 + diff --git a/code/unix/setup/pkg/ioquake3d/preremove b/code/unix/setup/pkg/ioquake3d/preremove new file mode 100644 index 00000000..3f316f3c --- /dev/null +++ b/code/unix/setup/pkg/ioquake3d/preremove @@ -0,0 +1,10 @@ +#!/bin/sh +# +# @(#)postinstall $Id: preremove,v 1.2 2006/01/25 13:22:56 coyote Exp $ +# +# postinstall script for quake3 + +quake3_dir=$BASEDIR + +exit 0 + diff --git a/code/unix/setup/pkg/ioquake3d/prototype.template b/code/unix/setup/pkg/ioquake3d/prototype.template new file mode 100644 index 00000000..f23af773 --- /dev/null +++ b/code/unix/setup/pkg/ioquake3d/prototype.template @@ -0,0 +1,8 @@ +!default 0755 root bin +i pkginfo +i copyright +i depend +i postinstall +i postremove +i preinstall +i preremove diff --git a/code/unix/setup/pkg/ioquake3d/space b/code/unix/setup/pkg/ioquake3d/space new file mode 100644 index 00000000..a8d224c3 --- /dev/null +++ b/code/unix/setup/pkg/ioquake3d/space @@ -0,0 +1 @@ +/usr/local/share 50000 100