diff options
-rwxr-xr-x | BuildReleases.sh | 192 | ||||
-rw-r--r-- | README.md | 1 |
2 files changed, 101 insertions, 92 deletions
diff --git a/BuildReleases.sh b/BuildReleases.sh index fd83073..bdef6bd 100755 --- a/BuildReleases.sh +++ b/BuildReleases.sh | |||
@@ -1,11 +1,11 @@ | |||
1 | #!/bin/bash | 1 | #!/bin/bash |
2 | 2 | ||
3 | # These control which ones get built. | 3 | # These control which ones get built. |
4 | do_linux64=1 | ||
5 | do_linux32=1 | ||
4 | do_local=0 | 6 | do_local=0 |
5 | do_linux64=0 | ||
6 | do_linux32=0 | ||
7 | do_windowsXP=1 | ||
8 | do_mac=0 | 7 | do_mac=0 |
8 | do_windowsXP=1 | ||
9 | 9 | ||
10 | # Where to find suitable disk images for the various OS's. | 10 | # Where to find suitable disk images for the various OS's. |
11 | img_linux64=~/bin/ubuntu64_diff.qcow2 | 11 | img_linux64=~/bin/ubuntu64_diff.qcow2 |
@@ -70,6 +70,103 @@ disown $(jobs -p) | |||
70 | FTP_SERVER=10.0.2.2 | 70 | FTP_SERVER=10.0.2.2 |
71 | 71 | ||
72 | 72 | ||
73 | # Do Windows first, coz it still needs a manually typed password, dammit. | ||
74 | if [ $do_windowsXP -eq 1 ] | ||
75 | then | ||
76 | echo "Building in qemu, Windows XP." | ||
77 | qemu-system-i386 -M pc -cpu athlon -m 2G -hda ${img_windowsXP} -net nic -net user,vlan=0,hostfwd=tcp::2222-:22 -rtc base=localtime & | ||
78 | sleep 30 | ||
79 | #expect -c 'spawn ssh -p 2222 me@localhost ; expect assword ; send " \n" ; interact' <<- zzzzEOFzzzz | ||
80 | ssh -p 2222 me@localhost <<- zzzzEOFzzzz | ||
81 | # TODO - there has to be a way of avoiding all this hard coded stuff, coz this is way too fragile. | ||
82 | PATH='/bin:/usr/local/bin:/usr/bin:'\$PATH':/cygdrive/c/Program Files/Microsoft SDKs/v6.1/Bin:/cygdrive/c/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin:/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/IDE:/cygdrive/c/Program Files/Microsoft Visual Studio 8/VC/bin:/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/Tools/:/cygdrive/c/Program Files/Inno Setup 5' | ||
83 | #./.profile | ||
84 | #./.bash_profile | ||
85 | export DXSDK_DIR='C:\Program Files\Microsoft DirectX SDK (November 2008)\' | ||
86 | #vcvarsall.bat x86 | ||
87 | export INCLUDE="C:\Program Files\Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft SDKs\Windows\v6.1\Include" | ||
88 | export LIB="C:\Program Files\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib;C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib" | ||
89 | export LIBPATH="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" | ||
90 | #echo \$PATH | ||
91 | #set | ||
92 | cd /home/me | ||
93 | rm -fr BUILD | ||
94 | mkdir -p BUILD | ||
95 | rm -fr TARBALLS | ||
96 | mkdir -p TARBALLS | ||
97 | lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && get1 impy-release-source_${date}.tar.gz' | ||
98 | tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD | ||
99 | cd /home/me/BUILD/SOURCE | ||
100 | cd linden/scripts/linux | ||
101 | |||
102 | # Apparently my "works everywhere" Linux specific scripts work on Cygwin to. Mostly. | ||
103 | ./0-patch-SL-source | ||
104 | ./1-get-libraries-from-SL | ||
105 | ./2-trim-libraries-from-SL | ||
106 | ./3-compile-SL-source | ||
107 | |||
108 | cd /home/me/BUILD/SOURCE | ||
109 | rm linden/indra/CMakeCache.txt | ||
110 | cd linden/indra | ||
111 | # This would be preferable, but NMake is not an option. | ||
112 | #./develop.py -G "nmake" --type=Release build | ||
113 | # Also, apparently there's Cygwin support, but might have to install the cygwin python for that. | ||
114 | cmake -DCMAKE_BUILD_TYPE:STRING="Release" -DSTANDALONE:BOOL=OFF -DUNATTENDED:BOOL=OFF -DROOT_PROJECT_NAME:STRING="Imprudence" -DPACKAGE:BOOL=ON -G "NMake Makefiles" build . | ||
115 | # Hack around a bug in cmake that I'm surprised did not hit GUI controlled builds. | ||
116 | sed -i "s|\(^RC_FLAGS .* \) /GS .*$|\1|" win_crash_logger/CMakeFiles/windows-crash-logger.dir/flags.make | ||
117 | sed -i "s|\(^RC_FLAGS .* \) /GS .*$|\1|" newview/CMakeFiles/imprudence-bin.dir/flags.make | ||
118 | #cd build-nmake | ||
119 | nmake | ||
120 | |||
121 | # Build the inno installer. | ||
122 | iscc newview/package/Imprudence-1.4.0.3-beta-2.iss | ||
123 | cp newview/package/Imprudence-*.exe /home/me/TARBALLS | ||
124 | cd /home/me/TARBALLS | ||
125 | lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd /home/me/TARBALLS && mput Imprudence-*' | ||
126 | |||
127 | shutdown -s now | ||
128 | zzzzEOFzzzz | ||
129 | |||
130 | # A here document would be preferable, but "interact" won't work then. | ||
131 | # Serial port would be preferable, but python does nothing then. WTF? | ||
132 | # expect -c " | ||
133 | # set timeout -1 | ||
134 | # set send_slow {1 .1} | ||
135 | # spawn qemu-system-i386 -M pc -cpu athlon -m 2G -hda ${img_windowsXP} -serial stdio -rtc base=localtime | ||
136 | # match_max 100000 | ||
137 | # strace 1 | ||
138 | # expect -exact \"\$ \"; sleep .1; send -s -- \"PATH=\\\$PATH':${cw_path}'\r\" | ||
139 | # expect -exact \"\$ \"; sleep .1; send -s -- \"echo \\\$PATH\r\" | ||
140 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me\r\" | ||
141 | # expect -exact \"\$ \"; sleep .1; send -s -- \"rm -fr BUILD\r\" | ||
142 | # expect -exact \"\$ \"; sleep .1; send -s -- \"rm -fr TARBALLS\r\" | ||
143 | # expect -exact \"\$ \"; sleep .1; send -s -- \"mkdir -p BUILD\r\" | ||
144 | # expect -exact \"\$ \"; sleep .1; send -s -- \"mkdir -p TARBALLS\r\" | ||
145 | # expect -exact \"\$ \"; sleep 2; send -s -- \"lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && get1 impy-release-source_${date}.tar.gz'\r\" | ||
146 | # expect -exact \"\$ \"; sleep .1; send -s -- \"tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD\r\" | ||
147 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me/BUILD/SOURCE\r\" | ||
148 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd linden/scripts/linux\r\" | ||
149 | |||
150 | # expect -exact \"\$ \"; sleep .1; send -s -- \"./0-patch-SL-source\r\" | ||
151 | # expect -exact \"\$ \"; sleep .1; send -s -- \"./1-get-libraries-from-SL\r\" | ||
152 | # expect -exact \"\$ \"; sleep .1; send -s -- \"./2-trim-libraries-from-SL\r\" | ||
153 | # expect -exact \"\$ \"; sleep .1; send -s -- \"./3-compile-SL-source\r\" | ||
154 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd ../../indra/viewer-windows-*\r\" | ||
155 | # expect -exact \"\$ \"; sleep .1; send -s -- \"make package\r\" | ||
156 | |||
157 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cp Imprudence-* ../../../../../TARBALLS\r\" | ||
158 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me/BUILD/TARBALLS\r\" | ||
159 | # expect -exact \"\$ \"; sleep .1; send -s -- \"ls -la\r\" | ||
160 | # expect -exact \"\$ \"; sleep 2; send -s -- \"lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && mput Imprudence-*'\r\" | ||
161 | |||
162 | # interact quit return; sleep .1; send -s -- \"\r\" | ||
163 | # expect -exact \"\$ \"; sleep .1; send -s -- \"shutdown -s now\r\" | ||
164 | # expect eof" | ||
165 | echo '' | ||
166 | sleep 10 | ||
167 | fi | ||
168 | |||
169 | |||
73 | if [ $do_local -eq 1 ] | 170 | if [ $do_local -eq 1 ] |
74 | then | 171 | then |
75 | echo "Building local." && | 172 | echo "Building local." && |
@@ -154,95 +251,6 @@ zzzzEOFzzzz | |||
154 | fi | 251 | fi |
155 | 252 | ||
156 | 253 | ||
157 | if [ $do_windowsXP -eq 1 ] | ||
158 | then | ||
159 | echo "Building in qemu, Windows XP." | ||
160 | qemu-system-i386 -M pc -cpu athlon -m 2G -hda ${img_windowsXP} -net nic -net user,vlan=0,hostfwd=tcp::2222-:22 -rtc base=localtime & | ||
161 | sleep 30 | ||
162 | ssh -p 2222 me@localhost <<- zzzzEOFzzzz | ||
163 | PATH='/bin:/usr/local/bin:/usr/bin:'\$PATH':/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/IDE:/cygdrive/c/Program Files/Microsoft Visual Studio 8/VC/bin:/cygdrive/c/Program Files/Microsoft Visual Studio 8/Common7/Tools/:/cygdrive/c/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin' | ||
164 | ./.profile | ||
165 | ./.bash_profile | ||
166 | export DXSDK_DIR='C:\Program Files\Microsoft DirectX SDK (November 2008)\' | ||
167 | #vcvarsall.bat x86 | ||
168 | export INCLUDE="C:\Program Files\Microsoft Visual Studio 8\VC\include;C:\Program Files\Microsoft SDKs\Windows\v6.1\Include" | ||
169 | export LIB="C:\Program Files\Microsoft Visual Studio 8\VC\lib;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Lib;C:\Program Files\Microsoft SDKs\Windows\v6.1\Lib" | ||
170 | export LIBPATH="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727" | ||
171 | echo \$PATH | ||
172 | set | ||
173 | cd /home/me | ||
174 | #rm -fr BUILD/SOURCE/linden/indra | ||
175 | #rm -fr BUILD | ||
176 | rm -fr TARBALLS | ||
177 | #mkdir -p BUILD | ||
178 | mkdir -p TARBALLS | ||
179 | lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && get1 impy-release-source_${date}.tar.gz' | ||
180 | tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD | ||
181 | cd /home/me/BUILD/SOURCE | ||
182 | rm linden/indra/CMakeCache.txt | ||
183 | cd linden/scripts/linux | ||
184 | |||
185 | ./0-patch-SL-source | ||
186 | ./1-get-libraries-from-SL | ||
187 | ./2-trim-libraries-from-SL | ||
188 | ./3-compile-SL-source | ||
189 | ls -la ../../indra | ||
190 | #cd ../../indra/viewer-windows-* | ||
191 | #make package | ||
192 | |||
193 | cd /home/me/BUILD/SOURCE | ||
194 | rm linden/indra/CMakeCache.txt | ||
195 | cd linden/indra | ||
196 | cmake -G "NMake Makefiles" . | ||
197 | nmake | ||
198 | |||
199 | ls -la | ||
200 | #cp Imprudence-* ../../../../../TARBALLS | ||
201 | cd /home/me/BUILD/TARBALLS | ||
202 | lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && mput Imprudence-*' | ||
203 | |||
204 | shutdown -s now | ||
205 | zzzzEOFzzzz | ||
206 | |||
207 | # A here document would be preferable, but "interact" won't work then. | ||
208 | # expect -c " | ||
209 | # set timeout -1 | ||
210 | # set send_slow {1 .1} | ||
211 | # spawn qemu-system-i386 -M pc -cpu athlon -m 2G -hda ${img_windowsXP} -serial stdio -rtc base=localtime | ||
212 | # match_max 100000 | ||
213 | # strace 1 | ||
214 | # expect -exact \"\$ \"; sleep .1; send -s -- \"PATH=\\\$PATH':${cw_path}'\r\" | ||
215 | # expect -exact \"\$ \"; sleep .1; send -s -- \"echo \\\$PATH\r\" | ||
216 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me\r\" | ||
217 | # expect -exact \"\$ \"; sleep .1; send -s -- \"rm -fr BUILD\r\" | ||
218 | # expect -exact \"\$ \"; sleep .1; send -s -- \"rm -fr TARBALLS\r\" | ||
219 | # expect -exact \"\$ \"; sleep .1; send -s -- \"mkdir -p BUILD\r\" | ||
220 | # expect -exact \"\$ \"; sleep .1; send -s -- \"mkdir -p TARBALLS\r\" | ||
221 | # expect -exact \"\$ \"; sleep 2; send -s -- \"lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && get1 impy-release-source_${date}.tar.gz'\r\" | ||
222 | # expect -exact \"\$ \"; sleep .1; send -s -- \"tar xzf TARBALLS/impy-release-source_${date}.tar.gz -C BUILD\r\" | ||
223 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me/BUILD/SOURCE\r\" | ||
224 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd linden/scripts/linux\r\" | ||
225 | |||
226 | # expect -exact \"\$ \"; sleep .1; send -s -- \"./0-patch-SL-source\r\" | ||
227 | # expect -exact \"\$ \"; sleep .1; send -s -- \"./1-get-libraries-from-SL\r\" | ||
228 | # expect -exact \"\$ \"; sleep .1; send -s -- \"./2-trim-libraries-from-SL\r\" | ||
229 | # expect -exact \"\$ \"; sleep .1; send -s -- \"./3-compile-SL-source\r\" | ||
230 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd ../../indra/viewer-windows-*\r\" | ||
231 | # expect -exact \"\$ \"; sleep .1; send -s -- \"make package\r\" | ||
232 | |||
233 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cp Imprudence-* ../../../../../TARBALLS\r\" | ||
234 | # expect -exact \"\$ \"; sleep .1; send -s -- \"cd /home/me/BUILD/TARBALLS\r\" | ||
235 | # expect -exact \"\$ \"; sleep .1; send -s -- \"ls -la\r\" | ||
236 | # expect -exact \"\$ \"; sleep 2; send -s -- \"lftp -c 'open -p ${FTP_PORT} ${FTP_SERVER} && lcd TARBALLS && mput Imprudence-*'\r\" | ||
237 | |||
238 | # interact quit return; sleep .1; send -s -- \"\r\" | ||
239 | # expect -exact \"\$ \"; sleep .1; send -s -- \"shutdown -s now\r\" | ||
240 | # expect eof" | ||
241 | echo '' | ||
242 | sleep 10 | ||
243 | fi | ||
244 | |||
245 | |||
246 | if [ $do_mac -eq 1 ] | 254 | if [ $do_mac -eq 1 ] |
247 | then | 255 | then |
248 | echo "No Mac support yet, coz I need a real Mac for that." | 256 | echo "No Mac support yet, coz I need a real Mac for that." |
@@ -60,6 +60,7 @@ create the disk image | |||
60 | install under qemu | 60 | install under qemu |
61 | reboot | 61 | reboot |
62 | labourously install all the development stuff and build time dependencies | 62 | labourously install all the development stuff and build time dependencies |
63 | (refer to http://wiki.kokuaviewer.org/wiki/Imprudence:Compiling/1.4/Windows for details) | ||
63 | reboot | 64 | reboot |
64 | setup cygwin shell on serial port as a service | 65 | setup cygwin shell on serial port as a service |
65 | or sshd, seems to work better | 66 | or sshd, seems to work better |