Bug 524129: add MIPS compilation and smoke testing to the tamarin-redux buildbot (r=cpeyer+)
authorBrent Baker <brbaker@adobe.com>
Tue, 27 Apr 2010 06:00:46 -0400
changeset 4579 9ce007525ae4bf2737943401882fbdc233cb9fee
parent 4578 41c28997d84ece3659740db53e93bb57906c7051
child 4580 eb95ae8fd232e1f567712187e0134102c49c6643
push id2393
push userbrbaker@adobe.com
push dateTue, 27 Apr 2010 10:01:59 +0000
reviewerscpeyer
bugs524129, 559038
Bug 524129: add MIPS compilation and smoke testing to the tamarin-redux buildbot (r=cpeyer+) Bug 559038: Add build scripts that will use SCP and SSH to remotely install and run the shell and given abc file (verbal r=dschaffe+)
build/buildbot/master/master.cfg
build/buildbot/master/public_html/announce.html
build/buildbot/master/tamarinredux.py
build/buildbot/slaves/all/ssh-shell-deployer.sh
build/buildbot/slaves/all/ssh-shell-runner.sh
build/buildbot/slaves/all/ssh-shell.sh
build/buildbot/slaves/linux-mips/buildbot.tac
build/buildbot/slaves/linux-mips/scripts/build-check.sh
build/buildbot/slaves/linux-mips/scripts/environment.sh
build/buildbot/slaves/linux-mips/scripts/run-smoketests.sh
build/buildbot/slaves/linux-mips/scripts/upload-asteam.sh
build/buildbot/slaves/linux-mips/scripts/upload-mozilla.sh
--- a/build/buildbot/master/master.cfg
+++ b/build/buildbot/master/master.cfg
@@ -73,16 +73,17 @@ c['slaves'] = [BuildSlave("asteamwin2", 
             
                BuildSlave("asteammac5-64bit", "asteam"),
 
                BuildSlave("asteamlin1", "asteam"),
                BuildSlave("asteamlin5", "asteam"),
                BuildSlave("asteambeagleboard2", "asteam"),
                BuildSlave("asteambeagle4", "asteam"),
                BuildSlave("asteambeagleboard3", "asteam"),
+               BuildSlave("asteamlin1-mips", "asteam"),
 
                BuildSlave("asteamsol4", "asteam"),
                BuildSlave("asteamsol1", "asteam"),
 
                BuildSlave("asteamwin1", "asteam"),
                BuildSlave("asteammac2", "asteam"),
                BuildSlave("asteammac7", "asteam"),
                BuildSlave("asteammac3", "asteam"),
--- a/build/buildbot/master/public_html/announce.html
+++ b/build/buildbot/master/public_html/announce.html
@@ -98,19 +98,19 @@
             </td>
             <td width="1" bgcolor="#CCCCCC">
             </td>
             <td width="2%">
             </td>
             <td width="72%">
                 <table width="100%">
                     <script language="javascript">
-                        var compile = "builder=windows-compile&builder=windows64-compile&builder=mac-intel-10.4-compile&builder=mac-intel-10.5-compile&builder=mac64-intel-compile&builder=mac-ppc-10.4a-compile&builder=mac-ppc-10.4b-compile&builder=mac-ppc-10.5a-compile&builder=mac-ppc-10.5b-compile&builder=mac64-ppc-compile&builder=linux-compile&builder=linux64-compile&builder=winmobile-emulator-compile&builder=solaris-sparc-compile&builder=android-compile&builder=linux-arm-compile&builder=linux-arm2-compile"
-                        var smoke = "builder=windows-smoke&builder=windows64-smoke&builder=mac-intel-10.4-smoke&builder=mac-intel-10.5-smoke&builder=mac64-intel-smoke&builder=mac-ppc-10.4a-smoke&builder=mac-ppc-10.4b-smoke&builder=mac-ppc-10.5a-smoke&builder=mac-ppc-10.5b-smoke&builder=mac64-ppc-smoke&builder=linux-smoke&builder=linux64-smoke&builder=winmobile-emulator-smoke&builder=solaris-sparc-smoke&builder=android-smoke&builder=linux-arm-smoke&builder=linux-arm2-smoke"
-                        var test = "builder=windows-test&builder=windows64-test&builder=mac-intel-10.4-test&builder=mac-intel-10.5-test&builder=mac64-intel-test&builder=mac-ppc-10.4a-test&builder=mac-ppc-10.4b-test&builder=mac-ppc-10.5a-test&builder=mac-ppc-10.5b-test&builder=mac64-ppc-test&builder=linux-test&builder=linux64-test&builder=winmobile-emulator-test&builder=solaris-sparc-test&builder=android-test&builder=linux-arm-test&builder=linux-arm2-test"
+                        var compile = "builder=windows-compile&builder=windows64-compile&builder=mac-intel-10.4-compile&builder=mac-intel-10.5-compile&builder=mac64-intel-compile&builder=mac-ppc-10.4a-compile&builder=mac-ppc-10.4b-compile&builder=mac-ppc-10.5a-compile&builder=mac-ppc-10.5b-compile&builder=mac64-ppc-compile&builder=linux-compile&builder=linux64-compile&builder=winmobile-emulator-compile&builder=solaris-sparc-compile&builder=android-compile&builder=linux-arm-compile&builder=linux-arm2-compile&builder=linux-mips-compile"
+                        var smoke = "builder=windows-smoke&builder=windows64-smoke&builder=mac-intel-10.4-smoke&builder=mac-intel-10.5-smoke&builder=mac64-intel-smoke&builder=mac-ppc-10.4a-smoke&builder=mac-ppc-10.4b-smoke&builder=mac-ppc-10.5a-smoke&builder=mac-ppc-10.5b-smoke&builder=mac64-ppc-smoke&builder=linux-smoke&builder=linux64-smoke&builder=winmobile-emulator-smoke&builder=solaris-sparc-smoke&builder=android-smoke&builder=linux-arm-smoke&builder=linux-arm2-smoke&builder=linux-mips-smoke"
+                        var test = "builder=windows-test&builder=windows64-test&builder=mac-intel-10.4-test&builder=mac-intel-10.5-test&builder=mac64-intel-test&builder=mac-ppc-10.4a-test&builder=mac-ppc-10.4b-test&builder=mac-ppc-10.5a-test&builder=mac-ppc-10.5b-test&builder=mac64-ppc-test&builder=linux-test&builder=linux64-test&builder=winmobile-emulator-test&builder=solaris-sparc-test&builder=android-test&builder=linux-arm-test&builder=linux-arm2-test&builder=linux-mips-test"
                         var performance = "builder=windows-performance&builder=mac-performance&builder=mac64-performance&builder=mac-ppc-performance&builder=linux-performance&builder=winmobile-performance"
                         var deep = "builder=windows-deep&builder=windows-p3-deep&builder=mac-ppc-deep&builder=windows64-deep&builder=solaris-sparc-deep&builder=winmobile-emulator-deep&builder=linux-deep&builder=linux-arm-deep&builder=windows-frr"
 
                         var compile_argo = "builder=windows-compile-argo&builder=windows64-compile-argo&builder=mac-intel-10.4-compile-argo&builder=mac-intel-10.5-compile-argo&builder=mac64-intel-compile-argo&builder=mac-ppc-10.4a-compile-argo&builder=mac-ppc-10.4b-compile-argo&builder=mac-ppc-10.5a-compile-argo&builder=mac-ppc-10.5b-compile-argo&builder=mac64-ppc-compile-argo&builder=linux-compile-argo&builder=linux64-compile-argo&builder=winmobile-emulator-compile-argo&builder=solaris-sparc-compile-argo&builder=android-compile-argo&builder=linux-arm-compile-argo&builder=linux-arm2-compile-argo"
                         var smoke_argo = "builder=windows-smoke-argo&builder=windows64-smoke-argo&builder=mac-intel-10.4-smoke-argo&builder=mac-intel-10.5-smoke-argo&builder=mac64-intel-smoke-argo&builder=mac-ppc-10.4a-smoke-argo&builder=mac-ppc-10.4b-smoke-argo&builder=mac-ppc-10.5a-smoke-argo&builder=mac-ppc-10.5b-smoke-argo&builder=mac64-ppc-smoke-argo&builder=linux-smoke-argo&builder=linux64-smoke-argo&builder=winmobile-emulator-smoke-argo&builder=solaris-sparc-smoke-argo&builder=android-smoke-argo&builder=linux-arm-smoke-argo&builder=linux-arm2-smoke-argo"
                         var test_argo = "builder=windows-test-argo&builder=windows64-test-argo&builder=mac-intel-10.4-test-argo&builder=mac-intel-10.5-test-argo&builder=mac64-intel-test-argo&builder=mac-ppc-10.4a-test-argo&builder=mac-ppc-10.4b-test-argo&builder=mac-ppc-10.5a-test-argo&builder=mac-ppc-10.5b-test-argo&builder=mac64-ppc-test-argo&builder=linux-test-argo&builder=linux64-test-argo&builder=winmobile-emulator-test-argo&builder=solaris-sparc-test-argo&builder=android-test-argo&builder=linux-arm-test-argo&builder=linux-arm2-test-argo"
                         var performance_argo = "builder=windows-performance-argo&builder=mac-performance-argo&builder=mac64-performance-argo&builder=mac-ppc-performance-argo&builder=linux-performance-argo&builder=winmobile-performance-argo"
                         var deep_argo = "builder=windows-deep-argo&builder=windows-p3-deep-argo&builder=mac-ppc-deep-argo&builder=windows64-deep-argo&builder=solaris-sparc-deep-argo&builder=winmobile-emulator-deep-argo&builder=linux-deep-argo&builder=linux-arm-deep-argo&builder=windows-frr-argo"
--- a/build/buildbot/master/tamarinredux.py
+++ b/build/buildbot/master/tamarinredux.py
@@ -60,29 +60,31 @@ class tamarinredux:
                                    "mac-intel-10.4-compile", "mac-intel-10.5-compile", "mac64-intel-compile",
                                    "mac-ppc-10.4a-compile", "mac-ppc-10.4b-compile", 
                                    "mac-ppc-10.5a-compile", "mac-ppc-10.5b-compile", 
                                    "mac64-ppc-compile",
                                    "linux-compile", "linux64-compile",
                                    "winmobile-emulator-compile",
                                    "solaris-sparc-compile",
                                    "android-compile",
-                                   "linux-arm-compile", "linux-arm2-compile"])
+                                   "linux-arm-compile", "linux-arm2-compile", 
+                                   "linux-mips-compile"])
 
     smoke = BuilderDependent(name="smoke",upstream=compile, callbackInterval=60, properties={'silent':'false'},
                     builderNames=["windows-smoke", "windows64-smoke",
                                    "mac-intel-10.4-smoke", "mac-intel-10.5-smoke", "mac64-intel-smoke",
                                    "mac-ppc-10.4a-smoke", "mac-ppc-10.4b-smoke", 
                                    "mac-ppc-10.5a-smoke", "mac-ppc-10.5b-smoke", 
                                    "mac64-ppc-smoke",
                                    "linux-smoke", "linux64-smoke",
                                    "winmobile-emulator-smoke",
                                    "solaris-sparc-smoke",
                                    "android-smoke",
-                                   "linux-arm-smoke", "linux-arm2-smoke"],
+                                   "linux-arm-smoke", "linux-arm2-smoke",
+                                   "linux-mips-smoke"],
                     builderDependencies=[
                                   ["windows-smoke", "windows-compile"], 
                                   ["windows64-smoke", "windows64-compile"], 
                                   ["mac-intel-10.4-smoke", "mac-intel-10.4-compile"], 
                                   ["mac-intel-10.5-smoke", "mac-intel-10.5-compile"],
                                   ["mac64-intel-smoke", "mac64-intel-compile"],
                                   ["mac-ppc-10.4a-smoke", "mac-intel-10.4-compile"],
                                   ["mac-ppc-10.4b-smoke", "mac-intel-10.4-compile"],
@@ -91,29 +93,31 @@ class tamarinredux:
                                   ["mac64-ppc-smoke", "mac64-intel-compile"],
                                   ["linux-smoke", "linux-compile"],
                                   ["linux64-smoke", "linux64-compile"],
                                   ["winmobile-emulator-smoke", "winmobile-emulator-compile"],
                                   ["solaris-sparc-smoke", "solaris-sparc-compile"],
                                   ["android-smoke","android-compile"],
                                   ["linux-arm-smoke","linux-compile"],
                                   ["linux-arm2-smoke","linux-compile"],
+                                  ["linux-mips-smoke","linux-mips-compile"],
                                  ])
 
     test = BuilderDependent(name="test",upstream=smoke, callbackInterval=60, properties={'silent':'false'},
                     builderNames=["windows-test", "windows64-test",
                                    "mac-intel-10.4-test", "mac-intel-10.5-test", "mac64-intel-test",
                                    "mac-ppc-10.4a-test", "mac-ppc-10.4b-test", 
                                    "mac-ppc-10.5a-test", "mac-ppc-10.5b-test", 
                                    "mac64-ppc-test",
                                    "linux-test", "linux64-test",
                                    "winmobile-emulator-test",
                                    "solaris-sparc-test",
                                    "android-test",
-                                   "linux-arm-test", "linux-arm2-test"],
+                                   "linux-arm-test", "linux-arm2-test",
+                                   "linux-mips-test"],
                     builderDependencies=[
                                   ["windows-test", "windows-smoke"], 
                                   ["windows64-test", "windows64-smoke"], 
                                   ["mac-intel-10.4-test", "mac-intel-10.4-smoke"], 
                                   ["mac-intel-10.5-test", "mac-intel-10.5-smoke"],
                                   ["mac64-intel-test", "mac64-intel-smoke"],
                                   ["mac-ppc-10.4a-test", "mac-ppc-10.4a-smoke"],
                                   ["mac-ppc-10.4b-test", "mac-ppc-10.4b-smoke"],
@@ -122,16 +126,17 @@ class tamarinredux:
                                   ["mac64-ppc-test", "mac64-ppc-smoke"],
                                   ["linux-test", "linux-smoke"],
                                   ["linux64-test", "linux64-smoke"],
                                   ["winmobile-emulator-test", "winmobile-emulator-smoke"],
                                   ["solaris-sparc-test", "solaris-sparc-smoke"],
                                   ["android-test", "android-smoke"],
                                   ["linux-arm-test", "linux-arm-smoke"],
                                   ["linux-arm2-test", "linux-arm2-smoke"],
+                                  ["linux-mips-test", "linux-mips-smoke"],
                                  ])
 
     performance = PhaseTwoScheduler(name="performance", branch="%s-performance" % BRANCH, treeStableTimer=30, properties={'silent':'false'},
                     fileIsImportant=startPerformanceRun, priority=2, changeDir="changes/perf/processed",
                     builderNames=["windows-performance",
                                    "mac-performance", "mac64-performance",
                                    "mac-ppc-performance",
                                    "linux-performance",
@@ -676,16 +681,66 @@ class tamarinredux:
     linux_arm2_compile_factory.addStep(bb_slaveupdate(slave="linux-arm"))
 
     linux_arm2_compile_builder = {
                 'name': "linux-arm2-compile",
                 'slavename': "asteambeagle4",
                 'factory': linux_arm2_compile_factory,
                 'builddir': './linux-arm2-compile',
     }
+    
+    
+    ################################
+    #### builder for linux-mips ####
+    ################################
+    linux_mips_compile_factory = factory.BuildFactory()
+    linux_mips_compile_factory.addStep(sync_clean)
+    linux_mips_compile_factory.addStep(sync_clone(url=HG_URL))
+    linux_mips_compile_factory.addStep(sync_update)
+    linux_mips_compile_factory.addStep(bb_slaveupdate(slave="linux-mips"))
+    linux_mips_compile_factory.addStep(BuildShellCommand(
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --target=mips-linux', 'avmshell_mips', 'false'],
+                env={
+                    'branch': WithProperties('%s','branch'),
+                    'CXX': 'mipsel-linux-uclibc-g++ -static',
+                    'CC' : 'mipsel-linux-uclibc-gcc -static',
+                    'LD' : 'mipsel-linux-uclibc-ld',
+                    'AR' : 'mipsel-linux-uclibc-ar',
+                },
+                description='starting Release-mips-linux build...',
+                descriptionDone='finished Release-mips-linux build.',
+                name="Release_mips-linux",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
+    linux_mips_compile_factory.addStep(BuildShellCommand(
+                command=['../all/compile-generic.sh', WithProperties('%s','revision'), '--enable-shell --enable-debug --target=mips-linux', 'avmshell_mips_d', 'false'],
+                env={
+                    'branch': WithProperties('%s','branch'),
+                    'CXX': 'mipsel-linux-uclibc-g++ -static',
+                    'CC' : 'mipsel-linux-uclibc-gcc -static',
+                    'LD' : 'mipsel-linux-uclibc-ld',
+                    'AR' : 'mipsel-linux-uclibc-ar',
+                },
+                description='starting Debug-mips-linux build...',
+                descriptionDone='finished Debug-mips-linux build.',
+                name="Debug_mips-linux",
+                workdir="../repo/build/buildbot/slaves/scripts")
+    )
+    linux_mips_compile_factory.addStep(compile_buildcheck_local)
+    linux_mips_compile_factory.addStep(util_upload_asteam_local)
+    linux_mips_compile_factory.addStep(util_upload_mozilla_local)
+    
+    linux_mips_compile_builder = {
+                'name': "linux-mips-compile",
+                'slavename': "asteamlin1-mips",
+                'factory': linux_mips_compile_factory,
+                'builddir': './linux-mips-compile',
+    }
+
+    
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            SMOKE BUILDERS                              ####
     ####                                                                        ####
     ################################################################################
     ################################################################################
@@ -976,16 +1031,40 @@ class tamarinredux:
     linux_arm2_smoke_factory.addStep(util_process_clean)
 
     linux_arm2_smoke_builder = {
                 'name': "linux-arm2-smoke",
                 'slavename': "asteambeagle4",
                 'factory': linux_arm2_smoke_factory,
                 'builddir': './linux-arm2-smoke',
     }
+    
+    
+    #########################################
+    #### builder for linux-mips-smoke    ####
+    #########################################
+    linux_mips_smoke_factory = factory.BuildFactory()
+    linux_mips_smoke_factory.addStep(download_testmedia)
+    linux_mips_smoke_factory.addStep(TestSuiteShellCommand(
+                command=['./run-smoketests.sh', WithProperties('%s','revision')],
+                env={'branch': WithProperties('%s','branch')},
+                description='starting to run smoke tests...',
+                descriptionDone='finished smoke tests.',
+                name="SmokeTest",
+                workdir="../repo/build/buildbot/slaves/scripts",
+                timeout=3600)
+    )
+    linux_mips_smoke_factory.addStep(util_process_clean)
+
+    linux_mips_smoke_builder = {
+                'name': "linux-mips-smoke",
+                'slavename': "asteamlin1-mips",
+                'factory': linux_mips_smoke_factory,
+                'builddir': './linux-mips-smoke',
+    }
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                            TEST BUILDERS                               ####
     ####                                                                        ####
     ################################################################################
@@ -1370,16 +1449,31 @@ class tamarinredux:
     linux_arm2_test_factory.addStep(util_clean_buildsdir)
 
     linux_arm2_test_builder = {
                 'name': "linux-arm2-test",
                 'slavename': "asteambeagle4",
                 'factory': linux_arm2_test_factory,
                 'builddir': './linux-arm2-test',
     }
+    
+    
+    ##########################################
+    #### builder for linux-mips-test      ####
+    ##########################################
+    linux_mips_test_factory = factory.BuildFactory()
+    linux_mips_test_factory.addStep(util_process_clean)
+    linux_mips_test_factory.addStep(util_clean_buildsdir)
+
+    linux_mips_test_builder = {
+                'name': "linux-mips-test",
+                'slavename': "asteamlin1-mips",
+                'factory': linux_mips_test_factory,
+                'builddir': './linux-mips-test',
+    }
 
 
     ################################################################################
     ################################################################################
     ####                                                                        ####
     ####                     PERFORMANCE BUILDERS                               ####
     ####                                                                        ####
     ################################################################################
@@ -1867,16 +1961,17 @@ class tamarinredux:
                 mac_ppc_64_compile_builder,
                 linux_compile_builder,
                 linux_64_compile_builder,
                 winmobile_emulator_compile_builder,
                 solaris_sparc_compile_builder,
                 android_compile_builder,
                 linux_arm_compile_builder,
                 linux_arm2_compile_builder,
+                linux_mips_compile_builder,
                 
                 windows_smoke_builder,
                 windows_64_smoke_builder,
                 mac_intel_104_smoke_builder,
                 mac_intel_105_smoke_builder,
                 mac_intel_64_smoke_builder,
                 mac_ppc_104a_smoke_builder,
                 mac_ppc_104b_smoke_builder,
@@ -1885,16 +1980,17 @@ class tamarinredux:
                 mac_ppc_64_smoke_builder,
                 linux_smoke_builder,
                 linux_64_smoke_builder,
                 winmobile_emulator_smoke_builder,
                 solaris_sparc_smoke_builder,
                 android_smoke_builder,
                 linux_arm_smoke_builder,
                 linux_arm2_smoke_builder,
+                linux_mips_smoke_builder,
                 
                 windows_test_builder,
                 windows_64_test_builder,
                 mac_intel_104_test_builder,
                 mac_intel_105_test_builder,
                 mac_intel_64_test_builder,
                 mac_ppc_104a_test_builder,
                 mac_ppc_104b_test_builder,
@@ -1903,16 +1999,17 @@ class tamarinredux:
                 mac_ppc_64_test_builder,
                 linux_test_builder,
                 linux_64_test_builder,
                 winmobile_emulator_test_builder,
                 solaris_sparc_test_builder,
                 android_test_builder,
                 linux_arm_test_builder,
                 linux_arm2_test_builder,
+                linux_mips_test_builder,
 
                 windows_performance_builder,
                 mac_performance_builder,
                 mac_64_performance_builder,
                 mac_ppc_performance_builder,
                 linux_performance_builder,
                 winmobile_performance_builder,
                 android_performance_builder,
new file mode 100755
--- /dev/null
+++ b/build/buildbot/slaves/all/ssh-shell-deployer.sh
@@ -0,0 +1,89 @@
+#!/bin/bash
+#  ***** BEGIN LICENSE BLOCK *****
+#  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License. You may obtain a copy of the License at
+#  http://www.mozilla.org/MPL/
+# 
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+# 
+#  The Original Code is [Open Source Virtual Machine.].
+# 
+#  The Initial Developer of the Original Code is
+#  Adobe System Incorporated.
+#  Portions created by the Initial Developer are Copyright (C) 2010
+#  the Initial Developer. All Rights Reserved.
+# 
+#  Contributor(s):
+#    Adobe AS3 Team
+# 
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 2 or later (the "GPL"), or
+#  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+#  in which case the provisions of the GPL or the LGPL are applicable instead
+#  of those above. If you wish to allow use of your version of this file only
+#  under the terms of either the GPL or the LGPL, and not to allow others to
+#  use your version of this file under the terms of the MPL, indicate your
+#  decision by deleting the provisions above and replace them with the notice
+#  and other provisions required by the GPL or the LGPL. If you do not delete
+#  the provisions above, a recipient may use your version of this file under
+#  the terms of any one of the MPL, the GPL or the LGPL.
+# 
+#  ***** END LICENSE BLOCK ****
+(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed
+
+##
+# Bring in the environment variables
+##
+. ./environment.sh
+
+if [ "$SSH_SHELL_REMOTE_USER" = "" ] ||
+   [ "$SSH_SHELL_REMOTE_HOST" = "" ] ||
+   [ "$SSH_SHELL_REMOTE_DIR" = "" ];
+then
+    echo "missing environment variable: "
+    echo "SSH_SHELL_REMOTE_USER" = "$SSH_SHELL_REMOTE_USER"
+    echo "SSH_SHELL_REMOTE_HOST" = "$SSH_SHELL_REMOTE_HOST"
+    echo "SSH_SHELL_REMOTE_DIR" = "$SSH_SHELL_REMOTE_DIR"
+    exit 1
+fi
+
+
+##
+# Calculate the change number and change id
+##
+. ../all/util-calculate-change.sh $1
+
+filename=$2
+test "$filename" = "" && {
+    filename=$shell_release
+}
+
+echo""
+echo "Installing $filename"
+
+# Clean up previous avmshell if it exists
+ssh $SSH_SHELL_REMOTE_USER@$SSH_SHELL_REMOTE_HOST "cd $SSH_SHELL_REMOTE_DIR;rm avmshell"
+
+# Upload the shell, filename will ALWAYS be avmshell on the remote system
+scp $filename $SSH_SHELL_REMOTE_USER@$SSH_SHELL_REMOTE_HOST:$SSH_SHELL_REMOTE_DIR/avmshell
+
+# Make sure that the version running on the remote system is the expected revision
+ssh $SSH_SHELL_REMOTE_USER@$SSH_SHELL_REMOTE_HOST "cd $SSH_SHELL_REMOTE_DIR;chmod +x avmshell;./avmshell" > /tmp/stdout
+
+# Verify that the shell was successfully deployed
+exitcode=0
+deploy_rev=`cat /tmp/stdout | grep "avmplus shell" | awk '{print $6}'`
+if [ "$change" != "${deploy_rev%:*}" ] || [ "$changeid" != "${deploy_rev#*:}" ]; 
+then
+    echo $0 FAILED!!!
+    echo requested build "$change:$changeid" is not what is deployed "${deploy_rev%:*}:${deploy_rev#*:}"
+    exitcode=1
+fi
+
+exit $exitcode
\ No newline at end of file
new file mode 100755
--- /dev/null
+++ b/build/buildbot/slaves/all/ssh-shell-runner.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+#  ***** BEGIN LICENSE BLOCK *****
+#  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License. You may obtain a copy of the License at
+#  http://www.mozilla.org/MPL/
+# 
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+# 
+#  The Original Code is [Open Source Virtual Machine.].
+# 
+#  The Initial Developer of the Original Code is
+#  Adobe System Incorporated.
+#  Portions created by the Initial Developer are Copyright (C) 2010
+#  the Initial Developer. All Rights Reserved.
+# 
+#  Contributor(s):
+#    Adobe AS3 Team
+# 
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 2 or later (the "GPL"), or
+#  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+#  in which case the provisions of the GPL or the LGPL are applicable instead
+#  of those above. If you wish to allow use of your version of this file only
+#  under the terms of either the GPL or the LGPL, and not to allow others to
+#  use your version of this file under the terms of the MPL, indicate your
+#  decision by deleting the provisions above and replace them with the notice
+#  and other provisions required by the GPL or the LGPL. If you do not delete
+#  the provisions above, a recipient may use your version of this file under
+#  the terms of any one of the MPL, the GPL or the LGPL.
+# 
+#  ***** END LICENSE BLOCK ****
+
+# TODO: MIPS boxes are not sourcing /etc/profile or /etc/bashrc when
+#       a non-interactive SSH connection is made. This means that the
+#       env var TZ=EST5EDT will not be set causing failures in date tests
+export TZ=EST5EDT
+
+cd /root/app
+./avmshell $*
+echo "EXITCODE=$?"
+
new file mode 100755
--- /dev/null
+++ b/build/buildbot/slaves/all/ssh-shell.sh
@@ -0,0 +1,91 @@
+#!/bin/bash
+# ***** BEGIN LICENSE BLOCK *****
+# Version: MPL 1.1/GPL 2.0/LGPL 2.1
+#
+# The contents of this file are subject to the Mozilla Public License Version
+# 1.1 (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+# http://www.mozilla.org/MPL/
+#
+# Software distributed under the License is distributed on an "AS IS" basis,
+# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+# for the specific language governing rights and limitations under the
+# License.
+#
+# The Original Code is [Open Source Virtual Machine.].
+#
+# The Initial Developer of the Original Code is
+# Adobe System Incorporated.
+# Portions created by the Initial Developer are Copyright (C) 2010
+# the Initial Developer. All Rights Reserved.
+#
+# Contributor(s):
+#   Adobe AS3 Team
+#
+# Alternatively, the contents of this file may be used under the terms of
+# either the GNU General Public License Version 2 or later (the "GPL"), or
+# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+# in which case the provisions of the GPL or the LGPL are applicable instead
+# of those above. If you wish to allow use of your version of this file only
+# under the terms of either the GPL or the LGPL, and not to allow others to
+# use your version of this file under the terms of the MPL, indicate your
+# decision by deleting the provisions above and replace them with the notice
+# and other provisions required by the GPL or the LGPL. If you do not delete
+# the provisions above, a recipient may use your version of this file under
+# the terms of any one of the MPL, the GPL or the LGPL.
+#
+# ***** END LICENSE BLOCK ***** */
+# acts as a proxy to remotely run abc files via a ssh call to the remote machine
+# usage: ./ssh_shell.sh <vmargs> file.abc
+# assumes the shell is deployed to $SSH_SHELL_REMOTE_DIR/avmshell
+#
+
+##
+# Bring in the environment variables
+##
+. ./environment.sh
+
+if [ "$SSH_SHELL_REMOTE_USER" = "" ] ||
+   [ "$SSH_SHELL_REMOTE_HOST" = "" ] ||
+   [ "$SSH_SHELL_REMOTE_DIR" = "" ];
+then
+    echo "missing environment variable: "
+    echo "SSH_SHELL_REMOTE_USER" = "$SSH_SHELL_REMOTE_USER"
+    echo "SSH_SHELL_REMOTE_HOST" = "$SSH_SHELL_REMOTE_HOST"
+    echo "SSH_SHELL_REMOTE_DIR" = "$SSH_SHELL_REMOTE_DIR"
+    exit 1
+fi
+
+filelist=""
+flatfilelist=""
+if [ "$1" = "" ]
+then
+    ssh $SSH_SHELL_REMOTE_USER@$SSH_SHELL_REMOTE_HOST "cd $SSH_SHELL_REMOTE_DIR;./avmshell"
+else
+    args=""
+    for a in $*
+    do
+       echo "$a" | grep ".*\.abc" > /dev/null
+       res=$?
+       if [ "$res" = "0" ]
+       then
+           file=$a
+           flatfile=`basename $a`
+           filelist="$filelist $flatfile"
+           scp $file $SSH_SHELL_REMOTE_USER@$SSH_SHELL_REMOTE_HOST:$SSH_SHELL_REMOTE_DIR/$flatfile > /dev/null
+           args="$args $flatfile"       
+       else
+           args="$args $a"
+       fi
+    done
+    # workaround for not returning exit code, run a shell script and print exit code to stdout
+    ssh $SSH_SHELL_REMOTE_USER@$SSH_SHELL_REMOTE_HOST "cd $SSH_SHELL_REMOTE_DIR;./ssh-shell-runner.sh $args" > /tmp/stdout
+    ret=`cat /tmp/stdout | grep "EXITCODE=" | awk -F= '{printf("%d",$2)}'`
+    for a in $filelist
+    do
+        ssh $REMOTE_USER@$REMOTE_HOST "cd $SSH_SHELL_REMOTE_DIR;rm $a"
+    done
+    cat /tmp/stdout
+    rm -f /tmp/stdout
+    exit $ret
+fi
new file mode 100644
--- /dev/null
+++ b/build/buildbot/slaves/linux-mips/buildbot.tac
@@ -0,0 +1,54 @@
+#  ***** BEGIN LICENSE BLOCK *****
+#  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License. You may obtain a copy of the License at
+#  http://www.mozilla.org/MPL/
+# 
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+# 
+#  The Original Code is [Open Source Virtual Machine.].
+# 
+#  The Initial Developer of the Original Code is
+#  Adobe System Incorporated.
+#  Portions created by the Initial Developer are Copyright (C) 2009
+#  the Initial Developer. All Rights Reserved.
+# 
+#  Contributor(s):
+#    Adobe AS3 Team
+# 
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 2 or later (the "GPL"), or
+#  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+#  in which case the provisions of the GPL or the LGPL are applicable instead
+#  of those above. If you wish to allow use of your version of this file only
+#  under the terms of either the GPL or the LGPL, and not to allow others to
+#  use your version of this file under the terms of the MPL, indicate your
+#  decision by deleting the provisions above and replace them with the notice
+#  and other provisions required by the GPL or the LGPL. If you do not delete
+#  the provisions above, a recipient may use your version of this file under
+#  the terms of any one of the MPL, the GPL or the LGPL.
+# 
+#  ***** END LICENSE BLOCK ****
+
+from twisted.application import service
+from buildbot.slave.bot import BuildSlave
+
+basedir = r'/home/build/buildbot/tamarin-redux/linux-mips'
+host = '10.171.22.12'
+port = 9750
+slavename = 'asteamlin1-mips'
+passwd = 'asteam'
+keepalive = 600
+usepty = 1
+umask = None
+
+application = service.Application('buildslave')
+s = BuildSlave(host, port, slavename, passwd, basedir, keepalive, usepty,
+               umask=umask)
+s.setServiceParent(application)
+
new file mode 100755
--- /dev/null
+++ b/build/buildbot/slaves/linux-mips/scripts/build-check.sh
@@ -0,0 +1,76 @@
+#!/bin/bash
+#  ***** BEGIN LICENSE BLOCK *****
+#  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License. You may obtain a copy of the License at
+#  http://www.mozilla.org/MPL/
+# 
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+# 
+#  The Original Code is [Open Source Virtual Machine.].
+# 
+#  The Initial Developer of the Original Code is
+#  Adobe System Incorporated.
+#  Portions created by the Initial Developer are Copyright (C) 2010
+#  the Initial Developer. All Rights Reserved.
+# 
+#  Contributor(s):
+#    Adobe AS3 Team
+# 
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 2 or later (the "GPL"), or
+#  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+#  in which case the provisions of the GPL or the LGPL are applicable instead
+#  of those above. If you wish to allow use of your version of this file only
+#  under the terms of either the GPL or the LGPL, and not to allow others to
+#  use your version of this file under the terms of the MPL, indicate your
+#  decision by deleting the provisions above and replace them with the notice
+#  and other provisions required by the GPL or the LGPL. If you do not delete
+#  the provisions above, a recipient may use your version of this file under
+#  the terms of any one of the MPL, the GPL or the LGPL.
+# 
+#  ***** END LICENSE BLOCK ****
+(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed
+
+##
+# Bring in the environment variables
+##
+. ./environment.sh
+
+
+##
+# Calculate the change number and change id
+##
+. ../all/util-calculate-change.sh $1
+
+
+
+fail=0
+
+
+# Release_mips-linux
+test -f $buildsdir/$change-${changeid}/$platform/$shell_release || {
+  echo "message: Release_mips-linux Failed"
+  fail=1
+}
+
+# Debug_mips-linux
+test -f $buildsdir/$change-${changeid}/$platform/$shell_debug || {
+  echo "message: Debug_mips-linux Failed"
+  fail=1
+}
+
+if test "${fail}" = 1; then
+   echo Failing the build
+   exit 1
+fi
+
+
+
+
+
new file mode 100755
--- /dev/null
+++ b/build/buildbot/slaves/linux-mips/scripts/environment.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+#  ***** BEGIN LICENSE BLOCK *****
+#  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License. You may obtain a copy of the License at
+#  http://www.mozilla.org/MPL/
+# 
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+# 
+#  The Original Code is [Open Source Virtual Machine.].
+# 
+#  The Initial Developer of the Original Code is
+#  Adobe System Incorporated.
+#  Portions created by the Initial Developer are Copyright (C) 2010
+#  the Initial Developer. All Rights Reserved.
+# 
+#  Contributor(s):
+#    Adobe AS3 Team
+# 
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 2 or later (the "GPL"), or
+#  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+#  in which case the provisions of the GPL or the LGPL are applicable instead
+#  of those above. If you wish to allow use of your version of this file only
+#  under the terms of either the GPL or the LGPL, and not to allow others to
+#  use your version of this file under the terms of the MPL, indicate your
+#  decision by deleting the provisions above and replace them with the notice
+#  and other provisions required by the GPL or the LGPL. If you do not delete
+#  the provisions above, a recipient may use your version of this file under
+#  the terms of any one of the MPL, the GPL or the LGPL.
+# 
+#  ***** END LICENSE BLOCK ****
+(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed
+
+##
+# Set any variables that my be needed higher up the chain
+##
+export shell_extension=
+
+##
+# Bring in the BRANCH environment variables
+##
+. ../all/environment.sh
+
+export platform=linux
+
+export shell_release=avmshell_mips
+export shell_debug=avmshell_mips_d
+
+## Used by make in the build scripts
+export make_opt="-j2"
+
+# Override this, default is avmshell* and since this slave runs on a machine
+# with other slaves, the process cleaner /can/ find avmshell processes, 
+# BUT they will NEVER belong to this slave since the shell is run on a device
+# not on the host machine. Reset this to something that will never be found/killed
+export proc_names="fake_never_find_me"
+
+export SSH_SHELL_REMOTE_HOST=asteammips1
+export SSH_SHELL_REMOTE_USER=root
+export SSH_SHELL_REMOTE_DIR=/root/app
new file mode 100755
--- /dev/null
+++ b/build/buildbot/slaves/linux-mips/scripts/run-smoketests.sh
@@ -0,0 +1,132 @@
+#!/bin/bash
+#  ***** BEGIN LICENSE BLOCK *****
+#  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License. You may obtain a copy of the License at
+#  http://www.mozilla.org/MPL/
+# 
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+# 
+#  The Original Code is [Open Source Virtual Machine.].
+# 
+#  The Initial Developer of the Original Code is
+#  Adobe System Incorporated.
+#  Portions created by the Initial Developer are Copyright (C) 2010
+#  the Initial Developer. All Rights Reserved.
+# 
+#  Contributor(s):
+#    Adobe AS3 Team
+# 
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 2 or later (the "GPL"), or
+#  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+#  in which case the provisions of the GPL or the LGPL are applicable instead
+#  of those above. If you wish to allow use of your version of this file only
+#  under the terms of either the GPL or the LGPL, and not to allow others to
+#  use your version of this file under the terms of the MPL, indicate your
+#  decision by deleting the provisions above and replace them with the notice
+#  and other provisions required by the GPL or the LGPL. If you do not delete
+#  the provisions above, a recipient may use your version of this file under
+#  the terms of any one of the MPL, the GPL or the LGPL.
+# 
+#  ***** END LICENSE BLOCK ****
+(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed
+
+##
+# Bring in the environment variables
+##
+. ./environment.sh
+
+
+##
+# Calculate the change number and change id
+##
+. ../all/util-calculate-change.sh $1
+
+
+
+##
+# Download the AVMSHELL if it does not exist
+##
+if [ ! -e "$buildsdir/$change-${changeid}/$platform/$shell_release" ]; then
+    echo "Download AVMSHELL: ${$shell_release}"
+    ../all/util-download.sh $vmbuilds/$branch/$change-${changeid}/$platform/$shell_release $buildsdir/$change-${changeid}/$platform/$shell_release
+    ret=$?
+    test "$ret" = "0" || {
+        echo "Downloading of $shell failed"
+        rm -f $buildsdir/$change-${changeid}/$platform/$shell_release
+        exit 1
+    }
+    chmod +x $buildsdir/$change-${changeid}/$platform/$shell_release
+fi
+
+
+echo "setup $branch/${change}-${changeid}"
+../all/ssh-shell-deployer.sh ${change} ${buildsdir}/${change}-${changeid}/${platform}/$shell_release
+res=$?
+test "$res" = "0" || {
+    echo "message: setup failed"
+    exit 1
+}
+
+if [ ! -e "$basedir/utils/asc.jar" ]; then
+    echo "Download asc.jar"
+    ../all/util-download.sh $ascbuilds/asc.jar $basedir/utils/asc.jar
+    ret=$?
+    test "$ret" = "0" || {
+        echo "Downloading of asc.jar failed"
+        rm -f $basedir/utils/asc.jar
+        exit 1
+    }
+fi
+export ASC=$basedir/utils/asc.jar
+export BUILTINABC=$basedir/core/$builtinABC
+export SHELLABC=$basedir/shell/$shellABC
+# If available, use windows python (instead of cygwin python)
+# Threading only works with windows python, $PYTHONWIN env variable must point to windows install
+# $PYTHONWIN must be defined with forward slashes, e.g: c:/Python26/python.exe
+if [ -z "$PYTHONWIN" ]
+then
+    export py=python
+else
+    export py=$PYTHONWIN
+fi
+
+export AVM=$basedir/build/buildbot/slaves/all/ssh-shell.sh
+export avmr=$AVM
+export avmrd=$AVM
+export avmd=$AVM
+export avmdd=$AVM
+
+# silence output if silent=true (function defined in environment.sh)
+logfile=smokes-mips.log
+beginSilent
+
+cd $basedir/test
+$py ./runsmokes.py --testfile=./runsmokes-arm-android.txt --time=120
+ret=$?
+
+exitcode=0
+test "$ret" = "0" ||
+   exitcode=1
+
+endSilent
+
+test "$silent" = "true" && {
+    # display smoke results to stdout so that buildbot parses the results
+    grep "^ *passes" $logfile
+    grep "^ *failures" $logfile
+}
+
+##
+# Ensure that the system is torn down and clean
+##
+cd $basedir/build/buildbot/slaves/scripts
+../all/util-acceptance-teardown.sh
+
+exit $exitcode
\ No newline at end of file
new file mode 100755
--- /dev/null
+++ b/build/buildbot/slaves/linux-mips/scripts/upload-asteam.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+#  ***** BEGIN LICENSE BLOCK *****
+#  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License. You may obtain a copy of the License at
+#  http://www.mozilla.org/MPL/
+# 
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+# 
+#  The Original Code is [Open Source Virtual Machine.].
+# 
+#  The Initial Developer of the Original Code is
+#  Adobe System Incorporated.
+#  Portions created by the Initial Developer are Copyright (C) 2010
+#  the Initial Developer. All Rights Reserved.
+# 
+#  Contributor(s):
+#    Adobe AS3 Team
+# 
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 2 or later (the "GPL"), or
+#  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+#  in which case the provisions of the GPL or the LGPL are applicable instead
+#  of those above. If you wish to allow use of your version of this file only
+#  under the terms of either the GPL or the LGPL, and not to allow others to
+#  use your version of this file under the terms of the MPL, indicate your
+#  decision by deleting the provisions above and replace them with the notice
+#  and other provisions required by the GPL or the LGPL. If you do not delete
+#  the provisions above, a recipient may use your version of this file under
+#  the terms of any one of the MPL, the GPL or the LGPL.
+# 
+#  ***** END LICENSE BLOCK ****
+(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed
+
+##
+# Bring in the environment variables
+##
+. ./environment.sh
+
+
+##
+# Calculate the change number and change id
+##
+. ../all/util-calculate-change.sh $1
+
+
+# Release_mips-linux
+. ../all/util-upload-ftp-asteam.sh $buildsdir/${change}-${changeid}/$platform/$shell_release $ftp_asteam/$branch/$change-${changeid}/$platform/$shell_release
+
+# Debug_mips-linux
+. ../all/util-upload-ftp-asteam.sh $buildsdir/${change}-${changeid}/$platform/$shell_debug $ftp_asteam/$branch/$change-${changeid}/$platform/$shell_debug
+
+
+
new file mode 100755
--- /dev/null
+++ b/build/buildbot/slaves/linux-mips/scripts/upload-mozilla.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+#  ***** BEGIN LICENSE BLOCK *****
+#  Version: MPL 1.1/GPL 2.0/LGPL 2.1
+# 
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License. You may obtain a copy of the License at
+#  http://www.mozilla.org/MPL/
+# 
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+# 
+#  The Original Code is [Open Source Virtual Machine.].
+# 
+#  The Initial Developer of the Original Code is
+#  Adobe System Incorporated.
+#  Portions created by the Initial Developer are Copyright (C) 2010
+#  the Initial Developer. All Rights Reserved.
+# 
+#  Contributor(s):
+#    Adobe AS3 Team
+# 
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 2 or later (the "GPL"), or
+#  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+#  in which case the provisions of the GPL or the LGPL are applicable instead
+#  of those above. If you wish to allow use of your version of this file only
+#  under the terms of either the GPL or the LGPL, and not to allow others to
+#  use your version of this file under the terms of the MPL, indicate your
+#  decision by deleting the provisions above and replace them with the notice
+#  and other provisions required by the GPL or the LGPL. If you do not delete
+#  the provisions above, a recipient may use your version of this file under
+#  the terms of any one of the MPL, the GPL or the LGPL.
+# 
+#  ***** END LICENSE BLOCK ****
+(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed
+
+##
+# Bring in the environment variables
+##
+. ./environment.sh
+
+
+##
+# Calculate the change number and change id
+##
+. ../all/util-calculate-change.sh $1
+
+
+
+# Release_mips-linux
+. ../all/util-upload-scp-mozilla.sh $buildsdir/$change-${changeid}/$platform/$shell_release $scp_mozilla/$branch/$change-${changeid}/$platform/$shell_release
+echo "url: ftp://ftp.mozilla.org/pub/js/tamarin/builds/$branch/$change-${changeid}/$platform/$shell_release $shell_release"
+
+# Debug_mips-linux
+. ../all/util-upload-scp-mozilla.sh $buildsdir/$change-${changeid}/$platform/$shell_debug $scp_mozilla/$branch/$change-${changeid}/$platform/$shell_debug
+echo "url: ftp://ftp.mozilla.org/pub/js/tamarin/builds/$branch/$change-${changeid}/$platform/$shell_debug $shell_debug"
+