Remove unused/unmaintained package builder stuff
This is left-over stuff from building Docker pacakges. These aren't really maintained outside of bumping the golang version, and are never tested. These builders can be found at https://github.com/docker/docker-ce-packaging where they are kept up to date. Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This commit is contained in:
parent
b87bda893b
commit
1b7fe816e8
56 changed files with 1 additions and 1913 deletions
9
Makefile
9
Makefile
|
@ -1,4 +1,4 @@
|
||||||
.PHONY: all binary dynbinary build cross deb help init-go-pkg-cache install manpages rpm run shell test test-docker-py test-integration test-unit validate win
|
.PHONY: all binary dynbinary build cross help init-go-pkg-cache install manpages run shell test test-docker-py test-integration test-unit validate win
|
||||||
|
|
||||||
# set the graph driver as the current graphdriver if not set
|
# set the graph driver as the current graphdriver if not set
|
||||||
DOCKER_GRAPHDRIVER := $(if $(DOCKER_GRAPHDRIVER),$(DOCKER_GRAPHDRIVER),$(shell docker info 2>&1 | grep "Storage Driver" | sed 's/.*: //'))
|
DOCKER_GRAPHDRIVER := $(if $(DOCKER_GRAPHDRIVER),$(DOCKER_GRAPHDRIVER),$(shell docker info 2>&1 | grep "Storage Driver" | sed 's/.*: //'))
|
||||||
|
@ -137,10 +137,6 @@ clean-pkg-cache-vol:
|
||||||
cross: build ## cross build the binaries for darwin, freebsd and\nwindows
|
cross: build ## cross build the binaries for darwin, freebsd and\nwindows
|
||||||
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary binary cross
|
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary binary cross
|
||||||
|
|
||||||
deb: build ## build the deb packages
|
|
||||||
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary build-deb
|
|
||||||
|
|
||||||
|
|
||||||
help: ## this help
|
help: ## this help
|
||||||
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {sub("\\\\n",sprintf("\n%22c"," "), $$2);printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
|
||||||
|
|
||||||
|
@ -150,9 +146,6 @@ init-go-pkg-cache:
|
||||||
install: ## install the linux binaries
|
install: ## install the linux binaries
|
||||||
KEEPBUNDLE=1 hack/make.sh install-binary
|
KEEPBUNDLE=1 hack/make.sh install-binary
|
||||||
|
|
||||||
rpm: build ## build the rpm packages
|
|
||||||
$(DOCKER_RUN_DOCKER) hack/make.sh dynbinary build-rpm
|
|
||||||
|
|
||||||
run: build ## run the docker daemon in a container
|
run: build ## run the docker daemon in a container
|
||||||
$(DOCKER_RUN_DOCKER) sh -c "KEEPBUNDLE=1 hack/make.sh install-binary run"
|
$(DOCKER_RUN_DOCKER) sh -c "KEEPBUNDLE=1 hack/make.sh install-binary run"
|
||||||
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
set -x
|
|
||||||
./generate.sh
|
|
||||||
for d in */; do
|
|
||||||
docker build -t "dockercore/builder-deb:$(basename "$d")" "$d"
|
|
||||||
done
|
|
|
@ -1,17 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/aarch64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM aarch64/debian:jessie
|
|
||||||
|
|
||||||
RUN echo deb http://ftp.debian.org/debian jessie-backports main > /etc/apt/sources.list.d/backports.list
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-journal-dev libseccomp-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/aarch64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM aarch64/debian:stretch
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-dev libseccomp-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,112 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# This file is used to auto-generate Dockerfiles for making debs via 'make deb'
|
|
||||||
#
|
|
||||||
# usage: ./generate.sh [versions]
|
|
||||||
# ie: ./generate.sh
|
|
||||||
# to update all Dockerfiles in this directory
|
|
||||||
# or: ./generate.sh ubuntu-trusty
|
|
||||||
# to only update ubuntu-trusty/Dockerfile
|
|
||||||
# or: ./generate.sh ubuntu-newversion
|
|
||||||
# to create a new folder and a Dockerfile within it
|
|
||||||
#
|
|
||||||
# Note: non-LTS versions are not guaranteed to work.
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
versions=( "$@" )
|
|
||||||
if [ ${#versions[@]} -eq 0 ]; then
|
|
||||||
versions=( */ )
|
|
||||||
fi
|
|
||||||
versions=( "${versions[@]%/}" )
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
echo "${versions[@]}"
|
|
||||||
distro="${version%-*}"
|
|
||||||
suite="${version##*-}"
|
|
||||||
from="aarch64/${distro}:${suite}"
|
|
||||||
|
|
||||||
mkdir -p "$version"
|
|
||||||
echo "$version -> FROM $from"
|
|
||||||
cat > "$version/Dockerfile" <<-EOF
|
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/aarch64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM $from
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
extraBuildTags='apparmor selinux'
|
|
||||||
runcBuildTags='apparmor selinux'
|
|
||||||
|
|
||||||
# this list is sorted alphabetically; please keep it that way
|
|
||||||
packages=(
|
|
||||||
apparmor # for apparmor_parser for testing the profile
|
|
||||||
bash-completion # for bash-completion debhelper integration
|
|
||||||
btrfs-tools # for "btrfs/ioctl.h" (and "version.h" if possible)
|
|
||||||
build-essential # "essential for building Debian packages"
|
|
||||||
cmake # tini dep
|
|
||||||
curl ca-certificates # for downloading Go
|
|
||||||
debhelper # for easy ".deb" building
|
|
||||||
dh-apparmor # for apparmor debhelper
|
|
||||||
dh-systemd # for systemd debhelper integration
|
|
||||||
git # for "git commit" info in "docker -v"
|
|
||||||
libapparmor-dev # for "sys/apparmor.h"
|
|
||||||
libdevmapper-dev # for "libdevmapper.h"
|
|
||||||
pkg-config # for detecting things like libsystemd-journal dynamically
|
|
||||||
vim-common # tini dep
|
|
||||||
)
|
|
||||||
|
|
||||||
case "$suite" in
|
|
||||||
trusty)
|
|
||||||
packages+=( libsystemd-journal-dev )
|
|
||||||
;;
|
|
||||||
jessie)
|
|
||||||
packages+=( libsystemd-journal-dev )
|
|
||||||
packages+=( libseccomp-dev )
|
|
||||||
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags+=' seccomp'
|
|
||||||
;;
|
|
||||||
stretch|xenial)
|
|
||||||
packages+=( libsystemd-dev )
|
|
||||||
packages+=( libseccomp-dev )
|
|
||||||
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags+=' seccomp'
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Unsupported distro:" $distro:$suite
|
|
||||||
rm -fr "$version"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$suite" in
|
|
||||||
jessie)
|
|
||||||
echo 'RUN echo deb http://ftp.debian.org/debian jessie-backports main > /etc/apt/sources.list.d/backports.list' >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# update and install packages
|
|
||||||
echo "RUN apt-get update && apt-get install -y ${packages[*]} --no-install-recommends && rm -rf /var/lib/apt/lists/*" >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile.aarch64 >> "$version/Dockerfile"
|
|
||||||
echo 'RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
|
||||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'ENV AUTO_GOPATH 1' >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
# print build tags in alphabetical order
|
|
||||||
buildTags=$( echo "$extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
runcBuildTags=$( echo "$runcBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
|
||||||
echo "ENV RUNC_BUILDTAGS $runcBuildTags" >> "$version/Dockerfile"
|
|
||||||
done
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/aarch64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM aarch64/ubuntu:trusty
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/aarch64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM aarch64/ubuntu:xenial
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-dev libseccomp-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-arm64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,5 +0,0 @@
|
||||||
# `dockercore/builder-deb`
|
|
||||||
|
|
||||||
This image's tags contain the dependencies for building Docker `.deb`s for each of the Debian-based platforms Docker targets.
|
|
||||||
|
|
||||||
To add new tags, see [`contrib/builder/deb/amd64` in https://github.com/docker/docker](https://github.com/docker/docker/tree/master/contrib/builder/deb/amd64), specifically the `generate.sh` script, whose usage is described in a comment at the top of the file.
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
set -x
|
|
||||||
./generate.sh
|
|
||||||
for d in */; do
|
|
||||||
docker build -t "dockercore/builder-deb:$(basename "$d")" "$d"
|
|
||||||
done
|
|
|
@ -1,20 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM debian:jessie
|
|
||||||
|
|
||||||
# allow replacing httpredir or deb mirror
|
|
||||||
ARG APT_MIRROR=deb.debian.org
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux
|
|
|
@ -1,20 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM debian:stretch
|
|
||||||
|
|
||||||
# allow replacing httpredir or deb mirror
|
|
||||||
ARG APT_MIRROR=deb.debian.org
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,22 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM debian:wheezy-backports
|
|
||||||
|
|
||||||
# allow replacing httpredir or deb mirror
|
|
||||||
ARG APT_MIRROR=deb.debian.org
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list.d/backports.list
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y -t wheezy-backports btrfs-tools --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux
|
|
|
@ -1,130 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# usage: ./generate.sh [versions]
|
|
||||||
# ie: ./generate.sh
|
|
||||||
# to update all Dockerfiles in this directory
|
|
||||||
# or: ./generate.sh debian-jessie
|
|
||||||
# to only update debian-jessie/Dockerfile
|
|
||||||
# or: ./generate.sh debian-newversion
|
|
||||||
# to create a new folder and a Dockerfile within it
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
versions=( "$@" )
|
|
||||||
if [ ${#versions[@]} -eq 0 ]; then
|
|
||||||
versions=( */ )
|
|
||||||
fi
|
|
||||||
versions=( "${versions[@]%/}" )
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
distro="${version%-*}"
|
|
||||||
suite="${version##*-}"
|
|
||||||
from="${distro}:${suite}"
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
debian:wheezy)
|
|
||||||
# add -backports, like our users have to
|
|
||||||
from+='-backports'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
mkdir -p "$version"
|
|
||||||
echo "$version -> FROM $from"
|
|
||||||
cat > "$version/Dockerfile" <<-EOF
|
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM $from
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
if [ "$distro" = "debian" ]; then
|
|
||||||
cat >> "$version/Dockerfile" <<-'EOF'
|
|
||||||
# allow replacing httpredir or deb mirror
|
|
||||||
ARG APT_MIRROR=deb.debian.org
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if [ "$suite" = "wheezy" ]; then
|
|
||||||
cat >> "$version/Dockerfile" <<-'EOF'
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list.d/backports.list
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "" >> "$version/Dockerfile"
|
|
||||||
fi
|
|
||||||
|
|
||||||
extraBuildTags=
|
|
||||||
runcBuildTags=
|
|
||||||
|
|
||||||
# this list is sorted alphabetically; please keep it that way
|
|
||||||
packages=(
|
|
||||||
apparmor # for apparmor_parser for testing the profile
|
|
||||||
bash-completion # for bash-completion debhelper integration
|
|
||||||
btrfs-tools # for "btrfs/ioctl.h" (and "version.h" if possible)
|
|
||||||
build-essential # "essential for building Debian packages"
|
|
||||||
cmake # tini dep
|
|
||||||
curl ca-certificates # for downloading Go
|
|
||||||
debhelper # for easy ".deb" building
|
|
||||||
dh-apparmor # for apparmor debhelper
|
|
||||||
dh-systemd # for systemd debhelper integration
|
|
||||||
git # for "git commit" info in "docker -v"
|
|
||||||
libapparmor-dev # for "sys/apparmor.h"
|
|
||||||
libdevmapper-dev # for "libdevmapper.h"
|
|
||||||
libseccomp-dev # for "seccomp.h" & "libseccomp.so"
|
|
||||||
pkg-config # for detecting things like libsystemd-journal dynamically
|
|
||||||
vim-common # tini dep
|
|
||||||
)
|
|
||||||
# packaging for "sd-journal.h" and libraries varies
|
|
||||||
case "$suite" in
|
|
||||||
wheezy) ;;
|
|
||||||
jessie|trusty) packages+=( libsystemd-journal-dev ) ;;
|
|
||||||
*) packages+=( libsystemd-dev ) ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# debian wheezy does not have the right libseccomp libs
|
|
||||||
# debian jessie & ubuntu trusty have a libseccomp < 2.2.1 :(
|
|
||||||
case "$suite" in
|
|
||||||
wheezy|jessie|trusty)
|
|
||||||
packages=( "${packages[@]/libseccomp-dev}" )
|
|
||||||
runcBuildTags="apparmor selinux"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags="apparmor seccomp selinux"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ "$suite" = 'wheezy' ]; then
|
|
||||||
# pull a couple packages from backports explicitly
|
|
||||||
# (build failures otherwise)
|
|
||||||
backportsPackages=( btrfs-tools )
|
|
||||||
for pkg in "${backportsPackages[@]}"; do
|
|
||||||
packages=( "${packages[@]/$pkg}" )
|
|
||||||
done
|
|
||||||
echo "RUN apt-get update && apt-get install -y -t $suite-backports ${backportsPackages[*]} --no-install-recommends && rm -rf /var/lib/apt/lists/*" >> "$version/Dockerfile"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "RUN apt-get update && apt-get install -y ${packages[*]} --no-install-recommends && rm -rf /var/lib/apt/lists/*" >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile >> "$version/Dockerfile"
|
|
||||||
echo 'RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
|
||||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'ENV AUTO_GOPATH 1' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
# print build tags in alphabetical order
|
|
||||||
buildTags=$( echo "apparmor selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
|
||||||
echo "ENV RUNC_BUILDTAGS $runcBuildTags" >> "$version/Dockerfile"
|
|
||||||
done
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ubuntu:trusty
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ubuntu:xenial
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ubuntu:yakkety
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ubuntu:zesty
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,20 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/armhf/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM armhf/debian:jessie
|
|
||||||
|
|
||||||
# allow replacing httpredir or deb mirror
|
|
||||||
ARG APT_MIRROR=deb.debian.org
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux
|
|
|
@ -1,139 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# usage: ./generate.sh [versions]
|
|
||||||
# ie: ./generate.sh
|
|
||||||
# to update all Dockerfiles in this directory
|
|
||||||
# or: ./generate.sh debian-jessie
|
|
||||||
# to only update debian-jessie/Dockerfile
|
|
||||||
# or: ./generate.sh debian-newversion
|
|
||||||
# to create a new folder and a Dockerfile within it
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
versions=( "$@" )
|
|
||||||
if [ ${#versions[@]} -eq 0 ]; then
|
|
||||||
versions=( */ )
|
|
||||||
fi
|
|
||||||
versions=( "${versions[@]%/}" )
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
distro="${version%-*}"
|
|
||||||
suite="${version##*-}"
|
|
||||||
from="${distro}:${suite}"
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
raspbian:jessie)
|
|
||||||
from="resin/rpi-raspbian:jessie"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
from="armhf/$from"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
mkdir -p "$version"
|
|
||||||
echo "$version -> FROM $from"
|
|
||||||
cat > "$version/Dockerfile" <<-EOF
|
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/armhf/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM $from
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
if [[ "$distro" = "debian" || "$distro" = "raspbian" ]]; then
|
|
||||||
cat >> "$version/Dockerfile" <<-'EOF'
|
|
||||||
# allow replacing httpredir or deb mirror
|
|
||||||
ARG APT_MIRROR=deb.debian.org
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if [ "$suite" = "wheezy" ]; then
|
|
||||||
cat >> "$version/Dockerfile" <<-'EOF'
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list.d/backports.list
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "" >> "$version/Dockerfile"
|
|
||||||
fi
|
|
||||||
|
|
||||||
extraBuildTags=
|
|
||||||
runcBuildTags=
|
|
||||||
|
|
||||||
# this list is sorted alphabetically; please keep it that way
|
|
||||||
packages=(
|
|
||||||
apparmor # for apparmor_parser for testing the profile
|
|
||||||
bash-completion # for bash-completion debhelper integration
|
|
||||||
btrfs-tools # for "btrfs/ioctl.h" (and "version.h" if possible)
|
|
||||||
build-essential # "essential for building Debian packages"
|
|
||||||
cmake # tini dep
|
|
||||||
curl ca-certificates # for downloading Go
|
|
||||||
debhelper # for easy ".deb" building
|
|
||||||
dh-apparmor # for apparmor debhelper
|
|
||||||
dh-systemd # for systemd debhelper integration
|
|
||||||
git # for "git commit" info in "docker -v"
|
|
||||||
libapparmor-dev # for "sys/apparmor.h"
|
|
||||||
libdevmapper-dev # for "libdevmapper.h"
|
|
||||||
libseccomp-dev # for "seccomp.h" & "libseccomp.so"
|
|
||||||
pkg-config # for detecting things like libsystemd-journal dynamically
|
|
||||||
vim-common # tini dep
|
|
||||||
)
|
|
||||||
# packaging for "sd-journal.h" and libraries varies
|
|
||||||
case "$suite" in
|
|
||||||
wheezy) ;;
|
|
||||||
jessie|trusty) packages+=( libsystemd-journal-dev ) ;;
|
|
||||||
*) packages+=( libsystemd-dev ) ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# debian wheezy does not have the right libseccomp libs
|
|
||||||
# debian jessie & ubuntu trusty have a libseccomp < 2.2.1 :(
|
|
||||||
case "$suite" in
|
|
||||||
wheezy|jessie|trusty)
|
|
||||||
packages=( "${packages[@]/libseccomp-dev}" )
|
|
||||||
runcBuildTags="apparmor selinux"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags="apparmor seccomp selinux"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ "$suite" = 'wheezy' ]; then
|
|
||||||
# pull a couple packages from backports explicitly
|
|
||||||
# (build failures otherwise)
|
|
||||||
backportsPackages=( btrfs-tools )
|
|
||||||
for pkg in "${backportsPackages[@]}"; do
|
|
||||||
packages=( "${packages[@]/$pkg}" )
|
|
||||||
done
|
|
||||||
echo "RUN apt-get update && apt-get install -y -t $suite-backports ${backportsPackages[*]} --no-install-recommends && rm -rf /var/lib/apt/lists/*" >> "$version/Dockerfile"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "RUN apt-get update && apt-get install -y ${packages[*]} --no-install-recommends && rm -rf /var/lib/apt/lists/*" >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile.armhf >> "$version/Dockerfile"
|
|
||||||
if [ "$distro" == 'raspbian' ];
|
|
||||||
then
|
|
||||||
cat <<EOF >> "$version/Dockerfile"
|
|
||||||
# GOARM is the ARM architecture version which is unrelated to the above Golang version
|
|
||||||
ENV GOARM 6
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
echo 'RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
|
||||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'ENV AUTO_GOPATH 1' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
# print build tags in alphabetical order
|
|
||||||
buildTags=$( echo "apparmor selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
|
||||||
echo "ENV RUNC_BUILDTAGS $runcBuildTags" >> "$version/Dockerfile"
|
|
||||||
done
|
|
|
@ -1,22 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/armhf/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM resin/rpi-raspbian:jessie
|
|
||||||
|
|
||||||
# allow replacing httpredir or deb mirror
|
|
||||||
ARG APT_MIRROR=deb.debian.org
|
|
||||||
RUN sed -ri "s/(httpredir|deb).debian.org/$APT_MIRROR/g" /etc/apt/sources.list
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
# GOARM is the ARM architecture version which is unrelated to the above Golang version
|
|
||||||
ENV GOARM 6
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/armhf/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM armhf/ubuntu:trusty
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/armhf/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM armhf/ubuntu:xenial
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/armhf/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM armhf/ubuntu:yakkety
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libseccomp-dev pkg-config vim-common libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
set -x
|
|
||||||
./generate.sh
|
|
||||||
for d in */; do
|
|
||||||
docker build -t "dockercore/builder-deb:$(basename "$d")" "$d"
|
|
||||||
done
|
|
|
@ -1,101 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# This file is used to auto-generate Dockerfiles for making debs via 'make deb'
|
|
||||||
#
|
|
||||||
# usage: ./generate.sh [versions]
|
|
||||||
# ie: ./generate.sh
|
|
||||||
# to update all Dockerfiles in this directory
|
|
||||||
# or: ./generate.sh ubuntu-xenial
|
|
||||||
# to only update ubuntu-xenial/Dockerfile
|
|
||||||
# or: ./generate.sh ubuntu-newversion
|
|
||||||
# to create a new folder and a Dockerfile within it
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
versions=( "$@" )
|
|
||||||
if [ ${#versions[@]} -eq 0 ]; then
|
|
||||||
versions=( */ )
|
|
||||||
fi
|
|
||||||
versions=( "${versions[@]%/}" )
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
echo "${versions[@]}"
|
|
||||||
distro="${version%-*}"
|
|
||||||
suite="${version##*-}"
|
|
||||||
from="ppc64le/${distro}:${suite}"
|
|
||||||
|
|
||||||
mkdir -p "$version"
|
|
||||||
echo "$version -> FROM $from"
|
|
||||||
cat > "$version/Dockerfile" <<-EOF
|
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/ppc64le/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM $from
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
extraBuildTags=
|
|
||||||
runcBuildTags=
|
|
||||||
|
|
||||||
# this list is sorted alphabetically; please keep it that way
|
|
||||||
packages=(
|
|
||||||
apparmor # for apparmor_parser for testing the profile
|
|
||||||
bash-completion # for bash-completion debhelper integration
|
|
||||||
btrfs-tools # for "btrfs/ioctl.h" (and "version.h" if possible)
|
|
||||||
build-essential # "essential for building Debian packages"
|
|
||||||
cmake # tini dep
|
|
||||||
curl ca-certificates # for downloading Go
|
|
||||||
debhelper # for easy ".deb" building
|
|
||||||
dh-apparmor # for apparmor debhelper
|
|
||||||
dh-systemd # for systemd debhelper integration
|
|
||||||
git # for "git commit" info in "docker -v"
|
|
||||||
libapparmor-dev # for "sys/apparmor.h"
|
|
||||||
libdevmapper-dev # for "libdevmapper.h"
|
|
||||||
pkg-config # for detecting things like libsystemd-journal dynamically
|
|
||||||
vim-common # tini dep
|
|
||||||
)
|
|
||||||
|
|
||||||
case "$suite" in
|
|
||||||
trusty)
|
|
||||||
packages+=( libsystemd-journal-dev )
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
# libseccomp isn't available until ubuntu xenial and is required for "seccomp.h" & "libseccomp.so"
|
|
||||||
packages+=( libseccomp-dev )
|
|
||||||
packages+=( libsystemd-dev )
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# buildtags
|
|
||||||
case "$suite" in
|
|
||||||
# trusty has no seccomp package
|
|
||||||
trusty)
|
|
||||||
runcBuildTags="apparmor selinux"
|
|
||||||
;;
|
|
||||||
# ppc64le support was backported into libseccomp 2.2.3-2,
|
|
||||||
# so enable seccomp by default
|
|
||||||
*)
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags="apparmor seccomp selinux"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# update and install packages
|
|
||||||
echo "RUN apt-get update && apt-get install -y ${packages[*]} --no-install-recommends && rm -rf /var/lib/apt/lists/*" >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile.ppc64le >> "$version/Dockerfile"
|
|
||||||
echo 'RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-ppc64le.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
|
||||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'ENV AUTO_GOPATH 1' >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
# print build tags in alphabetical order
|
|
||||||
buildTags=$( echo "apparmor selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
|
||||||
echo "ENV RUNC_BUILDTAGS $runcBuildTags" >> "$version/Dockerfile"
|
|
||||||
done
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/ppc64le/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ppc64le/ubuntu:trusty
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-ppc64le.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/ppc64le/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ppc64le/ubuntu:xenial
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libseccomp-dev libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-ppc64le.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/ppc64le/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ppc64le/ubuntu:yakkety
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev pkg-config vim-common libseccomp-dev libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-ppc64le.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor seccomp selinux
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
set -x
|
|
||||||
./generate.sh
|
|
||||||
for d in */; do
|
|
||||||
docker build -t "dockercore/builder-deb:$(basename "$d")" "$d"
|
|
||||||
done
|
|
|
@ -1,94 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# This file is used to auto-generate Dockerfiles for making debs via 'make deb'
|
|
||||||
#
|
|
||||||
# usage: ./generate.sh [versions]
|
|
||||||
# ie: ./generate.sh
|
|
||||||
# to update all Dockerfiles in this directory
|
|
||||||
# or: ./generate.sh ubuntu-xenial
|
|
||||||
# to only update ubuntu-xenial/Dockerfile
|
|
||||||
# or: ./generate.sh ubuntu-newversion
|
|
||||||
# to create a new folder and a Dockerfile within it
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
versions=( "$@" )
|
|
||||||
if [ ${#versions[@]} -eq 0 ]; then
|
|
||||||
versions=( */ )
|
|
||||||
fi
|
|
||||||
versions=( "${versions[@]%/}" )
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
echo "${versions[@]}"
|
|
||||||
distro="${version%-*}"
|
|
||||||
suite="${version##*-}"
|
|
||||||
from="s390x/${distro}:${suite}"
|
|
||||||
|
|
||||||
mkdir -p "$version"
|
|
||||||
echo "$version -> FROM $from"
|
|
||||||
cat > "$version/Dockerfile" <<-EOF
|
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/s390x/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM $from
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
extraBuildTags=
|
|
||||||
runcBuildTags=
|
|
||||||
|
|
||||||
# this list is sorted alphabetically; please keep it that way
|
|
||||||
packages=(
|
|
||||||
apparmor # for apparmor_parser for testing the profile
|
|
||||||
bash-completion # for bash-completion debhelper integration
|
|
||||||
btrfs-tools # for "btrfs/ioctl.h" (and "version.h" if possible)
|
|
||||||
build-essential # "essential for building Debian packages"
|
|
||||||
cmake # tini dep
|
|
||||||
curl ca-certificates # for downloading Go
|
|
||||||
debhelper # for easy ".deb" building
|
|
||||||
dh-apparmor # for apparmor debhelper
|
|
||||||
dh-systemd # for systemd debhelper integration
|
|
||||||
git # for "git commit" info in "docker -v"
|
|
||||||
libapparmor-dev # for "sys/apparmor.h"
|
|
||||||
libdevmapper-dev # for "libdevmapper.h"
|
|
||||||
libseccomp-dev # for "seccomp.h" & "libseccomp.so"
|
|
||||||
pkg-config # for detecting things like libsystemd-journal dynamically
|
|
||||||
libsystemd-dev
|
|
||||||
vim-common # tini dep
|
|
||||||
)
|
|
||||||
|
|
||||||
case "$suite" in
|
|
||||||
# s390x needs libseccomp 2.3.1
|
|
||||||
xenial)
|
|
||||||
# Ubuntu Xenial has libseccomp 2.2.3
|
|
||||||
runcBuildTags="apparmor selinux"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags="apparmor selinux seccomp"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# update and install packages
|
|
||||||
echo "RUN apt-get update && apt-get install -y ${packages[*]} --no-install-recommends && rm -rf /var/lib/apt/lists/*" >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile.s390x >> "$version/Dockerfile"
|
|
||||||
echo 'RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
|
||||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'ENV AUTO_GOPATH 1' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
# print build tags in alphabetical order
|
|
||||||
buildTags=$( echo "apparmor selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
|
||||||
echo "ENV RUNC_BUILDTAGS $runcBuildTags" >> "$version/Dockerfile"
|
|
||||||
done
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/s390x/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM s390x/ubuntu:xenial
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libseccomp-dev pkg-config libsystemd-dev vim-common --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux
|
|
|
@ -1,16 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/s390x/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM s390x/ubuntu:yakkety
|
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential cmake curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libseccomp-dev pkg-config libsystemd-dev vim-common --no-install-recommends && rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS apparmor seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS apparmor selinux seccomp
|
|
|
@ -1,5 +0,0 @@
|
||||||
# `dockercore/builder-rpm`
|
|
||||||
|
|
||||||
This image's tags contain the dependencies for building Docker `.rpm`s for each of the RPM-based platforms Docker targets.
|
|
||||||
|
|
||||||
To add new tags, see [`contrib/builder/rpm/amd64` in https://github.com/docker/docker](https://github.com/docker/docker/tree/master/contrib/builder/rpm/amd64), specifically the `generate.sh` script, whose usage is described in a comment at the top of the file.
|
|
|
@ -1,18 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM amazonlinux:latest
|
|
||||||
|
|
||||||
RUN yum groupinstall -y "Development Tools"
|
|
||||||
RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
set -x
|
|
||||||
./generate.sh
|
|
||||||
for d in */; do
|
|
||||||
docker build -t "dockercore/builder-rpm:$(basename "$d")" "$d"
|
|
||||||
done
|
|
|
@ -1,19 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM centos:7
|
|
||||||
|
|
||||||
RUN yum groupinstall -y "Development Tools"
|
|
||||||
RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs
|
|
||||||
RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM fedora:24
|
|
||||||
|
|
||||||
RUN dnf -y upgrade
|
|
||||||
RUN dnf install -y @development-tools fedora-packager
|
|
||||||
RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM fedora:25
|
|
||||||
|
|
||||||
RUN dnf -y upgrade
|
|
||||||
RUN dnf install -y @development-tools fedora-packager
|
|
||||||
RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
|
|
|
@ -1,187 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# usage: ./generate.sh [versions]
|
|
||||||
# ie: ./generate.sh
|
|
||||||
# to update all Dockerfiles in this directory
|
|
||||||
# or: ./generate.sh centos-7
|
|
||||||
# to only update centos-7/Dockerfile
|
|
||||||
# or: ./generate.sh fedora-newversion
|
|
||||||
# to create a new folder and a Dockerfile within it
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
versions=( "$@" )
|
|
||||||
if [ ${#versions[@]} -eq 0 ]; then
|
|
||||||
versions=( */ )
|
|
||||||
fi
|
|
||||||
versions=( "${versions[@]%/}" )
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
distro="${version%-*}"
|
|
||||||
suite="${version##*-}"
|
|
||||||
from="${distro}:${suite}"
|
|
||||||
installer=yum
|
|
||||||
|
|
||||||
if [[ "$distro" == "fedora" ]]; then
|
|
||||||
installer=dnf
|
|
||||||
fi
|
|
||||||
if [[ "$distro" == "photon" ]]; then
|
|
||||||
installer=tdnf
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$version"
|
|
||||||
echo "$version -> FROM $from"
|
|
||||||
cat > "$version/Dockerfile" <<-EOF
|
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM $from
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
extraBuildTags=
|
|
||||||
runcBuildTags=
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
oraclelinux:6)
|
|
||||||
# We need a known version of the kernel-uek-devel headers to set CGO_CPPFLAGS, so grab the UEKR4 GA version
|
|
||||||
# This requires using yum-config-manager from yum-utils to enable the UEKR4 yum repo
|
|
||||||
echo "RUN yum install -y yum-utils && curl -o /etc/yum.repos.d/public-yum-ol6.repo http://yum.oracle.com/public-yum-ol6.repo && yum-config-manager -q --enable ol6_UEKR4" >> "$version/Dockerfile"
|
|
||||||
echo "RUN yum install -y kernel-uek-devel-4.1.12-32.el6uek" >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
fedora:*)
|
|
||||||
echo "RUN ${installer} -y upgrade" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*) ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
centos:*|amazonlinux:latest)
|
|
||||||
# get "Development Tools" packages dependencies
|
|
||||||
echo 'RUN yum groupinstall -y "Development Tools"' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
if [[ "$version" == "centos-7" ]]; then
|
|
||||||
echo 'RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs' >> "$version/Dockerfile"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
oraclelinux:*)
|
|
||||||
# get "Development Tools" packages and dependencies
|
|
||||||
# we also need yum-utils for yum-config-manager to pull the latest repo file
|
|
||||||
echo 'RUN yum groupinstall -y "Development Tools"' >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
opensuse:*)
|
|
||||||
# get rpm-build and curl packages and dependencies
|
|
||||||
echo 'RUN zypper --non-interactive install ca-certificates* curl gzip rpm-build' >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
photon:*)
|
|
||||||
echo "RUN ${installer} install -y wget curl ca-certificates gzip make rpm-build sed gcc linux-api-headers glibc-devel binutils libseccomp elfutils" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "RUN ${installer} install -y @development-tools fedora-packager" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
packages=(
|
|
||||||
btrfs-progs-devel # for "btrfs/ioctl.h" (and "version.h" if possible)
|
|
||||||
device-mapper-devel # for "libdevmapper.h"
|
|
||||||
glibc-static
|
|
||||||
libseccomp-devel # for "seccomp.h" & "libseccomp.so"
|
|
||||||
libselinux-devel # for "libselinux.so"
|
|
||||||
pkgconfig # for the pkg-config command
|
|
||||||
selinux-policy
|
|
||||||
selinux-policy-devel
|
|
||||||
systemd-devel # for "sd-journal.h" and libraries
|
|
||||||
tar # older versions of dev-tools do not have tar
|
|
||||||
git # required for containerd and runc clone
|
|
||||||
cmake # tini build
|
|
||||||
vim-common # tini build
|
|
||||||
)
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
oraclelinux:7)
|
|
||||||
# Enable the optional repository
|
|
||||||
packages=( --enablerepo=ol7_optional_latest "${packages[*]}" )
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
oraclelinux:6|amazonlinux:latest)
|
|
||||||
# doesn't use systemd, doesn't have a devel package for it
|
|
||||||
packages=( "${packages[@]/systemd-devel}" )
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# opensuse & oraclelinx:6 do not have the right libseccomp libs
|
|
||||||
case "$from" in
|
|
||||||
opensuse:*|oraclelinux:6)
|
|
||||||
packages=( "${packages[@]/libseccomp-devel}" )
|
|
||||||
runcBuildTags="selinux"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags="seccomp selinux"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
opensuse:*)
|
|
||||||
packages=( "${packages[@]/btrfs-progs-devel/libbtrfs-devel}" )
|
|
||||||
packages=( "${packages[@]/pkgconfig/pkg-config}" )
|
|
||||||
packages=( "${packages[@]/vim-common/vim}" )
|
|
||||||
if [[ "$from" == "opensuse:13."* ]]; then
|
|
||||||
packages+=( systemd-rpm-macros )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# use zypper
|
|
||||||
echo "RUN zypper --non-interactive install ${packages[*]}" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
photon:*)
|
|
||||||
packages=( "${packages[@]/pkgconfig/pkg-config}" )
|
|
||||||
echo "RUN ${installer} install -y ${packages[*]}" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "RUN ${installer} install -y ${packages[*]}" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
|
|
||||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile >> "$version/Dockerfile"
|
|
||||||
echo 'RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
|
||||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'ENV AUTO_GOPATH 1' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
# print build tags in alphabetical order
|
|
||||||
buildTags=$( echo "selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
|
||||||
echo "ENV RUNC_BUILDTAGS $runcBuildTags" >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
oraclelinux:6)
|
|
||||||
# We need to set the CGO_CPPFLAGS environment to use the updated UEKR4 headers with all the userns stuff.
|
|
||||||
# The ordering is very important and should not be changed.
|
|
||||||
echo 'ENV CGO_CPPFLAGS -D__EXPORTED_HEADERS__ \' >> "$version/Dockerfile"
|
|
||||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/arch/x86/include/generated/uapi \' >> "$version/Dockerfile"
|
|
||||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/arch/x86/include/uapi \' >> "$version/Dockerfile"
|
|
||||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include/generated/uapi \' >> "$version/Dockerfile"
|
|
||||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include/uapi \' >> "$version/Dockerfile"
|
|
||||||
echo ' -I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include' >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*) ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
done
|
|
|
@ -1,18 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM opensuse:13.2
|
|
||||||
|
|
||||||
RUN zypper --non-interactive install ca-certificates* curl gzip rpm-build
|
|
||||||
RUN zypper --non-interactive install libbtrfs-devel device-mapper-devel glibc-static libselinux-devel pkg-config selinux-policy selinux-policy-devel systemd-devel tar git cmake vim systemd-rpm-macros
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS selinux
|
|
||||||
ENV RUNC_BUILDTAGS selinux
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM oraclelinux:6
|
|
||||||
|
|
||||||
RUN yum install -y yum-utils && curl -o /etc/yum.repos.d/public-yum-ol6.repo http://yum.oracle.com/public-yum-ol6.repo && yum-config-manager -q --enable ol6_UEKR4
|
|
||||||
RUN yum install -y kernel-uek-devel-4.1.12-32.el6uek
|
|
||||||
|
|
||||||
RUN yum groupinstall -y "Development Tools"
|
|
||||||
RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libselinux-devel pkgconfig selinux-policy selinux-policy-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS selinux
|
|
||||||
ENV RUNC_BUILDTAGS selinux
|
|
||||||
|
|
||||||
ENV CGO_CPPFLAGS -D__EXPORTED_HEADERS__ \
|
|
||||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/arch/x86/include/generated/uapi \
|
|
||||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/arch/x86/include/uapi \
|
|
||||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include/generated/uapi \
|
|
||||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include/uapi \
|
|
||||||
-I/usr/src/kernels/4.1.12-32.el6uek.x86_64/include
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM oraclelinux:7
|
|
||||||
|
|
||||||
RUN yum groupinstall -y "Development Tools"
|
|
||||||
RUN yum install -y --enablerepo=ol7_optional_latest btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/amd64/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM photon:1.0
|
|
||||||
|
|
||||||
RUN tdnf install -y wget curl ca-certificates gzip make rpm-build sed gcc linux-api-headers glibc-devel binutils libseccomp elfutils
|
|
||||||
RUN tdnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkg-config selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
set -x
|
|
||||||
./generate.sh
|
|
||||||
for d in */; do
|
|
||||||
docker build -t "dockercore/builder-rpm:$(basename "$d")" "$d"
|
|
||||||
done
|
|
|
@ -1,20 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/armhf/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM multiarch/centos:7.2.1511-armhfp-clean
|
|
||||||
|
|
||||||
RUN yum install -y yum-plugin-ovl
|
|
||||||
RUN yum groupinstall --skip-broken -y "Development Tools"
|
|
||||||
RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs
|
|
||||||
RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel sqlite-devel systemd-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
|
|
|
@ -1,122 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
# vim: set ts=4 sw=4 noet :
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# usage: ./generate.sh [versions]
|
|
||||||
# ie: ./generate.sh
|
|
||||||
# to update all Dockerfiles in this directory
|
|
||||||
# or: ./generate.sh centos-7
|
|
||||||
# to only update centos-7/Dockerfile
|
|
||||||
# or: ./generate.sh fedora-newversion
|
|
||||||
# to create a new folder and a Dockerfile within it
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
versions=( "$@" )
|
|
||||||
if [ ${#versions[@]} -eq 0 ]; then
|
|
||||||
versions=( */ )
|
|
||||||
fi
|
|
||||||
versions=( "${versions[@]%/}" )
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
distro="${version%-*}"
|
|
||||||
suite="${version##*-}"
|
|
||||||
from="${distro}:${suite}"
|
|
||||||
installer=yum
|
|
||||||
|
|
||||||
if [[ "$distro" == "fedora" ]]; then
|
|
||||||
installer=dnf
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$version"
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
centos:*)
|
|
||||||
# get "Development Tools" packages dependencies
|
|
||||||
image="multiarch/centos:7.2.1511-armhfp-clean"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
image="${from}"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "$version -> FROM $image"
|
|
||||||
cat > "$version/Dockerfile" <<-EOF
|
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/armhf/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM $image
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
extraBuildTags=
|
|
||||||
runcBuildTags=
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
fedora:*)
|
|
||||||
echo "RUN ${installer} -y upgrade" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*) ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
centos:*)
|
|
||||||
# get "Development Tools" packages dependencies
|
|
||||||
|
|
||||||
echo 'RUN yum install -y yum-plugin-ovl' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'RUN yum groupinstall --skip-broken -y "Development Tools"' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
if [[ "$version" == "centos-7" ]]; then
|
|
||||||
echo 'RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs' >> "$version/Dockerfile"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "RUN ${installer} install -y @development-tools fedora-packager" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
packages=(
|
|
||||||
btrfs-progs-devel # for "btrfs/ioctl.h" (and "version.h" if possible)
|
|
||||||
device-mapper-devel # for "libdevmapper.h"
|
|
||||||
glibc-static
|
|
||||||
libseccomp-devel # for "seccomp.h" & "libseccomp.so"
|
|
||||||
libselinux-devel # for "libselinux.so"
|
|
||||||
pkgconfig # for the pkg-config command
|
|
||||||
selinux-policy
|
|
||||||
selinux-policy-devel
|
|
||||||
sqlite-devel # for "sqlite3.h"
|
|
||||||
systemd-devel # for "sd-journal.h" and libraries
|
|
||||||
tar # older versions of dev-tools do not have tar
|
|
||||||
git # required for containerd and runc clone
|
|
||||||
cmake # tini build
|
|
||||||
vim-common # tini build
|
|
||||||
)
|
|
||||||
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags="seccomp selinux"
|
|
||||||
|
|
||||||
echo "RUN ${installer} install -y ${packages[*]}" >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile.armhf >> "$version/Dockerfile"
|
|
||||||
echo 'RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-armv6l.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
|
||||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'ENV AUTO_GOPATH 1' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
# print build tags in alphabetical order
|
|
||||||
buildTags=$( echo "selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
|
||||||
echo "ENV RUNC_BUILDTAGS $runcBuildTags" >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
done
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
set -x
|
|
||||||
./generate.sh
|
|
||||||
for d in */; do
|
|
||||||
docker build -t "dockercore/builder-rpm:$(basename "$d")" "$d"
|
|
||||||
done
|
|
|
@ -1,19 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/ppc64le/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ppc64le/centos:7
|
|
||||||
|
|
||||||
RUN yum groupinstall -y "Development Tools"
|
|
||||||
RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs
|
|
||||||
RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel sqlite-devel systemd-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-ppc64le.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/ppc64le/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ppc64le/fedora:24
|
|
||||||
|
|
||||||
RUN dnf -y upgrade
|
|
||||||
RUN dnf install -y @development-tools fedora-packager
|
|
||||||
RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel sqlite-devel systemd-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-ppc64le.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
|
|
|
@ -1,139 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# usage: ./generate.sh [versions]
|
|
||||||
# ie: ./generate.sh
|
|
||||||
# to update all Dockerfiles in this directory
|
|
||||||
# or: ./generate.sh centos-7
|
|
||||||
# to only update centos-7/Dockerfile
|
|
||||||
# or: ./generate.sh fedora-newversion
|
|
||||||
# to create a new folder and a Dockerfile within it
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
versions=( "$@" )
|
|
||||||
if [ ${#versions[@]} -eq 0 ]; then
|
|
||||||
versions=( */ )
|
|
||||||
fi
|
|
||||||
versions=( "${versions[@]%/}" )
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
distro="${version%-*}"
|
|
||||||
suite="${version##*-}"
|
|
||||||
from="ppc64le/${distro}:${suite}"
|
|
||||||
installer=yum
|
|
||||||
|
|
||||||
if [[ "$distro" == "fedora" ]]; then
|
|
||||||
installer=dnf
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p "$version"
|
|
||||||
echo "$version -> FROM $from"
|
|
||||||
cat > "$version/Dockerfile" <<-EOF
|
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/ppc64le/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM $from
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
extraBuildTags=
|
|
||||||
runcBuildTags=
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
ppc64le/fedora:*)
|
|
||||||
echo "RUN ${installer} -y upgrade" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*) ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
ppc64le/centos:*)
|
|
||||||
# get "Development Tools" packages dependencies
|
|
||||||
echo 'RUN yum groupinstall -y "Development Tools"' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
if [[ "$version" == "centos-7" ]]; then
|
|
||||||
echo 'RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs' >> "$version/Dockerfile"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
ppc64le/opensuse:*)
|
|
||||||
# Add the ppc64le repo (hopefully the image is updated soon)
|
|
||||||
# get rpm-build and curl packages and dependencies
|
|
||||||
echo "RUN zypper addrepo -n ppc64le-oss -f https://download.opensuse.org/ports/ppc/distribution/leap/${suite}/repo/oss/ ppc64le-oss" >> "$version/Dockerfile"
|
|
||||||
echo "RUN zypper addrepo -n ppc64le-updates -f https://download.opensuse.org/ports/update/${suite}/ ppc64le-updates" >> "$version/Dockerfile"
|
|
||||||
echo 'RUN zypper --non-interactive install ca-certificates* curl gzip rpm-build' >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "RUN ${installer} install -y @development-tools fedora-packager" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
packages=(
|
|
||||||
btrfs-progs-devel # for "btrfs/ioctl.h" (and "version.h" if possible)
|
|
||||||
device-mapper-devel # for "libdevmapper.h"
|
|
||||||
glibc-static
|
|
||||||
libseccomp-devel # for "seccomp.h" & "libseccomp.so"
|
|
||||||
libselinux-devel # for "libselinux.so"
|
|
||||||
pkgconfig # for the pkg-config command
|
|
||||||
selinux-policy
|
|
||||||
selinux-policy-devel
|
|
||||||
sqlite-devel # for "sqlite3.h"
|
|
||||||
systemd-devel # for "sd-journal.h" and libraries
|
|
||||||
tar # older versions of dev-tools do not have tar
|
|
||||||
git # required for containerd and runc clone
|
|
||||||
cmake # tini build
|
|
||||||
vim-common # tini build
|
|
||||||
)
|
|
||||||
|
|
||||||
# opensuse does not have the right libseccomp libs
|
|
||||||
case "$from" in
|
|
||||||
ppc64le/opensuse:*)
|
|
||||||
packages=( "${packages[@]/libseccomp-devel}" )
|
|
||||||
runcBuildTags="selinux"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags="seccomp selinux"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
ppc64le/opensuse:*)
|
|
||||||
packages=( "${packages[@]/btrfs-progs-devel/libbtrfs-devel}" )
|
|
||||||
packages=( "${packages[@]/pkgconfig/pkg-config}" )
|
|
||||||
packages=( "${packages[@]/vim-common/vim}" )
|
|
||||||
if [[ "$from" == "ppc64le/opensuse:13."* ]]; then
|
|
||||||
packages+=( systemd-rpm-macros )
|
|
||||||
fi
|
|
||||||
|
|
||||||
# use zypper
|
|
||||||
echo "RUN zypper --non-interactive install ${packages[*]}" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "RUN ${installer} install -y ${packages[*]}" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
|
|
||||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile.ppc64le >> "$version/Dockerfile"
|
|
||||||
echo 'RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-ppc64le.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
|
||||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'ENV AUTO_GOPATH 1' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
# print build tags in alphabetical order
|
|
||||||
buildTags=$( echo "selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
|
||||||
echo "ENV RUNC_BUILDTAGS $runcBuildTags" >> "$version/Dockerfile"
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
done
|
|
|
@ -1,20 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/ppc64le/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM ppc64le/opensuse:42.1
|
|
||||||
|
|
||||||
RUN zypper addrepo -n ppc64le-oss -f https://download.opensuse.org/ports/ppc/distribution/leap/42.1/repo/oss/ ppc64le-oss
|
|
||||||
RUN zypper addrepo -n ppc64le-updates -f https://download.opensuse.org/ports/update/42.1/ ppc64le-updates
|
|
||||||
RUN zypper --non-interactive install ca-certificates* curl gzip rpm-build
|
|
||||||
RUN zypper --non-interactive install libbtrfs-devel device-mapper-devel glibc-static libselinux-devel pkg-config selinux-policy selinux-policy-devel sqlite-devel systemd-devel tar git cmake vim
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-ppc64le.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS selinux
|
|
||||||
ENV RUNC_BUILDTAGS selinux
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
set -x
|
|
||||||
./generate.sh
|
|
||||||
for d in */; do
|
|
||||||
docker build -t "dockercore/builder-rpm:$(basename "$d")" "$d"
|
|
||||||
done
|
|
|
@ -1,19 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/s390x/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM sinenomine/clefos-base-s390x
|
|
||||||
|
|
||||||
|
|
||||||
RUN touch /var/lib/rpm/* && yum groupinstall -y "Development Tools"
|
|
||||||
RUN touch /var/lib/rpm/* && yum install -y btrfs-progs-devel device-mapper-devel glibc-static libseccomp-devel libselinux-devel pkgconfig selinux-policy selinux-policy-devel sqlite-devel systemd-devel tar git cmake vim-common
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS seccomp selinux
|
|
||||||
ENV RUNC_BUILDTAGS seccomp selinux
|
|
||||||
RUN ln -s /usr/bin/gcc /usr/bin/s390x-linux-gnu-gcc
|
|
|
@ -1,144 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# This file is used to auto-generate Dockerfiles for making rpms via 'make rpm'
|
|
||||||
#
|
|
||||||
# usage: ./generate.sh [versions]
|
|
||||||
# ie: ./generate.sh
|
|
||||||
# to update all Dockerfiles in this directory
|
|
||||||
# or: ./generate.sh centos-7
|
|
||||||
# to only update centos-7/Dockerfile
|
|
||||||
# or: ./generate.sh fedora-newversion
|
|
||||||
# to create a new folder and a Dockerfile within it
|
|
||||||
|
|
||||||
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
||||||
|
|
||||||
versions=( "$@" )
|
|
||||||
if [ ${#versions[@]} -eq 0 ]; then
|
|
||||||
versions=( */ )
|
|
||||||
fi
|
|
||||||
versions=( "${versions[@]%/}" )
|
|
||||||
|
|
||||||
for version in "${versions[@]}"; do
|
|
||||||
echo "${versions[@]}"
|
|
||||||
distro="${version%-*}"
|
|
||||||
suite="${version##*-}"
|
|
||||||
case "$distro" in
|
|
||||||
*opensuse*)
|
|
||||||
from="opensuse/s390x:tumbleweed"
|
|
||||||
;;
|
|
||||||
*clefos*)
|
|
||||||
from="sinenomine/${distro}"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo No appropriate or supported image available.
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
installer=yum
|
|
||||||
|
|
||||||
mkdir -p "$version"
|
|
||||||
echo "$version -> FROM $from"
|
|
||||||
cat > "$version/Dockerfile" <<-EOF
|
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/s390x/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM $from
|
|
||||||
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
extraBuildTags=''
|
|
||||||
runcBuildTags=
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
*clefos*)
|
|
||||||
# Fix for RHBZ #1213602 + get "Development Tools" packages dependencies
|
|
||||||
echo 'RUN touch /var/lib/rpm/* && yum groupinstall -y "Development Tools"' >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*opensuse*)
|
|
||||||
echo "RUN zypper ar https://download.opensuse.org/ports/zsystems/tumbleweed/repo/oss/ tumbleweed" >> "$version/Dockerfile"
|
|
||||||
# get rpm-build and curl packages and dependencies
|
|
||||||
echo 'RUN zypper --non-interactive install ca-certificates* curl gzip rpm-build' >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo No appropriate or supported image available.
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
packages=(
|
|
||||||
btrfs-progs-devel # for "btrfs/ioctl.h" (and "version.h" if possible)
|
|
||||||
device-mapper-devel # for "libdevmapper.h"
|
|
||||||
glibc-static
|
|
||||||
libseccomp-devel # for "seccomp.h" & "libseccomp.so"
|
|
||||||
libselinux-devel # for "libselinux.so"
|
|
||||||
pkgconfig # for the pkg-config command
|
|
||||||
selinux-policy
|
|
||||||
selinux-policy-devel
|
|
||||||
sqlite-devel # for "sqlite3.h"
|
|
||||||
systemd-devel # for "sd-journal.h" and libraries
|
|
||||||
tar # older versions of dev-tools do not have tar
|
|
||||||
git # required for containerd and runc clone
|
|
||||||
cmake # tini build
|
|
||||||
vim-common # tini build
|
|
||||||
)
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
*clefos*)
|
|
||||||
extraBuildTags+=' seccomp'
|
|
||||||
runcBuildTags="seccomp selinux"
|
|
||||||
;;
|
|
||||||
*opensuse*)
|
|
||||||
packages=( "${packages[@]/libseccomp-devel}" )
|
|
||||||
runcBuildTags="selinux"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo No appropriate or supported image available.
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case "$from" in
|
|
||||||
*clefos*)
|
|
||||||
# Same RHBZ fix needed on all yum lines
|
|
||||||
echo "RUN touch /var/lib/rpm/* && ${installer} install -y ${packages[*]}" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*opensuse*)
|
|
||||||
packages=( "${packages[@]/btrfs-progs-devel/libbtrfs-devel}" )
|
|
||||||
packages=( "${packages[@]/pkgconfig/pkg-config}" )
|
|
||||||
packages=( "${packages[@]/vim-common/vim}" )
|
|
||||||
|
|
||||||
packages+=( systemd-rpm-macros ) # for use of >= opensuse:13.*
|
|
||||||
|
|
||||||
# use zypper
|
|
||||||
echo "RUN zypper --non-interactive install ${packages[*]}" >> "$version/Dockerfile"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo No appropriate or supported image available.
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
awk '$1 == "ENV" && $2 == "GO_VERSION" { print; exit }' ../../../../Dockerfile.s390x >> "$version/Dockerfile"
|
|
||||||
echo 'RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" | tar xzC /usr/local' >> "$version/Dockerfile"
|
|
||||||
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo 'ENV AUTO_GOPATH 1' >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
echo >> "$version/Dockerfile"
|
|
||||||
|
|
||||||
# print build tags in alphabetical order
|
|
||||||
buildTags=$( echo "selinux $extraBuildTags" | xargs -n1 | sort -n | tr '\n' ' ' | sed -e 's/[[:space:]]*$//' )
|
|
||||||
|
|
||||||
echo "ENV DOCKER_BUILDTAGS $buildTags" >> "$version/Dockerfile"
|
|
||||||
echo "ENV RUNC_BUILDTAGS $runcBuildTags" >> "$version/Dockerfile"
|
|
||||||
# TODO: Investigate why "s390x-linux-gnu-gcc" is required
|
|
||||||
echo "RUN ln -s /usr/bin/gcc /usr/bin/s390x-linux-gnu-gcc" >> "$version/Dockerfile"
|
|
||||||
done
|
|
|
@ -1,20 +0,0 @@
|
||||||
#
|
|
||||||
# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/rpm/s390x/generate.sh"!
|
|
||||||
#
|
|
||||||
|
|
||||||
FROM opensuse/s390x:tumbleweed
|
|
||||||
|
|
||||||
|
|
||||||
RUN zypper ar https://download.opensuse.org/ports/zsystems/tumbleweed/repo/oss/ tumbleweed
|
|
||||||
RUN zypper --non-interactive install ca-certificates* curl gzip rpm-build
|
|
||||||
RUN zypper --non-interactive install libbtrfs-devel device-mapper-devel glibc-static libselinux-devel pkg-config selinux-policy selinux-policy-devel sqlite-devel systemd-devel tar git cmake vim systemd-rpm-macros
|
|
||||||
|
|
||||||
ENV GO_VERSION 1.10.1
|
|
||||||
RUN curl -fsSL "https://golang.org/dl/go${GO_VERSION}.linux-s390x.tar.gz" | tar xzC /usr/local
|
|
||||||
ENV PATH $PATH:/usr/local/go/bin
|
|
||||||
|
|
||||||
ENV AUTO_GOPATH 1
|
|
||||||
|
|
||||||
ENV DOCKER_BUILDTAGS selinux
|
|
||||||
ENV RUNC_BUILDTAGS selinux
|
|
||||||
RUN ln -s /usr/bin/gcc /usr/bin/s390x-linux-gnu-gcc
|
|
|
@ -1,12 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
cd "$(dirname "$BASH_SOURCE")/../.."
|
|
||||||
|
|
||||||
targets_from() {
|
|
||||||
git fetch -q https://github.com/docker/docker.git "$1"
|
|
||||||
git ls-tree -r --name-only "$(git rev-parse FETCH_HEAD)" contrib/builder/deb/ | grep '/Dockerfile$' | sed -r 's!^contrib/builder/deb/|^contrib/builder/deb/amd64/|-debootstrap|/Dockerfile$!!g' | grep -v /
|
|
||||||
}
|
|
||||||
|
|
||||||
release_branch=$(git ls-remote --heads https://github.com/docker/docker.git | awk -F 'refs/heads/' '$2 ~ /^release/ { print $2 }' | sort -V | tail -1)
|
|
||||||
{ targets_from master; targets_from "$release_branch"; } | sort -u
|
|
Loading…
Reference in a new issue