Signed-off-by: Jessica Frazelle <acidburn@docker.com>
| ... | ... |
@@ -4,7 +4,7 @@ |
| 4 | 4 |
|
| 5 | 5 |
FROM debian:jessie |
| 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 libapparmor-dev libdevmapper-dev libsqlite3-dev libsystemd-journal-dev --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 libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 8 | 8 |
|
| 9 | 9 |
ENV GO_VERSION 1.5.1 |
| 10 | 10 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -4,7 +4,7 @@ |
| 4 | 4 |
|
| 5 | 5 |
FROM debian:stretch |
| 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 libapparmor-dev libdevmapper-dev libsqlite3-dev libsystemd-dev --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 libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 8 | 8 |
|
| 9 | 9 |
ENV GO_VERSION 1.5.1 |
| 10 | 10 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -4,7 +4,7 @@ |
| 4 | 4 |
|
| 5 | 5 |
FROM debian:wheezy-backports |
| 6 | 6 |
|
| 7 |
-RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools/wheezy-backports build-essential curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libsqlite3-dev libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 7 |
+RUN apt-get update && apt-get install -y apparmor bash-completion btrfs-tools/wheezy-backports build-essential curl ca-certificates debhelper dh-apparmor dh-systemd git libapparmor-dev libdevmapper-dev libltdl-dev libsqlite3-dev libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 8 | 8 |
|
| 9 | 9 |
ENV GO_VERSION 1.5.1 |
| 10 | 10 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -56,6 +56,7 @@ for version in "${versions[@]}"; do
|
| 56 | 56 |
git # for "git commit" info in "docker -v" |
| 57 | 57 |
libapparmor-dev # for "sys/apparmor.h" |
| 58 | 58 |
libdevmapper-dev # for "libdevmapper.h" |
| 59 |
+ libltdl-dev # for pkcs11 "ltdl.h" |
|
| 59 | 60 |
libsqlite3-dev # for "sqlite3.h" |
| 60 | 61 |
) |
| 61 | 62 |
# packaging for "sd-journal.h" and libraries varies |
| ... | ... |
@@ -4,7 +4,7 @@ |
| 4 | 4 |
|
| 5 | 5 |
FROM ubuntu:precise |
| 6 | 6 |
|
| 7 |
-RUN apt-get update && apt-get install -y apparmor bash-completion build-essential curl ca-certificates debhelper dh-apparmor git libapparmor-dev libsqlite3-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 7 |
+RUN apt-get update && apt-get install -y apparmor bash-completion build-essential curl ca-certificates debhelper dh-apparmor git libapparmor-dev libltdl-dev libsqlite3-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 8 | 8 |
|
| 9 | 9 |
ENV GO_VERSION 1.5.1 |
| 10 | 10 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -4,7 +4,7 @@ |
| 4 | 4 |
|
| 5 | 5 |
FROM ubuntu:trusty |
| 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 libapparmor-dev libdevmapper-dev libsqlite3-dev libsystemd-journal-dev --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 libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 8 | 8 |
|
| 9 | 9 |
ENV GO_VERSION 1.5.1 |
| 10 | 10 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -4,7 +4,7 @@ |
| 4 | 4 |
|
| 5 | 5 |
FROM ubuntu:vivid |
| 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 libapparmor-dev libdevmapper-dev libsqlite3-dev libsystemd-journal-dev --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 libsystemd-journal-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 8 | 8 |
|
| 9 | 9 |
ENV GO_VERSION 1.5.1 |
| 10 | 10 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -4,7 +4,7 @@ |
| 4 | 4 |
|
| 5 | 5 |
FROM ubuntu:wily |
| 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 libapparmor-dev libdevmapper-dev libsqlite3-dev libsystemd-dev --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 libsystemd-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* |
|
| 8 | 8 |
|
| 9 | 9 |
ENV GO_VERSION 1.5.1 |
| 10 | 10 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -6,7 +6,7 @@ FROM centos:7 |
| 6 | 6 |
|
| 7 | 7 |
RUN yum groupinstall -y "Development Tools" |
| 8 | 8 |
RUN yum -y swap -- remove systemd-container systemd-container-libs -- install systemd systemd-libs |
| 9 |
-RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 9 |
+RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libltdl-devel libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 10 | 10 |
|
| 11 | 11 |
ENV GO_VERSION 1.5.1 |
| 12 | 12 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -5,7 +5,7 @@ |
| 5 | 5 |
FROM fedora:21 |
| 6 | 6 |
|
| 7 | 7 |
RUN yum install -y @development-tools fedora-packager |
| 8 |
-RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 8 |
+RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libltdl-devel libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 9 | 9 |
|
| 10 | 10 |
ENV GO_VERSION 1.5.1 |
| 11 | 11 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -5,7 +5,7 @@ |
| 5 | 5 |
FROM fedora:22 |
| 6 | 6 |
|
| 7 | 7 |
RUN dnf install -y @development-tools fedora-packager |
| 8 |
-RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 8 |
+RUN dnf install -y btrfs-progs-devel device-mapper-devel glibc-static libltdl-devel libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 9 | 9 |
|
| 10 | 10 |
ENV GO_VERSION 1.5.1 |
| 11 | 11 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -65,6 +65,7 @@ for version in "${versions[@]}"; do
|
| 65 | 65 |
btrfs-progs-devel # for "btrfs/ioctl.h" (and "version.h" if possible) |
| 66 | 66 |
device-mapper-devel # for "libdevmapper.h" |
| 67 | 67 |
glibc-static |
| 68 |
+ libltdl-devel # for pkcs11 "ltdl.h" |
|
| 68 | 69 |
libselinux-devel # for "libselinux.so" |
| 69 | 70 |
selinux-policy |
| 70 | 71 |
selinux-policy-devel |
| ... | ... |
@@ -5,7 +5,7 @@ |
| 5 | 5 |
FROM opensuse:13.2 |
| 6 | 6 |
|
| 7 | 7 |
RUN zypper --non-interactive install ca-certificates* curl gzip rpm-build |
| 8 |
-RUN zypper --non-interactive install libbtrfs-devel device-mapper-devel glibc-static libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 8 |
+RUN zypper --non-interactive install libbtrfs-devel device-mapper-devel glibc-static libltdl-devel libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 9 | 9 |
|
| 10 | 10 |
ENV GO_VERSION 1.5.1 |
| 11 | 11 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -5,7 +5,7 @@ |
| 5 | 5 |
FROM oraclelinux:6 |
| 6 | 6 |
|
| 7 | 7 |
RUN yum groupinstall -y "Development Tools" |
| 8 |
-RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 8 |
+RUN yum install -y btrfs-progs-devel device-mapper-devel glibc-static libltdl-devel libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 9 | 9 |
|
| 10 | 10 |
ENV GO_VERSION 1.5.1 |
| 11 | 11 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -5,7 +5,7 @@ |
| 5 | 5 |
FROM oraclelinux:7 |
| 6 | 6 |
|
| 7 | 7 |
RUN yum groupinstall -y "Development Tools" |
| 8 |
-RUN yum install -y --enablerepo=ol7_optional_latest btrfs-progs-devel device-mapper-devel glibc-static libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 8 |
+RUN yum install -y --enablerepo=ol7_optional_latest btrfs-progs-devel device-mapper-devel glibc-static libltdl-devel libselinux-devel selinux-policy selinux-policy-devel sqlite-devel tar |
|
| 9 | 9 |
|
| 10 | 10 |
ENV GO_VERSION 1.5.1 |
| 11 | 11 |
RUN curl -fSL "https://storage.googleapis.com/golang/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local
|
| ... | ... |
@@ -53,7 +53,7 @@ echo_docker_as_nonroot() {
|
| 53 | 53 |
|
| 54 | 54 |
# Check if this is a forked Linux distro |
| 55 | 55 |
check_forked() {
|
| 56 |
- |
|
| 56 |
+ |
|
| 57 | 57 |
# Check for lsb_release command existence, it usually exists in forked distros |
| 58 | 58 |
if command_exists lsb_release; then |
| 59 | 59 |
# Check if the `-u` option is supported |
| ... | ... |
@@ -12,7 +12,8 @@ Recommends: aufs-tools, |
| 12 | 12 |
cgroupfs-mount | cgroup-lite, |
| 13 | 13 |
git, |
| 14 | 14 |
xz-utils, |
| 15 |
- ${apparmor:Recommends}
|
|
| 15 |
+ ${apparmor:Recommends},
|
|
| 16 |
+ ${yubico:Recommends}
|
|
| 16 | 17 |
Conflicts: docker (<< 1.5~), docker.io, lxc-docker, lxc-docker-virtual-package |
| 17 | 18 |
Description: Docker: the open-source application container engine |
| 18 | 19 |
Docker is an open source project to build, ship and run any application as a |
| ... | ... |
@@ -5,6 +5,8 @@ VERSION = $(shell cat VERSION) |
| 5 | 5 |
override_dh_gencontrol: |
| 6 | 6 |
# if we're on Ubuntu, we need to Recommends: apparmor |
| 7 | 7 |
echo 'apparmor:Recommends=$(shell dpkg-vendor --is Ubuntu && echo apparmor)' >> debian/docker-engine.substvars |
| 8 |
+ # if we are building experimental we reccomend yubico-piv-tool |
|
| 9 |
+ echo 'yubico:Recommends=$(shell [ "$DOCKER_EXPERIMENTAL" ] && echo "yubico-piv-tool (>= 1.1.0~)")' >> debian/docker-engine.substvars |
|
| 8 | 10 |
dh_gencontrol |
| 9 | 11 |
|
| 10 | 12 |
override_dh_auto_build: |
| ... | ... |
@@ -58,6 +58,13 @@ Requires: device-mapper >= 1.02.90-2 |
| 58 | 58 |
%global with_selinux 1 |
| 59 | 59 |
%endif |
| 60 | 60 |
|
| 61 |
+%if 0%{?_experimental}
|
|
| 62 |
+# yubico-piv-tool conditional |
|
| 63 |
+%if 0%{?fedora} >= 20 || 0%{?centos} >= 7 || 0%{?rhel} >= 7
|
|
| 64 |
+Requires: yubico-piv-tool >= 1.1.0 |
|
| 65 |
+%endif |
|
| 66 |
+%endif |
|
| 67 |
+ |
|
| 61 | 68 |
# start if with_selinux |
| 62 | 69 |
%if 0%{?with_selinux}
|
| 63 | 70 |
# Version of SELinux we were using |
| ... | ... |
@@ -94,7 +94,13 @@ set -e |
| 94 | 94 |
cat >> "$DEST/$version/Dockerfile.build" <<-EOF |
| 95 | 95 |
RUN tar -cz -C /usr/src/${rpmName}/contrib -f /root/rpmbuild/SOURCES/${rpmName}-selinux.tar.gz ${rpmName}-selinux
|
| 96 | 96 |
RUN { echo '* $rpmDate $rpmPackager $rpmVersion-$rpmRelease'; echo '* Version: $VERSION'; } >> ${rpmName}-selinux.spec && tail >&2 ${rpmName}-selinux.spec
|
| 97 |
- RUN rpmbuild -ba --define '_gitcommit $DOCKER_GITCOMMIT' --define '_release $rpmRelease' --define '_version $rpmVersion' --define '_origversion $VERSION' ${rpmName}-selinux.spec
|
|
| 97 |
+ RUN rpmbuild -ba \ |
|
| 98 |
+ --define '_gitcommit $DOCKER_GITCOMMIT' \ |
|
| 99 |
+ --define '_release $rpmRelease' \ |
|
| 100 |
+ --define '_version $rpmVersion' \ |
|
| 101 |
+ --define '_origversion $VERSION' \ |
|
| 102 |
+ --define '_experimental ${DOCKER_EXPERIMENTAL:-0}' \
|
|
| 103 |
+ ${rpmName}-selinux.spec
|
|
| 98 | 104 |
EOF |
| 99 | 105 |
fi |
| 100 | 106 |
tempImage="docker-temp/build-rpm:$version" |
| ... | ... |
@@ -58,6 +58,7 @@ To build the Docker daemon, you will additionally need: |
| 58 | 58 |
2.02.89 or later |
| 59 | 59 |
* btrfs-progs version 3.16.1 or later (unless using an older version is |
| 60 | 60 |
absolutely necessary, in which case 3.8 is the minimum) |
| 61 |
+* yubico-piv-tool version 1.1.0 or later (for experimental) |
|
| 61 | 62 |
|
| 62 | 63 |
Be sure to also check out Docker's Dockerfile for the most up-to-date list of |
| 63 | 64 |
these build-time dependencies. |