aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-08-20 06:10:20 +1000
committerDavid Walter Seikel2012-08-20 06:10:20 +1000
commit2a7ac582089692def6627bf6bedb8443917bcfbc (patch)
tree289828f7eb94ce0032fdbb42a11dd39ccb8569c6
parentInitial commit (diff)
downloadImpyReleaseBuilder-2a7ac582089692def6627bf6bedb8443917bcfbc.zip
ImpyReleaseBuilder-2a7ac582089692def6627bf6bedb8443917bcfbc.tar.gz
ImpyReleaseBuilder-2a7ac582089692def6627bf6bedb8443917bcfbc.tar.bz2
ImpyReleaseBuilder-2a7ac582089692def6627bf6bedb8443917bcfbc.tar.xz
Initial commit of the half finished script.
-rwxr-xr-xBuildReleases.sh127
1 files changed, 127 insertions, 0 deletions
diff --git a/BuildReleases.sh b/BuildReleases.sh
new file mode 100755
index 0000000..230a90b
--- /dev/null
+++ b/BuildReleases.sh
@@ -0,0 +1,127 @@
1#!/bin/bash
2
3PWD=$(pwd)
4
5unique_port()
6{
7 # Try to find an unused port number for each running instance of the program.
8
9 START=8192
10 RANGE=$[$(awk '{print $1}' /proc/sys/net/ipv4/ip_local_port_range)-$START]
11 if [ $RANGE -lt 8 ]
12 then
13 START=$[$(awk '{print $2}' /proc/sys/net/ipv4/ip_local_port_range)]
14 RANGE=$[65535-$START]
15 if [ $RANGE -lt 8 ]
16 then
17 START=16384
18 RANGE=32768
19 fi
20 fi
21 echo $[($$%$RANGE)+$START]
22}
23
24
25rm -rf TARBALLS
26mkdir TARBALLS
27date=$(date '+%H_%d-%m-%Y')
28
29
30if [ -d SOURCE ]; then
31 echo "Updating source."
32 cd SOURCE &&
33 git pull &&
34 cd .. || exit 0
35else
36 echo "Downloading source."
37 mkdir SOURCE &&
38 git clone git://github.com/imprudence/imprudence.git SOURCE || exit 0
39fi
40
41echo "Creating source tarball."
42tar czf TARBALLS/impy-release-source_${date}.tar.gz --exclude-vcs SOURCE &&
43
44
45echo "Building locally, assuming 64 bit, linux." &&
46rm -fr BUILD &&
47mkdir BUILD &&
48tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD &&
49cd BUILD/SOURCE &&
50cd linden/scripts/linux &&
51./0-patch-SL-source &&
52./1-get-libraries-from-SL &&
53./2-trim-libraries-from-SL &&
54./3-compile-SL-source &&
55./4-package-viewer &&
56cd ../../indra/viewer-linux-* &&
57cp Imprudence-* ../../../../../TARBALLS
58cd ../../../../..
59
60
61FTP_PORT=$(unique_port)
62echo "=== launching FTP daemon on port $FTP_PORT"
63# Fire off an ftp daemon, making sure it's killed when this script exits.
64# (We use the busybox version because no two ftp daemons have quite the same
65# command line arguments, and this one's a known quantity.)
66
67# Busybox needs -s 127.0.0.1 support here
68./busybox nc -p $FTP_PORT -lle ./busybox ftpd -w TARBALLS &
69trap "kill $(jobs -p)" EXIT
70disown $(jobs -p)
71# QEMU's alias for host loopback
72FTP_SERVER=10.0.2.2
73
74
75echo "Building in qemu, assuming 32 bit, linux." &&
76# Relies on the guest having this in /etc/init/ttyS0.conf -
77#start on stopped rc RUNLEVEL=[2345]
78#stop on runlevel [!2345]
79#respawn
80#exec /sbin/getty -iLn -l /bin/bash 115200 ttyS0 vt102
81
82qemu -M pc -cpu athlon -hda ~/bin/ubuntu32_diff.qcow2 -m 1G -serial stdio << zzzzEOFzzzz
83 #
84cd /home/builder &&
85rm -fr BUILD &&
86mkdir BUILD &&
87mkdir -p TARBALLS &&
88sleep 2 &&
89busybox ftpget ${FTP_SERVER} -vP ${FTP_PORT} TARBALLS/impy-release-source_${date}.tar.gz impy-release-source_${date}.tar.gz &&
90tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD &&
91cd BUILD/SOURCE &&
92cd linden/scripts/linux &&
93./0-patch-SL-source &&
94./1-get-libraries-from-SL &&
95./2-trim-libraries-from-SL &&
96./3-compile-SL-source &&
97./4-package-viewer &&
98cd ../../indra/viewer-linux-* &&
99cp Imprudence-* ../../../../../TARBALLS &&
100cd /home/builder/TARBALLS &&
101find . -name Imprudence-* -type f -exec busybox ftpput ${FTP_SERVER} -vP ${FTP_PORT} '{}' '{}' \;
102
103shutdown -h now
104zzzzEOFzzzz
105
106sleep 10
107
108echo "Building in qemu, Windows XP."
109expect -c "set date ${date}" -c "set FTP_SERVER ${FTP_SERVER}" -c "set FTP_PORT ${FTP_PORT}" - << "zzzzEOFzzzz"
110set timeout -1
111set send_slow {1 .1}
112spawn qemu -M pc -cpu athlon -m 2G -hda /media/sdb2/IMAGES/xp_diff.qcow2 -cdrom /home/dvs1/Downloads/lose/winxphomex86.iso -serial stdio
113match_max 100000
114expect -exact "\$ "; sleep .1; send -s -- "cd /home/me\r"
115expect -exact "\$ "; sleep .1; send -s -- "rm -fr BUILD\r"
116expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'mkdir BUILD'\r"
117expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'mkdir -p TARBALLS'\r"
118expect -exact "\$ "; sleep 2; send -s -- "lftp -c 'open -p $FTP_PORT $FTP_SERVER && lcd TARBALLS && get1 impy-release-source_$date.tar.gz'\r"
119expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'tar xzf TARBALLS/impy-release-source_$date.tar.gz -C BUILD'\r"
120expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'ls -la BUILD'\r"
121expect -exact "\$ "; sleep .1; send -s -- "su - me -c 'ls -la TARBALLS'\r"
122
123expect -exact "\$ "; sleep .1; send -s -- "shutdown -s now\r"
124expect eof
125zzzzEOFzzzz
126
127