ppc64le: add files for supporting 14.04 'make debs'
| ... | ... |
@@ -50,17 +50,40 @@ for version in "${versions[@]}"; do
|
| 50 | 50 |
dh-apparmor # for apparmor debhelper |
| 51 | 51 |
dh-systemd # for systemd debhelper integration |
| 52 | 52 |
git # for "git commit" info in "docker -v" |
| 53 |
- golang-go # ppc64le needs go to bootstrap go |
|
| 54 | 53 |
libapparmor-dev # for "sys/apparmor.h" |
| 55 | 54 |
libdevmapper-dev # for "libdevmapper.h" |
| 56 | 55 |
libltdl-dev # for pkcs11 "ltdl.h" |
| 57 |
- libseccomp-dev # for "seccomp.h" & "libseccomp.so" |
|
| 58 | 56 |
libsqlite3-dev # for "sqlite3.h" |
| 59 |
- libsystemd-dev |
|
| 60 | 57 |
pkg-config # for detecting things like libsystemd-journal dynamically |
| 61 | 58 |
) |
| 62 |
- |
|
| 59 |
+ |
|
| 60 |
+ # trusty uses a different go package name then xenial and newer, so track that for later |
|
| 61 |
+ goPackage= |
|
| 62 |
+ case "$suite" in |
|
| 63 |
+ trusty) |
|
| 64 |
+ # ppc64le doesn't have go binaries, so install go to bootstrap go |
|
| 65 |
+ # trusty doesn't have a ppc64le golang-go package |
|
| 66 |
+ packages+=( golang-1.6 ) |
|
| 67 |
+ goPackage='golang-1.6' |
|
| 68 |
+ |
|
| 69 |
+ packages+=( libsystemd-journal-dev ) |
|
| 70 |
+ ;; |
|
| 71 |
+ *) |
|
| 72 |
+ # libseccomp isn't available until ubuntu xenial and is required for "seccomp.h" & "libseccomp.so" |
|
| 73 |
+ packages+=( golang-go ) |
|
| 74 |
+ goPackage='golang-go' |
|
| 75 |
+ |
|
| 76 |
+ packages+=( libseccomp-dev ) |
|
| 77 |
+ packages+=( libsystemd-dev ) |
|
| 78 |
+ ;; |
|
| 79 |
+ esac |
|
| 80 |
+ |
|
| 81 |
+ # buildtags |
|
| 63 | 82 |
case "$suite" in |
| 83 |
+ # trusty has no seccomp package |
|
| 84 |
+ trusty) |
|
| 85 |
+ runcBuildTags="apparmor selinux" |
|
| 86 |
+ ;; |
|
| 64 | 87 |
# ppc64le support was backported into libseccomp 2.2.3-2, |
| 65 | 88 |
# so enable seccomp by default |
| 66 | 89 |
*) |
| ... | ... |
@@ -89,7 +112,7 @@ for version in "${versions[@]}"; do
|
| 89 | 89 |
echo ' && tar -C /usr/local -xzf golang.tar.gz \' >> "$version/Dockerfile" |
| 90 | 90 |
echo ' && rm golang.tar.gz \' >> "$version/Dockerfile" |
| 91 | 91 |
echo ' && cd /usr/local/go/src && ./make.bash 2>&1 \' >> "$version/Dockerfile" |
| 92 |
- echo ' && apt-get purge -y golang-go && apt-get autoremove -y' >> "$version/Dockerfile" |
|
| 92 |
+ echo " && apt-get purge -y $goPackage && apt-get autoremove -y" >> "$version/Dockerfile" |
|
| 93 | 93 |
echo >> "$version/Dockerfile" |
| 94 | 94 |
|
| 95 | 95 |
echo 'ENV PATH $PATH:/usr/local/go/bin' >> "$version/Dockerfile" |
| 96 | 96 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,24 @@ |
| 0 |
+# |
|
| 1 |
+# THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/ppc64le/generate.sh"! |
|
| 2 |
+# |
|
| 3 |
+ |
|
| 4 |
+FROM ppc64le/ubuntu:trusty |
|
| 5 |
+ |
|
| 6 |
+RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libsqlite3-dev pkg-config golang-1.6 libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 7 |
+ |
|
| 8 |
+ENV GO_VERSION 1.7.1 |
|
| 9 |
+ENV GO_DOWNLOAD_URL https://golang.org/dl/go${GO_VERSION}.src.tar.gz
|
|
| 10 |
+ENV GOROOT_BOOTSTRAP /usr/lib/go-1.6 |
|
| 11 |
+ |
|
| 12 |
+RUN curl -fsSL "$GO_DOWNLOAD_URL" -o golang.tar.gz \ |
|
| 13 |
+ && tar -C /usr/local -xzf golang.tar.gz \ |
|
| 14 |
+ && rm golang.tar.gz \ |
|
| 15 |
+ && cd /usr/local/go/src && ./make.bash 2>&1 \ |
|
| 16 |
+ && apt-get purge -y golang-1.6 && apt-get autoremove -y |
|
| 17 |
+ |
|
| 18 |
+ENV PATH $PATH:/usr/local/go/bin |
|
| 19 |
+ |
|
| 20 |
+ENV AUTO_GOPATH 1 |
|
| 21 |
+ |
|
| 22 |
+ENV DOCKER_BUILDTAGS apparmor pkcs11 selinux |
|
| 23 |
+ENV RUNC_BUILDTAGS apparmor selinux |
| ... | ... |
@@ -4,7 +4,7 @@ |
| 4 | 4 |
|
| 5 | 5 |
FROM ppc64le/ubuntu:xenial |
| 6 | 6 |
|
| 7 |
-RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential curl ca-certificates debhelper dh-apparmor dh-systemd git golang-go libapparmor-dev libdevmapper-dev libltdl-dev libseccomp-dev libsqlite3-dev libsystemd-dev pkg-config --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 7 |
+RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools build-essential curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libsqlite3-dev pkg-config golang-go libseccomp-dev libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 8 | 8 |
|
| 9 | 9 |
# Install Go |
| 10 | 10 |
# ppc64le doesn't have official go binaries, so use the version of go installed from the image |