github.com/ylsGit/go-ethereum@v1.6.5/tests/files/ansible/test-files/docker-go/Dockerfile (about)

     1  # Adjusted from https://github.com/ethereum/go-ethereum/blob/develop/Dockerfile
     2  FROM ubuntu:14.04
     3  
     4  ## Environment setup
     5  ENV HOME /root
     6  ENV GOPATH /root/go
     7  ENV PATH /golang/bin:/root/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
     8  ENV PKG_CONFIG_PATH /opt/qt54/lib/pkgconfig
     9  
    10  RUN mkdir -p /root/go
    11  ENV DEBIAN_FRONTEND noninteractive
    12  
    13  ## Install base dependencies
    14  RUN apt-get update && apt-get upgrade -y
    15  RUN apt-get install -y git mercurial build-essential software-properties-common pkg-config libgmp3-dev libreadline6-dev libpcre3-dev libpcre++-dev mesa-common-dev libglu1-mesa-dev
    16  
    17  ## Install Qt5.4 dependencies from PPA
    18  RUN add-apt-repository ppa:beineri/opt-qt54-trusty -y
    19  RUN apt-get update -y
    20  RUN apt-get install -y qt54quickcontrols qt54webengine 
    21  
    22  ## Build and install latest Go
    23  RUN git clone https://go.googlesource.com/go golang
    24  RUN cd golang && git checkout go1.4.1
    25  RUN cd golang/src && ./make.bash && go version
    26  
    27  ## Fetch and install QML
    28  RUN go get -u -v -d github.com/obscuren/qml
    29  WORKDIR $GOPATH/src/github.com/obscuren/qml
    30  RUN git checkout v1
    31  RUN go install -v
    32  
    33  # this is a workaround, to make sure that docker's cache is invalidated whenever the git repo changes
    34  ADD https://api.github.com/repos/ethereum/go-ethereum/git/refs/heads/develop unused.txt 
    35  
    36  ## Fetch and install go-ethereum
    37  RUN go get -u -v -d github.com/ethereum/go-ethereum/...
    38  WORKDIR $GOPATH/src/github.com/ethereum/go-ethereum
    39  
    40  RUN git checkout develop
    41  RUN git pull
    42  
    43  
    44  RUN ETH_DEPS=$(go list -f '{{.Imports}} {{.TestImports}} {{.XTestImports}}' github.com/ethereum/go-ethereum/... | sed -e 's/\[//g' | sed -e 's/\]//g' | sed -e 's/C //g'); if [ "$ETH_DEPS" ]; then go get $ETH_DEPS; fi
    45  RUN go install -v ./cmd/ethtest
    46  
    47  ENTRYPOINT ["ethtest"]