Browse code

update debs/rpms for pkcs11 yubikey things

Signed-off-by: Jessica Frazelle <acidburn@docker.com>

Jessica Frazelle authored on 2015/10/31 10:16:29
Showing 21 changed files
... ...
@@ -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.