-
Notifications
You must be signed in to change notification settings - Fork 5
/
Dockerfile
144 lines (123 loc) · 4.1 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
FROM ubuntu:14.04
###########
#
# Installs CoREBench + Desktop environment
# Based on Dockerfile from Roberto H. Hashioka (git://github.com/rogaha/docker-desktop.git)
#
###########
MAINTAINER Marcel Boehme <marcel.boehme@acm.org>
RUN \
apt-get update \
--quiet \
&& apt-get upgrade -y
ENV DEBIAN_FRONTEND=noninteractive
ENV HOME /root
# RUN apt-mark hold initscripts udev plymouth mountall
# RUN dpkg-divert --local --rename --add /sbin/initctl && ln -sf /bin/true /sbin/initctl
# RUN sed -i "/^# deb.*multiverse/ s/^# //" /etc/apt/sources.list
RUN \
apt-get install \
--yes \
--no-install-recommends \
--no-install-suggests \
autoconf \
autogen \
autopoint \
automake \
bison \
clang \
cvs \
gettext \
gcc \
git \
gnuplot \
gperf \
gzip \
lcov \
libtool \
make \
nasm \
patch \
perl \
rsync \
tar \
texinfo \
subversion \
unzip \
vim \
wget
RUN apt-get install \
--yes \
--no-install-recommends \
--no-install-suggests \
supervisor \
python-dev build-essential \
openssh-server sudo net-tools \
lxde-core lxde-icon-theme x11vnc xvfb screen openbox nodejs firefox \
htop bmon nano lxterminal
# firefox lxde-core lxterminal tightvncserver
# firefox lxde-core lxterminal tightvncserver
# ubuntu-desktop xorg lxde-core lxde-icon-theme x11vnc xvfb \
# pwgen sudo net-tools openssh-server tightvncserver \
# gtk2-engines-murrine ttf-ubuntu-font-family nano \
# language-pack-zh-hant language-pack-gnome-zh-hant firefox-locale-zh-hant \
# nginx \
# python-pip python-dev build-essential
RUN apt-get clean \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /root
#FIX problem with aclocal and pkg-config
ENV ACLOCAL_PATH /usr/share/aclocal
RUN \
wget http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz >/dev/null 2>&1 \
&& tar -zxvf pkg-config-0.28.tar.gz >/dev/null 2>&1\
&& cd pkg-config-0.28 \
&& ./configure --with-internal-glib >/dev/null 2>&1 && make >/dev/null 2>&1 && make install >/dev/null 2>&1
#FIX problem with aclocal
RUN cp /usr/local/share/aclocal/* /usr/share/aclocal && mv /usr/local/share/aclocal /tmp
RUN \
locale-gen en_US.UTF-8 \
&& locale-gen ru_RU.KOI8-R\
&& locale-gen tr_TR.UTF-8 \
&& locale-gen ja_JP.UTF-8 \
&& locale-gen en_HK.UTF-8 \
&& locale-gen zh_CN \
&& localedef -i ja_JP -c -f SHIFT_JIS /usr/lib/locale/ja_JP.sjis
#Attempt to make as much progress as possible
WORKDIR /root
#RUN \
# wget --no-check-certificate https://github.com/mboehme/corebench/archive/master.zip \
# && unzip master.zip \
# && cp corebench-master/corebench.tar.gz . \
# && cp corebench-master/startup.sh / \
# && cp corebench-master/supervisord.conf / \
# && cp corebench-master/password.txt / \
# && rm -rf corebench-master
ENV SHELL /bin/bash
COPY corebench.tar.gz /root
RUN \
tar -zxvf corebench.tar.gz >/dev/null 2>&1 \
&& mkdir corerepo
WORKDIR /root/corebench
RUN ./createCoREBench.sh compile-all make /root/corerepo
RUN ./createCoREBench.sh compile-all grep /root/corerepo
RUN ./createCoREBench.sh compile-all find /root/corerepo
#Now fail if any problems
RUN ./createCoREBench.sh compile make /root/corerepo
RUN ./createCoREBench.sh compile grep /root/corerepo
RUN ./createCoREBench.sh compile find /root/corerepo
RUN ./executeTests.sh test-all make /root/corerepo
RUN ./executeTests.sh test-all grep /root/corerepo
RUN ./executeTests.sh test-all find /root/corerepo
## Installing coreutils will deplete the 10GB limit imposed by Docker
#RUN ./createCoREBench.sh compile-all core /root/corerepo
#RUN ./createCoREBench.sh compile core /root/corerepo
#RUN ./executeTests.sh test-all core /root/corerepo
ADD startup.sh /
ADD supervisord.conf /
ADD password.txt /
EXPOSE 5800
EXPOSE 5900
EXPOSE 22
WORKDIR /
ENTRYPOINT ["/startup.sh"]