From 2a7ac582089692def6627bf6bedb8443917bcfbc Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 20 Aug 2012 06:10:20 +1000 Subject: Initial commit of the half finished script. --- BuildReleases.sh | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100755 BuildReleases.sh diff --git a/BuildReleases.sh b/BuildReleases.sh new file mode 100755 index 0000000..230a90b --- /dev/null +++ b/BuildReleases.sh @@ -0,0 +1,127 @@ +#!/bin/bash + +PWD=$(pwd) + +unique_port() +{ + # Try to find an unused port number for each running instance of the program. + + START=8192 + RANGE=$[$(awk '{print $1}' /proc/sys/net/ipv4/ip_local_port_range)-$START] + if [ $RANGE -lt 8 ] + then + START=$[$(awk '{print $2}' /proc/sys/net/ipv4/ip_local_port_range)] + RANGE=$[65535-$START] + if [ $RANGE -lt 8 ] + then + START=16384 + RANGE=32768 + fi + fi + echo $[($$%$RANGE)+$START] +} + + +rm -rf TARBALLS +mkdir TARBALLS +date=$(date '+%H_%d-%m-%Y') + + +if [ -d SOURCE ]; then + echo "Updating source." + cd SOURCE && + git pull && + cd .. || exit 0 +else + echo "Downloading source." + mkdir SOURCE && + git clone git://github.com/imprudence/imprudence.git SOURCE || exit 0 +fi + +echo "Creating source tarball." +tar czf TARBALLS/impy-release-source_${date}.tar.gz --exclude-vcs SOURCE && + + +echo "Building locally, assuming 64 bit, linux." && +rm -fr BUILD && +mkdir BUILD && +tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD && +cd BUILD/SOURCE && +cd linden/scripts/linux && +./0-patch-SL-source && +./1-get-libraries-from-SL && +./2-trim-libraries-from-SL && +./3-compile-SL-source && +./4-package-viewer && +cd ../../indra/viewer-linux-* && +cp Imprudence-* ../../../../../TARBALLS +cd ../../../../.. + + +FTP_PORT=$(unique_port) +echo "=== launching FTP daemon on port $FTP_PORT" +# Fire off an ftp daemon, making sure it's killed when this script exits. +# (We use the busybox version because no two ftp daemons have quite the same +# command line arguments, and this one's a known quantity.) + +# Busybox needs -s 127.0.0.1 support here +./busybox nc -p $FTP_PORT -lle ./busybox ftpd -w TARBALLS & +trap "kill $(jobs -p)" EXIT +disown $(jobs -p) +# QEMU's alias for host loopback +FTP_SERVER=10.0.2.2 + + +echo "Building in qemu, assuming 32 bit, linux." && +# Relies on the guest having this in /etc/init/ttyS0.conf - +#start on stopped rc RUNLEVEL=[2345] +#stop on runlevel [!2345] +#respawn +#exec /sbin/getty -iLn -l /bin/bash 115200 ttyS0 vt102 + +qemu -M pc -cpu athlon -hda ~/bin/ubuntu32_diff.qcow2 -m 1G -serial stdio << zzzzEOFzzzz + # +cd /home/builder && +rm -fr BUILD && +mkdir BUILD && +mkdir -p TARBALLS && +sleep 2 && +busybox ftpget ${FTP_SERVER} -vP ${FTP_PORT} TARBALLS/impy-release-source_${date}.tar.gz impy-release-source_${date}.tar.gz && +tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD && +cd BUILD/SOURCE && +cd linden/scripts/linux && +./0-patch-SL-source && +./1-get-libraries-from-SL && +./2-trim-libraries-from-SL && +./3-compile-SL-source && +./4-package-viewer && +cd ../../indra/viewer-linux-* && +cp Imprudence-* ../../../../../TARBALLS && +cd /home/builder/TARBALLS && +find . -name Imprudence-* -type f -exec busybox ftpput ${FTP_SERVER} -vP ${FTP_PORT} '{}' '{}' \; + +shutdown -h now +zzzzEOFzzzz + +sleep 10 + +echo "Building in qemu, Windows XP." +expect -c "set date ${date}" -c "set FTP_SERVER ${FTP_SERVER}" -c "set FTP_PORT ${FTP_PORT}" - << "zzzzEOFzzzz" +set timeout -1 +set send_slow {1 .1} +spawn qemu -M pc -cpu athlon -m 2G -hda /media/sdb2/IMAGES/xp_diff.qcow2 -cdrom /home/dvs1/Downloads/lose/winxphomex86.iso -serial stdio +match_max 100000 +expect -exact "\$ "; sleep .1; send -s -- "cd /home/me\r" +expect -exact "\$ "; sleep .1; send -s -- "rm -fr BUILD\r" +expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'mkdir BUILD'\r" +expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'mkdir -p TARBALLS'\r" +expect -exact "\$ "; sleep 2; send -s -- "lftp -c 'open -p $FTP_PORT $FTP_SERVER && lcd TARBALLS && get1 impy-release-source_$date.tar.gz'\r" +expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'tar xzf TARBALLS/impy-release-source_$date.tar.gz -C BUILD'\r" +expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'ls -la BUILD'\r" +expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'ls -la TARBALLS'\r" + +expect -exact "\$ "; sleep .1; send -s -- "shutdown -s now\r" +expect eof +zzzzEOFzzzz + + -- cgit v1.1