Bug 1123827 - Support cross compiling to Linux using docker from any platform. r=gps
MozReview-Commit-ID: 7ivlnG6vJme
new file mode 100644
--- /dev/null
+++ b/testing/docker/platform-dev/Dockerfile
@@ -0,0 +1,23 @@
+FROM ubuntu:16.04
+MAINTAINER Benoit Girard <bgirard@mozilla.com>
+
+RUN useradd -d /home/worker -s /bin/bash -m worker
+WORKDIR /home/worker
+
+# install non-build specific dependencies in a single layer
+ADD system-setup.sh /tmp/system-setup.sh
+RUN bash /tmp/system-setup.sh
+
+# Set variable normally configured at login, by the shells parent process, these
+# are taken from GNU su manual
+ENV HOME /home/worker
+ENV SHELL /bin/bash
+ENV USER worker
+ENV LOGNAME worker
+# Default docker mozconfig
+ENV MOZCONFIG .mozconfig_docker
+ENV NO_MERCURIAL_SETUP_CHECK 1
+
+# Set a default command useful for debugging
+WORKDIR /home/worker/tree
+CMD ["/bin/bash", "--login"]
new file mode 100644
--- /dev/null
+++ b/testing/docker/platform-dev/VERSION
@@ -0,0 +1,1 @@
+0.1.0
new file mode 100644
--- /dev/null
+++ b/testing/docker/platform-dev/system-setup.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+
+set -ve
+
+test `whoami` == 'root'
+
+mkdir -p /setup
+cd /setup
+
+apt_packages=()
+
+apt_packages+=('autoconf2.13')
+apt_packages+=('build-essential')
+apt_packages+=('ca-certificates')
+apt_packages+=('ccache')
+apt_packages+=('curl')
+apt_packages+=('icecc')
+apt_packages+=('libasound2-dev')
+apt_packages+=('libcurl4-openssl-dev')
+apt_packages+=('libdbus-1-dev')
+apt_packages+=('libdbus-glib-1-dev')
+apt_packages+=('libgconf2-dev')
+apt_packages+=('libgtk-3-dev')
+apt_packages+=('libgtk2.0-dev')
+apt_packages+=('libiw-dev')
+apt_packages+=('libnotify-dev')
+apt_packages+=('libpulse-dev')
+apt_packages+=('libtool')
+apt_packages+=('libtool-bin')
+apt_packages+=('libxt-dev')
+apt_packages+=('mesa-common-dev')
+apt_packages+=('python-dbus')
+apt_packages+=('python-dev')
+apt_packages+=('python-pip')
+apt_packages+=('python-setuptools')
+apt_packages+=('sudo')
+apt_packages+=('tar')
+apt_packages+=('unzip')
+apt_packages+=('uuid')
+apt_packages+=('vim')
+apt_packages+=('wget')
+apt_packages+=('xvfb')
+apt_packages+=('xvfb')
+apt_packages+=('yasm')
+apt_packages+=('yasm')
+apt_packages+=('zip')
+
+apt-get update
+# This allows ubuntu-desktop to be installed without human interaction
+export DEBIAN_FRONTEND=noninteractive
+apt-get install -y --force-yes ${apt_packages[@]}
+
+cd /
+rm -rf /setup ~/.ccache ~/.cache ~/.npm
+apt-get clean
+apt-get autoclean