foundationdb/build/Dockerfile

60 lines
16 KiB
Docker
Raw Normal View History

2017-05-26 04:48:44 +08:00
FROM ubuntu:15.04
RUN sed -i -e 's/archive.ubuntu.com\|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list && apt-get clean && apt-get update
RUN apt-get --no-install-recommends install -y libffi6:amd64=3.2.1-2 libgmp10:amd64=2:6.0.0+dfsg-6ubuntu1 libnettle4:amd64=2.7.1-5 libhogweed2:amd64=2.7.1-5 libp11-kit0:amd64=0.20.7-1 libtasn1-6:amd64=4.2-2ubuntu1 libgnutls-deb0-28:amd64=3.3.8-3ubuntu3 libsqlite3-0:amd64=3.8.7.4-1 libroken18-heimdal:amd64=1.6~rc2+dfsg-9 libasn1-8-heimdal:amd64=1.6~rc2+dfsg-9 libkrb5support0:amd64=1.12.1+dfsg-18 libk5crypto3:amd64=1.12.1+dfsg-18 libkeyutils1:amd64=1.5.9-5ubuntu1 libkrb5-3:amd64=1.12.1+dfsg-18 libgssapi-krb5-2:amd64=1.12.1+dfsg-18 libidn11:amd64=1.28-1ubuntu2 libhcrypto4-heimdal:amd64=1.6~rc2+dfsg-9 libheimbase1-heimdal:amd64=1.6~rc2+dfsg-9 libwind0-heimdal:amd64=1.6~rc2+dfsg-9 libhx509-5-heimdal:amd64=1.6~rc2+dfsg-9 libkrb5-26-heimdal:amd64=1.6~rc2+dfsg-9 libheimntlm0-heimdal:amd64=1.6~rc2+dfsg-9 libgssapi3-heimdal:amd64=1.6~rc2+dfsg-9 libsasl2-modules-db:amd64=2.1.26.dfsg1-13 libsasl2-2:amd64=2.1.26.dfsg1-13 libldap-2.4-2:amd64=2.4.31-1+nmu2ubuntu12 librtmp1:amd64=2.4+20131018.git79459a2-5 libcurl3-gnutls:amd64=7.38.0-3ubuntu2 apt-transport-https:amd64=1.0.9.7ubuntu4 bzip2=1.0.6-7 ca-certificates=20141019 && apt-get clean
RUN echo "Acquire::CompressionTypes::Order \"bz2\";" > /etc/apt/apt.conf
RUN apt-get clean && apt-get update
RUN apt-get --no-install-recommends install -y --force-yes sudo=1.8.9p5-1ubuntu5 adduser=3.113+nmu3ubuntu3 apt=1.0.9.7ubuntu4 autoconf=2.69-8 automake=1:1.14.1-3ubuntu1 autotools-dev=20140911.1 base-files=7.2ubuntu9 base-passwd=3.5.37 bash=4.3-11ubuntu2 binutils=2.25-5ubuntu7 bison=2:3.0.2.dfsg-2 bsdutils=1:2.25.2-4ubuntu2 build-essential=11.6ubuntu6 ca-certificates-java=20140324 ccache=3.1.10-1 coreutils=8.23-3ubuntu1 cpp=4:4.9.2-2ubuntu2 cpp-4.9=4.9.2-10ubuntu13 dash=0.5.7-4ubuntu1 debconf=1.5.55ubuntu2 debianutils=4.4 debugedit=4.11.3-1.1 diffutils=1:3.3-1 dmsetup=2:1.02.90-2ubuntu1 dos2unix=6.0.4-1 dpkg=1.17.25ubuntu1 dpkg-dev=1.17.25ubuntu1 e2fslibs:amd64=1.42.12-1ubuntu2 e2fsprogs=1.42.12-1ubuntu2 fakeroot=1.20.2-1ubuntu1 file=1:5.20-1ubuntu2 findutils=4.4.2-9build1 flex=2.5.39-8 fontconfig=2.11.1-0ubuntu6 fontconfig-config=2.11.1-0ubuntu6 fonts-dejavu-core=2.34-1ubuntu1 g++=4:4.9.2-2ubuntu2 g++-4.9=4.9.2-10ubuntu13 gawk=1:4.1.1+dfsg-1 gcc=4:4.9.2-2ubuntu2 gcc-4.9=4.9.2-10ubuntu13 gcc-4.9-base:amd64=4.9.2-10ubuntu13 gcc-5-base:amd64=5.1~rc1-0ubuntu1 gdb=7.9-1ubuntu1 git=1:2.1.4-2.1 git-man=1:2.1.4-2.1 gnupg=1.4.18-7ubuntu1 golang=2:1.3.3-1ubuntu4 golang-doc=2:1.3.3-1ubuntu4 golang-go=2:1.3.3-1ubuntu4 golang-go-linux-amd64=2:1.3.3-1ubuntu4 golang-src=2:1.3.3-1ubuntu4 gperf=3.0.4-1 gpgv=1.4.18-7ubuntu1 grep=2.20-4.1 gyp=0.1~svn1729-3ubuntu1 gzip=1.6-4ubuntu1 hostname=3.15ubuntu2 init=1.22ubuntu11 init-system-helpers=1.22ubuntu11 initscripts=2.88dsf-53.2ubuntu12 insserv=1.14.0-5ubuntu3 java-common=0.52 libacl1:amd64=2.2.52-2 libapparmor1:amd64=2.9.1-0ubuntu9 libapt-pkg4.12:amd64=1.0.9.7ubuntu4 libasan1:amd64=4.9.2-10ubuntu13 libasn1-8-heimdal:amd64=1.6~rc2+dfsg-9 libasound2:amd64=1.0.28-1 libasound2-data=1.0.28-1 libasyncns0:amd64=0.8-5build1 libatk-wrapper-java=0.30.5-1 libatk-wrapper-java-jni:amd64=0.30.5-1 libatk1.0-0:amd64=2.14.0-1ubuntu1 libatk1.0-data=2.14.0-1ubuntu1 libatomic1:amd64=4.9.2-10ubuntu13 libattr1:amd64=1:2.4.47-2 libaudit-common=1:2.3.7-1ubuntu2 libaudit1:amd64=1:2.3.7-1ubuntu2 libavahi-client3:amd64=0.6.31-4ubuntu4 libavahi-common-data:amd64=0.6.31-4ubuntu4 libavahi-common3:amd64=0.6.31-4ubuntu4 libbison-dev:amd64=2:3.0.2.dfsg-2 libblkid1:amd64=2.25.2-4ubuntu2 libbsd-dev:amd64=0.7.0-2 libbsd0:amd64=0.7.0-2 libbz2-1.0:amd64=1.0.6-7 libc-ares-dev:amd64=1.10.0-2 libc-ares2:amd64=1.10.0-2 libc-bin=2.21-0ubuntu4 libc-dev-bin=2.21-0ubuntu4 libc6:amd64=2.21-0ubuntu4 libc6-dbg:amd64=2.21-0ubuntu4 libc6-dev:amd64=2.21-0ubuntu4 libcairo2:amd64=1.14.2-1ubuntu1 libcap2:amd64=1:2.24-6 libcap2-bin=1:2.24-6 libcilkrts5:amd64=4.9.2-10ubuntu13 libck-connector0:amd64=0.4.6-5 libcloog-isl4:amd64=0.18.2-3 libcomerr2:amd64=1.42.12-1ubuntu2 libcryptsetup4=2:1.6.1-1ubuntu7 libcups2:amd64=2.0.2-1ubuntu3 libcurl3-gnutls:amd64=7.38.0-3ubuntu2 libdatrie1:amd64=0.2.8-1 libdb5.3:amd64=5.3.28-9 libdbus-1-3:amd64=1.8.12-1ubuntu5 libdebconfclient0:amd64=0.192ubuntu1 libdevmapper1.02.1:amd64=2:1.02.90-2ubuntu1 libdpkg-perl=1.17.25ubuntu1 libdrm-intel1:amd64=2.4.60-2 libdrm-nouveau2:amd64=2.4.60-2 libdrm-radeon1:amd64=2.4.60-2 libdrm2:amd64=2.4.60-2 libedit-dev:amd64=3.1-20140620-2 libedit2:amd64=3.1-20140620-2 libelf1:amd64=0.160-0ubuntu3 liberror-perl=0.17-1.1 libexpat1:amd64=2.1.0-6ubuntu1 libfakeroot:amd64=1.20.2-1ubuntu1 libffi6:amd64=3.2.1-2 libfl-dev:amd64=2.5.39-8 libflac8:amd64=1.3.1-1ubuntu1 libfontconfig1:amd64=2.11.1-0ubuntu6 libfreetype6:amd64=2.5.2-2ubuntu3 libgcc-4.9-dev:amd64=4.9.2-10ubuntu13 libgcc1:amd64=1:5.1~rc1-0ubuntu1 libgcrypt20:amd64=1.6.2-4ubuntu2 libgdbm3:amd64=1.8.3-13.1 libgdk-pixbuf2.0-0:amd64=2.31.3-1 libgdk-pixbuf2.0-common=2.31.3-1 libgif4:amd64=4.1.6-11 libgl1-mesa-dri:amd64=10.5.2-0ubuntu1 libgl1-mesa-glx:amd64=10.5.2-0ubuntu1 libglapi-mesa:amd64=10.5.2-0ubuntu1 libglib2.0-0:amd64=2.44.0-1ubuntu3 libgmp10:amd64=2:6.0.0+dfsg-6ubuntu1 libgnutls-deb0-28:amd64=3.3.8-3ubuntu3 libgomp1:amd64=4.9.2-10ubuntu13 libgpg-error0:amd64=1.17-3ubuntu1 libgraphite2-3:amd64=1.2.4-3ubuntu1 libgssapi-krb5-2:amd64=1.12.1+dfsg-18 libgssapi3-heimdal:amd64=1.6~rc2+dfsg-9 libgtk2.0-0:amd64=2.24.27-0ubuntu1 libgtk2.0-comm
RUN adduser --disabled-password --gecos '' fdb
RUN chown -R fdb /opt
RUN chmod -R 0777 /opt
USER fdb
RUN cd /opt/ && wget http://downloads.sourceforge.net/project/boost/boost/1.52.0/boost_1_52_0.tar.bz2 -qO - | tar -xj
RUN mkdir -p /home/fdb/.ssh /opt/ct /opt/cross-build /opt/x-toolchain
RUN cd /opt/ && wget http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-1.21.0.tar.bz2 -qO - | tar -xj
RUN cd /opt/crosstool-ng-1.21.0 && ./configure --prefix=/opt/ct && make && make install
RUN mkdir -p /opt/cross-build/samples/x86_64-nptl-linux-gnu/
ADD ct.config.fdb /opt/cross-build/samples/x86_64-nptl-linux-gnu/crosstool.config
RUN touch /opt/cross-build/samples/x86_64-nptl-linux-gnu/reported.by
RUN cd /opt/cross-build && /opt/ct/bin/ct-ng x86_64-nptl-linux-gnu
RUN mkdir -p /opt/cross-build/.tarballs
RUN ((cd /opt/cross-build && /opt/ct/bin/ct-ng build && rm -rf /opt/cross-build /opt/crosstool-ng-1.21.0 /opt/ct) || (cat /opt/cross-build/build.log && false))
RUN cd /opt/ && wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz -qO - | tar -xz && cd /opt/ncurses-5.9 && ./configure CC=/opt/x-toolchain/bin/x86_64-nptl-linux-gnu-gcc CFLAGS=-fPIC --prefix=/opt/libncurses && make && make install && cd /opt && rm -rf ncurses-5.9
RUN cd /opt/ && wget http://thrysoee.dk/editline/libedit-20150325-3.1.tar.gz -qO - | tar -xz && cd /opt/libedit-20150325-3.1 && ./configure CC=/opt/x-toolchain/bin/x86_64-nptl-linux-gnu-cc CFLAGS=-fPIC LDFLAGS="-L/opt/libncurses/lib" --prefix=/opt/libedit && make && make install && cd /opt && rm -rf libedit-20150325-3.1
RUN ln -s /opt/libncurses/lib/libncurses.a /opt/libncurses/lib/libtinfo.a
USER root
RUN ln -s /opt/x-toolchain/lib/gcc/x86_64-nptl-linux-gnu/4.9.1/../../../../x86_64-nptl-linux-gnu/lib/../lib64/libstdc++.a /opt/x-toolchain/lib/gcc/x86_64-nptl-linux-gnu/4.9.1/../../../../x86_64-nptl-linux-gnu/lib/../lib64/libstdc++_pic.a
RUN pip install boto3==1.1.1
RUN npm install -g npm@3.4.1
RUN ln -s /usr/bin/nodejs /usr/bin/node
RUN LANGUAGE=en_US.UTF-8 LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8 locale-gen en_US.UTF-8
RUN dpkg-reconfigure locales