2016-02-29 17:01:33 -08:00
|
|
|
FROM rancher/os-dapper-base
|
|
|
|
|
2015-07-23 18:53:01 +05:00
|
|
|
RUN apt-get update && \
|
2016-02-29 17:01:33 -08:00
|
|
|
apt-get -y install locales sudo vim less curl wget git rsync build-essential isolinux xorriso gccgo \
|
2016-03-31 15:35:45 -07:00
|
|
|
libblkid-dev libmount-dev libselinux1-dev cpio genisoimage qemu-kvm qemu python-pip ca-certificates pkg-config tox module-init-tools
|
2016-02-29 17:01:33 -08:00
|
|
|
|
2016-03-14 18:26:21 -07:00
|
|
|
ARG HOST_ARCH
|
|
|
|
ENV HOST_ARCH ${HOST_ARCH}
|
2016-03-22 11:26:18 -07:00
|
|
|
RUN ln -sf go-6 /usr/bin/go && mkdir -p /usr/local && cd /usr/local && \
|
2016-05-08 20:28:52 -07:00
|
|
|
wget -O - https://storage.googleapis.com/golang/go1.6.2.src.tar.gz | tar -xz && \
|
2016-03-14 18:26:21 -07:00
|
|
|
cd go/src && GOROOT_BOOTSTRAP=/usr GOARCH=${HOST_ARCH} GOHOSTARCH=${HOST_ARCH} ./make.bash
|
2016-01-15 18:18:30 +05:00
|
|
|
|
2016-02-29 17:01:33 -08:00
|
|
|
ENV PATH /usr/local/go/bin:$PATH
|
2015-07-23 18:53:01 +05:00
|
|
|
RUN mkdir -p /go/src /go/bin && chmod -R 777 /go
|
|
|
|
ENV GOPATH /go
|
|
|
|
ENV PATH /go/bin:$PATH
|
|
|
|
|
2016-03-14 18:26:21 -07:00
|
|
|
ARG HOST_DOCKER_BINARY_URL
|
|
|
|
ENV HOST_DOCKER_BINARY_URL ${HOST_DOCKER_BINARY_URL}
|
|
|
|
RUN wget -O - ${HOST_DOCKER_BINARY_URL} > /usr/local/bin/docker
|
2016-01-15 18:18:30 +05:00
|
|
|
RUN chmod +x /usr/local/bin/docker
|
2015-12-14 16:38:19 +05:00
|
|
|
|
2015-12-19 22:34:07 -07:00
|
|
|
ENV DAPPER_DOCKER_SOCKET true
|
2015-12-14 16:38:19 +05:00
|
|
|
ENV DAPPER_SOURCE /go/src/github.com/rancher/os
|
2016-02-29 17:01:33 -08:00
|
|
|
ENV DAPPER_OUTPUT ./bin ./dist ./build/os-config.yml
|
2015-12-14 16:38:19 +05:00
|
|
|
ENV DAPPER_RUN_ARGS --privileged
|
|
|
|
ENV SHELL /bin/bash
|
|
|
|
WORKDIR ${DAPPER_SOURCE}
|
|
|
|
|
2016-02-29 17:01:33 -08:00
|
|
|
COPY .dockerignore.dapper .dockerignore
|
2016-02-28 11:17:03 -08:00
|
|
|
|
2016-02-29 17:01:33 -08:00
|
|
|
CMD make
|
|
|
|
|
|
|
|
ARG TOOLCHAIN
|
|
|
|
ENV TOOLCHAIN ${TOOLCHAIN}
|
|
|
|
|
2016-03-14 18:26:21 -07:00
|
|
|
RUN if [ "${TOOLCHAIN}" != "" ] && ! which ${TOOLCHAIN}-gcc; then \
|
|
|
|
apt-get install -y gcc-${TOOLCHAIN} g++-${TOOLCHAIN} \
|
|
|
|
;fi
|
|
|
|
|
2016-02-29 17:01:33 -08:00
|
|
|
RUN if [ "${TOOLCHAIN}" != "" ]; then \
|
2016-03-23 15:31:33 -07:00
|
|
|
apt-get update && \
|
2016-02-29 17:01:33 -08:00
|
|
|
cd /usr/local/src && \
|
2016-03-16 10:52:05 -07:00
|
|
|
for i in libselinux libsepol pcre3 util-linux; do \
|
2016-02-29 17:01:33 -08:00
|
|
|
apt-get build-dep -y $i && \
|
|
|
|
apt-get source -y $i \
|
|
|
|
;done \
|
|
|
|
;fi
|
|
|
|
|
|
|
|
RUN if [ "${TOOLCHAIN}" != "" ]; then \
|
|
|
|
cd /usr/local/src/pcre3-* && \
|
|
|
|
autoreconf && \
|
|
|
|
CC=${TOOLCHAIN}-gcc CXX=${TOOLCHAIN}-g++ ./configure --host=${TOOLCHAIN} --prefix=/usr/${TOOLCHAIN} && \
|
|
|
|
make -j$(nproc) && \
|
|
|
|
make install \
|
|
|
|
;fi
|
|
|
|
|
|
|
|
RUN if [ "${TOOLCHAIN}" != "" ]; then \
|
|
|
|
cd /usr/local/src/libselinux-* && \
|
|
|
|
CC=${TOOLCHAIN}-gcc CXX=${TOOLCHAIN}-g++ make CFLAGS=-Wall && \
|
2016-03-16 10:52:05 -07:00
|
|
|
make PREFIX=/usr/${TOOLCHAIN} DESTDIR=/usr/${TOOLCHAIN} install && \
|
|
|
|
cd /usr/local/src/libsepol-* && \
|
|
|
|
CC=${TOOLCHAIN}-gcc CXX=${TOOLCHAIN}-g++ make CFLAGS=-Wall && \
|
2016-02-29 17:01:33 -08:00
|
|
|
make PREFIX=/usr/${TOOLCHAIN} DESTDIR=/usr/${TOOLCHAIN} install \
|
|
|
|
;fi
|
|
|
|
|
|
|
|
RUN if [ "${TOOLCHAIN}" != "" ]; then \
|
|
|
|
cd /usr/local/src/util-linux-* && \
|
|
|
|
autoreconf && \
|
|
|
|
CC=${TOOLCHAIN}-gcc CXX=${TOOLCHAIN}-g++ ./configure --host=${TOOLCHAIN} --prefix=/usr/${TOOLCHAIN} \
|
|
|
|
--disable-all-programs \
|
|
|
|
--enable-libmount \
|
|
|
|
--enable-libblkid \
|
|
|
|
--enable-libuuid \
|
|
|
|
--enable-mount && \
|
|
|
|
make -j$(nproc) && \
|
|
|
|
make install \
|
|
|
|
;fi
|
2016-03-23 13:28:05 -07:00
|
|
|
|
|
|
|
RUN apt-get update && \
|
|
|
|
apt-get -y install dosfstools
|