From 55b51890dd4b7a407944208e332f6ff557929383 Mon Sep 17 00:00:00 2001
From: "Denis S. Soldatov aka General-Beck" <general.beck@gmail.com>
Date: Mon, 20 Feb 2017 20:08:07 +0400
Subject: [PATCH] [ci-skip] backport Dockerfile for hub

---
 docker/hub/Dockerfile | 73 +++++++++++++++++++++++++------------------
 1 file changed, 43 insertions(+), 30 deletions(-)

diff --git a/docker/hub/Dockerfile b/docker/hub/Dockerfile
index d4f5b96ee1d..8973ed63f84 100644
--- a/docker/hub/Dockerfile
+++ b/docker/hub/Dockerfile
@@ -1,4 +1,5 @@
 FROM ubuntu:14.04
+MAINTAINER Parity Technologies <devops@parity.io>
 WORKDIR /build
 # install tools and dependencies
 RUN apt-get update && \
@@ -19,48 +20,60 @@ RUN apt-get update && \
         file \
         openssl \
         libssl-dev \
+        libudev-dev \
         pkg-config \
         dpkg-dev \
         # evmjit dependencies
         zlib1g-dev \
-        libedit-dev
-
-# cmake and llvm ppas. then update ppas
-RUN add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \
+        libedit-dev \
+	libudev-dev &&\
+# cmake and llvm ppa's. then update ppa's
+ add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \
         add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main" && \
         apt-get update && \
-        apt-get install -y --force-yes cmake llvm-3.7-dev
-
+        apt-get install -y --force-yes cmake llvm-3.7-dev && \
 # install evmjit
-RUN git clone https://github.com/debris/evmjit && \
+ git clone https://github.com/debris/evmjit && \
         cd evmjit && \
         mkdir build && cd build && \
-        cmake .. && make && make install && cd
-
+        cmake .. && make && make install && cd && \
 # install rustup
-RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
-
+ curl https://sh.rustup.rs -sSf | sh -s -- -y && \
 # rustup directory
-ENV PATH /root/.cargo/bin:$PATH
-
+ PATH=/root/.cargo/bin:$PATH && \
 # show backtraces
-ENV RUST_BACKTRACE 1
-
-# show tools
-RUN rustc -vV && \
-cargo -V && \
-gcc -v &&\
-g++ -v
-
+ RUST_BACKTRACE=1 && \
 # build parity
-RUN git clone https://github.com/ethcore/parity && \
+ cd /build&&git clone https://github.com/ethcore/parity && \
         cd parity && \
-        git pull && \
-        cargo build --release --features final && \
-        ls /build/parity/target/release/parity &&       \
-        strip /build/parity/target/release/parity
-
-RUN file /build/parity/target/release/parity
-
+	git pull&& \
+	git checkout $CI_BUILD_REF_NAME && \
+        cargo build --verbose --release --features final && \
+        #ls /build/parity/target/release/parity && \
+        strip /build/parity/target/release/parity && \
+ file /build/parity/target/release/parity&&mkdir -p /parity&& cp /build/parity/target/release/parity /parity&&\
+#cleanup Docker image
+ rm -rf /root/.cargo&&rm -rf /root/.multirust&&rm -rf /root/.rustup&&rm -rf /build&&\
+ apt-get purge -y  \
+        # make
+        build-essential \
+        # add-apt-repository
+        software-properties-common \
+        make \
+        curl \
+        wget \
+        git \
+        g++ \
+        gcc \
+        binutils \
+        file \
+        pkg-config \
+        dpkg-dev \
+        # evmjit dependencies
+        zlib1g-dev \
+        libedit-dev \
+        cmake llvm-3.7-dev&&\
+ rm -rf /var/lib/apt/lists/*
+# setup ENTRYPOINT
 EXPOSE 8080 8545 8180
-ENTRYPOINT ["/build/parity/target/release/parity"]
+ENTRYPOINT ["/parity/parity"]