1515# the case. Therefore, you don't have to disable it anymore.
1616#
1717
18- FROM aarch64/ubuntu:xenial
18+ FROM arm64v8/debian:stretch
19+
20+ # allow replacing httpredir or deb mirror
21+ ARG APT_MIRROR=deb.debian.org
22+ RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
1923
2024# Packaged dependencies
2125RUN apt-get update && apt-get install -y \
2226 apparmor \
27+ apt-utils \
2328 aufs-tools \
2429 automake \
2530 bash-completion \
31+ bsdmainutils \
2632 btrfs-tools \
2733 build-essential \
2834 cmake \
@@ -32,26 +38,34 @@ RUN apt-get update && apt-get install -y \
3238 g++ \
3339 gcc \
3440 git \
41+ golang \
3542 iptables \
3643 jq \
44+ less \
3745 libapparmor-dev \
38- libc6-dev \
3946 libcap-dev \
47+ libnl-3-dev \
48+ libprotobuf-c0-dev \
49+ libprotobuf-dev \
4050 libsystemd-dev \
41- libyaml-dev \
51+ libtool \
52+ libudev-dev \
4253 mercurial \
4354 net-tools \
44- parallel \
4555 pkg-config \
56+ protobuf-compiler \
57+ protobuf-c-compiler \
4658 python-dev \
4759 python-mock \
4860 python-pip \
4961 python-setuptools \
5062 python-websocket \
51- golang-go \
52- iproute2 \
53- iputils-ping \
63+ tar \
64+ thin-provisioning-tools \
65+ vim \
5466 vim-common \
67+ xfsprogs \
68+ zip \
5569 --no-install-recommends
5670
5771# Get lvm2 sources to build statically linked devmapper library
@@ -66,6 +80,7 @@ RUN cd /usr/local/lvm2 \
6680 --build="$(gcc -print-multiarch)" \
6781 --enable-static_link \
6882 --enable-pkgconfig \
83+ --enable-udev_sync \
6984 && make -C include \
7085 && make -C libdm install_device-mapper
7186
@@ -86,9 +101,7 @@ RUN set -x \
86101
87102# Install Go
88103# We don't have official binary golang 1.7.5 tarballs for ARM64, either for Go or
89- # bootstrap, so we use golang-go (1.6) as bootstrap to build Go from source code.
90- # We don't use the official ARMv6 released binaries as a GOROOT_BOOTSTRAP, because
91- # not all ARM64 platforms support 32-bit mode. 32-bit mode is optional for ARMv8.
104+ # bootstrap, so we use Debian golang (1.7) as bootstrap to build Go from source code.
92105# IMPORTANT: When updating this please note that stdlib archive/tar pkg is vendored
93106ENV GO_VERSION 1.8.3
94107RUN mkdir /usr/src/go && curl -fsSL https://golang.org/dl/go${GO_VERSION}.src.tar.gz | tar -v -C /usr/src/go -xz --strip-components=1 \
0 commit comments