From 147dff6692ae7293f7e9057dd990388ed3125aec Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 25 Mar 2013 07:32:43 +1000 Subject: Added 64 bit Linux qemu build, and build parameters up the top. --- BuildReleases.sh | 192 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 126 insertions(+), 66 deletions(-) diff --git a/BuildReleases.sh b/BuildReleases.sh index 230a90b..5f85383 100755 --- a/BuildReleases.sh +++ b/BuildReleases.sh @@ -1,6 +1,17 @@ #!/bin/bash -PWD=$(pwd) +# These control which ones get built. +do_local=0 +do_linux64=1 +do_linux32=1 +do_windowsXP=0 +do_mac=0 + +# Where to find suitable disk images for the various OS's. +img_linux64=~/bin/ubuntu64_diff.qcow2 +img_linux32=~/bin/ubuntu32_diff.qcow2 +img_windowsXP=/media/sdb2/IMAGES/xp_diff.qcow2 + unique_port() { @@ -38,24 +49,9 @@ else 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 ../../../../.. +echo "Creating source tarball." +tar czf TARBALLS/impy-release-source_${date}.tar.gz SOURCE && FTP_PORT=$(unique_port) @@ -72,56 +68,120 @@ disown $(jobs -p) 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 +if [ $do_local -eq 1 ] +then + echo "Building local." && + 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 ../../../../.. +fi + + +if [ $do_linux64 -eq 1 ] +then + echo "Building in qemu, 64 bit linux." && + qemu-system-x86_64 -M pc -cpu phenom -m 1G -hda $img_linux64 -serial stdio <<- zzzzEOFzzzz + # + mkdir -p /home/builder && + cd /home/builder && + rm -fr BUILD && + rm -fr TARBALLS && + mkdir -p 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 && + cp -ar ../../libraries/x86_64-linux/include/ares ../../libraries/include # Hack around an odd problem. + ./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 +fi + -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 +if [ $do_linux32 -eq 1 ] +then + echo "Building in qemu, 32 bit linux." && + qemu-system-i386 -M pc -cpu athlon -m 1G -hda $img_linux32 -serial stdio <<- zzzzEOFzzzz + # + mkdir -p /home/builder && + cd /home/builder && + rm -fr BUILD && + rm -fr TARBALLS && + mkdir -p 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 +fi +if [ $do_windowsXP -eq 1 ] +then + echo "Building in qemu, Windows XP." + # A here document would be preferable, but "interact" won't work then. + expect -c " + set timeout -1 + set send_slow {1 .1} + spawn qemu-system-i386 -M pc -cpu athlon -m 2G -hda ${img_windowsXP} -serial stdio + match_max 100000 + strace 1 + 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 -- \"rm -fr TARBALLS\r\" + expect -exact \"\$ \"; sleep .1; send -s -- \"su - me -c 'mkdir -p 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 -- \"cd /home/me/BUILD/SOURCE\r\" + + interact quit return; sleep .1; send -s -- \"\r\" + expect -exact \"\$ \"; sleep .1; send -s -- \"shutdown -s now\r\" + expect eof" + echo '' + sleep 10 +fi + + +if [ $do_mac -eq 1 ] +then + echo "No Mac support yet, coz I need a real Mac for that." +fi -- cgit v1.1