diff --git a/build/tfs/linux/ia32/Dockerfile b/build/tfs/linux/ia32/Dockerfile new file mode 100644 index 00000000000..bf6315cfcee --- /dev/null +++ b/build/tfs/linux/ia32/Dockerfile @@ -0,0 +1,45 @@ +FROM microsoft/vsts-agent:ubuntu-14.04-standard +MAINTAINER Joao Moreno + +RUN dpkg --add-architecture i386 +RUN apt-get update + +# Dependencies +RUN apt-get install -y build-essential +RUN apt-get install -y gcc:i386 g++:i386 +RUN apt-get install -y gcc-multilib:i386 g++-multilib:i386 +RUN apt-get install -y zip +RUN apt-get install -y rpm +RUN apt-get install -y createrepo +RUN apt-get install -y python-gtk2 +RUN apt-get install -y jq +RUN apt-get install -y xvfb +RUN apt-get install -y fakeroot +RUN apt-get install -y libgtk2.0-0:i386 +RUN apt-get install -y libgconf-2-4:i386 +RUN apt-get install -y libnss3:i386 +RUN apt-get install -y libasound2:i386 +RUN apt-get install -y libxtst6:i386 +RUN apt-get install -y libfuse2 +RUN apt-get install -y libnotify-bin +RUN apt-get install -y libnotify4:i386 +RUN apt-get install -y libx11-dev:i386 +RUN apt-get install -y libxkbfile-dev:i386 +RUN apt-get install -y libxss1:i386 +RUN apt-get install -y libx11-xcb-dev:i386 +RUN apt-get install -y libgl1-mesa-glx:i386 libgl1-mesa-dri:i386 +RUN apt-get install -y libxkbfile-dev +RUN apt-get install -y bc bsdmainutils +RUN apt-get install -y libgirepository-1.0-1:i386 gir1.2-glib-2.0:i386 gir1.2-secret-1:i386 libsecret-1-dev:i386 + +# Xvfb +# Thanks https://medium.com/@griggheo/running-headless-selenium-webdriver-tests-in-docker-containers-342fdbabf756 +ADD xvfb.init /etc/init.d/xvfb +RUN chmod +x /etc/init.d/xvfb +RUN update-rc.d xvfb defaults + +# nvm +ENV NVM_DIR /usr/local/nvm +RUN curl https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash + +CMD (service xvfb start; export DISPLAY=:10; PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig; ./start.sh) \ No newline at end of file diff --git a/build/tfs/linux/ia32/xvfb.init b/build/tfs/linux/ia32/xvfb.init new file mode 100644 index 00000000000..4d77d253a26 --- /dev/null +++ b/build/tfs/linux/ia32/xvfb.init @@ -0,0 +1,53 @@ +#!/bin/bash +# +# /etc/rc.d/init.d/xvfbd +# +# chkconfig: 345 95 28 +# description: Starts/Stops X Virtual Framebuffer server +# processname: Xvfb +# +### BEGIN INIT INFO +# Provides: xvfb +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start xvfb at boot time +# Description: Enable xvfb provided by daemon. +### END INIT INFO + +[ "${NETWORKING}" = "no" ] && exit 0 + +PROG="/usr/bin/Xvfb" +PROG_OPTIONS=":10 -ac" +PROG_OUTPUT="/tmp/Xvfb.out" + +case "$1" in + start) + echo "Starting : X Virtual Frame Buffer " + $PROG $PROG_OPTIONS>>$PROG_OUTPUT 2>&1 & + disown -ar + ;; + stop) + echo "Shutting down : X Virtual Frame Buffer" + killproc $PROG + RETVAL=$? + [ $RETVAL -eq 0 ] && /bin/rm -f /var/lock/subsys/Xvfb + /var/run/Xvfb.pid + echo + ;; + restart|reload) + $0 stop + $0 start + RETVAL=$? + ;; + status) + status Xvfb + RETVAL=$? + ;; + *) + echo $"Usage: $0 (start|stop|restart|reload|status)" + exit 1 +esac + +exit $RETVAL \ No newline at end of file