diff --git a/.docker-latest.metadata b/.docker-latest.metadata
index c5c427f..814a21b 100644
--- a/.docker-latest.metadata
+++ b/.docker-latest.metadata
@@ -1,6 +1,3 @@
-c4b74e67a012bf378413f4e8794cee4bbf5b2df8 SOURCES/docker-86bbf84.tar.gz
-7d706c08f937dcd01d21ddaf547cb05d533ac455 SOURCES/docker-lvm-plugin-3253f53.tar.gz
-2dddc870e61fcc8c241241732095b82745df66f6 SOURCES/docker-novolume-plugin-7715854.tar.gz
-b0e0da091dd20fae0a530747368e8ac63ec63d36 SOURCES/docker-storage-setup-df2af94.tar.gz
-8a1b2da70c1c2af55f3436bcb0b1fbe6bd0dd9c2 SOURCES/rhel-push-plugin-904c0ca.tar.gz
+bf9ba387ce9370bef4e9459f64ecd4160c32d17e SOURCES/docker-a46c31a.tar.gz
+438281979dc1753204e4f0d3db374447d05d2252 SOURCES/docker-storage-setup-194eca2.tar.gz
ea4b3d96c46fccb6781d66a6c53c087b179c80fe SOURCES/v1.10-migrator-c417a6a.tar.gz
diff --git a/.gitignore b/.gitignore
index a3311c6..9a63358 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,3 @@
-SOURCES/docker-86bbf84.tar.gz
-SOURCES/docker-lvm-plugin-3253f53.tar.gz
-SOURCES/docker-novolume-plugin-7715854.tar.gz
-SOURCES/docker-storage-setup-df2af94.tar.gz
-SOURCES/rhel-push-plugin-904c0ca.tar.gz
+SOURCES/docker-a46c31a.tar.gz
+SOURCES/docker-storage-setup-194eca2.tar.gz
SOURCES/v1.10-migrator-c417a6a.tar.gz
diff --git a/SOURCES/docker-latest.service b/SOURCES/docker-latest.service
index e76efba..d02c662 100644
--- a/SOURCES/docker-latest.service
+++ b/SOURCES/docker-latest.service
@@ -3,6 +3,7 @@ Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-latest-storage-setup.service
+Requires=rhel-push-plugin.socket
[Service]
Type=notify
@@ -12,6 +13,7 @@ EnvironmentFile=-/etc/sysconfig/docker-latest-storage
EnvironmentFile=-/etc/sysconfig/docker-latest-network
Environment=GOTRACEBACK=crash
ExecStart=/bin/sh -c '/usr/bin/docker-latest daemon \
+ --authorization-plugin=rhel-push-plugin \
--exec-opt native.cgroupdriver=systemd \
-g /var/lib/docker-latest \
$OPTIONS \
@@ -25,7 +27,10 @@ LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
+MountFlags=slave
Restart=on-abnormal
+StandardOutput=null
+StandardError=null
[Install]
WantedBy=multi-user.target
diff --git a/SOURCES/docker-latest.sysconfig b/SOURCES/docker-latest.sysconfig
index eb3cf96..480d931 100644
--- a/SOURCES/docker-latest.sysconfig
+++ b/SOURCES/docker-latest.sysconfig
@@ -8,7 +8,7 @@ DOCKER_CERT_PATH=/etc/docker
# pull use the ADD_REGISTRY option to list a set of registries, each prepended
# with --add-registry flag. The first registry added will be the first registry
# searched.
-#ADD_REGISTRY='--add-registry registry.access.redhat.com'
+ADD_REGISTRY='--add-registry registry.access.redhat.com'
# If you want to block registries from being used, uncomment the BLOCK_REGISTRY
# option and give it a set of registries, each prepended with --block-registry
diff --git a/SOURCES/v1.10-migrator-helper b/SOURCES/v1.10-migrator-helper
new file mode 100644
index 0000000..2ab1727
--- /dev/null
+++ b/SOURCES/v1.10-migrator-helper
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+# Copyright (C) 2016 Red Hat, Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+set -euo pipefail
+IFS=$'\n\t'
+
+# This is a small wrapper script that automatically fetches
+# the storage options from the docker-storage sysconfig file
+# and passes them to the migrator.
+#
+# The script supports both in-container runs and direct
+# invocation.
+
+MIGRATOR=/usr/bin/v1.10-migrator-local
+STORAGE_FILE=/etc/sysconfig/docker-storage
+GRAPH=/var/lib/docker
+
+main() {
+
+ # are we in a container?
+ if [[ -n ${container-} ]]; then
+
+ if [[ ! -d /host ]]; then
+ echo "ERROR: Running inside a container, but /host not mounted." >&2
+ exit 1
+ fi
+
+ cp "$MIGRATOR" /host/tmp
+ MIGRATOR="chroot /host /tmp/$(basename $MIGRATOR)"
+ STORAGE_FILE=/host${STORAGE_FILE}
+ fi
+
+ if [ ! -d "$GRAPH" ]; then
+ echo "ERROR: Cannot find docker root dir at \"$GRAPH\"." >&2
+ exit 1
+ fi
+
+ # load storage opts if we can find the file
+ local storage_opts=
+ if [ -r "$STORAGE_FILE" ] && grep -q -E '^DOCKER_STORAGE_OPTIONS\s*=' "$STORAGE_FILE"; then
+ storage_opts=$(sed -n -e 's/^DOCKER_STORAGE_OPTIONS\s*=\s*// p' "$STORAGE_FILE")
+ storage_opts=${storage_opts#\"}
+ storage_opts=${storage_opts%\"}
+ fi
+
+ CMD="$MIGRATOR --graph $GRAPH $storage_opts"
+ echo "RUNNING: $CMD"
+ eval $CMD
+}
+
+main "$@"
diff --git a/SPECS/docker-latest.spec b/SPECS/docker-latest.spec
index bc3fbb6..d90a1a9 100644
--- a/SPECS/docker-latest.spec
+++ b/SPECS/docker-latest.spec
@@ -9,10 +9,6 @@
# modifying the dockerinit binary breaks the SHA1 sum check by docker
%global __os_install_post %{_rpmconfigdir}/brp-compress
-# macros for 'docker' package VR
-%global docker_ver 1.9.1
-%global docker_rel 40
-
# docker builds in a checksum of dockerinit into docker,
# so stripping the binaries breaks docker
%if 0%{?with_debug}
@@ -30,34 +26,21 @@
# docker
%global git0 https://github.com/projectatomic/%{repo}
-%global commit0 86bbf842e425c6567c726912852976ccfa947e75
+%global commit0 a46c31af70ca8d15521e312ad9ef7085cfe2fd3f
%global shortcommit0 %(c=%{commit0}; echo ${c:0:7})
+# docker_branch used in %%check
+%global docker_branch rhel7-1.10.3
# d-s-s
%global git1 https://github.com/projectatomic/%{repo}-storage-setup/
-%global commit1 df2af9439577cedc2c502512d887c8df10a33cbf
+%global commit1 194eca25fd0d180b62f3ecf1b7b408992fd6a083
%global shortcommit1 %(c=%{commit1}; echo ${c:0:7})
%global dss_libdir %{_exec_prefix}/lib/%{name}-storage-setup
-# docker-novolume-plugin
-%global git4 https://github.com/projectatomic/%{repo}-novolume-plugin
-%global commit4 7715854b5f3ccfdbf005c9e95d6e9afcaae9376a
-%global shortcommit4 %(c=%{commit4}; echo ${c:0:7})
-
-# rhel-push-plugin
-%global git5 https://github.com/projectatomic/rhel-push-plugin
-%global commit5 904c0ca2a285e5e7c514c2eb90f5919bc59b6f86
-%global shortcommit5 %(c=%{commit5}; echo ${c:0:7})
-
-# docker-lvm-plugin
-%global git6 https://github.com/projectatomic/%{repo}-lvm-plugin
-%global commit6 3253f53a791f61397fa77478904c87460a9258ca
-%global shortcommit6 %(c=%{commit6}; echo ${c:0:7})
-
# v1.10-migrator
-%global git7 https://github.com/%{repo}/v1.10-migrator
-%global commit7 c417a6a022c5023c111662e8280f885f6ac259be
-%global shortcommit7 %(c=%{commit7}; echo ${c:0:7})
+%global git2 https://github.com/%{repo}/v1.10-migrator
+%global commit2 c417a6a022c5023c111662e8280f885f6ac259be
+%global shortcommit2 %(c=%{commit2}; echo ${c:0:7})
# Version of SELinux
%if 0%{?fedora} >= 22
@@ -68,24 +51,21 @@
Name: %{repo}-latest
Version: 1.10.3
-Release: 22.2%{?dist}
+Release: 44%{?dist}
Summary: Automates deployment of containerized applications
License: ASL 2.0
URL: https://%{provider}.%{provider_tld}/projectatomic/%{repo}
ExclusiveArch: x86_64
Source0: %{git0}/archive/%{commit0}/%{repo}-%{shortcommit0}.tar.gz
Source1: %{git1}/archive/%{commit1}/%{repo}-storage-setup-%{shortcommit1}.tar.gz
-Source4: %{git4}/archive/%{commit4}/%{repo}-novolume-plugin-%{shortcommit4}.tar.gz
+Source2: %{git2}/archive/%{commit2}/v1.10-migrator-%{shortcommit2}.tar.gz
+Source3: v1.10-migrator-helper
Source5: %{name}.service
Source6: %{name}.sysconfig
Source7: %{name}-storage.sysconfig
Source8: %{name}-logrotate.sh
Source9: README.%{name}-logrotate
Source10: %{name}-network.sysconfig
-Source11: %{git5}/archive/%{commit5}/rhel-push-plugin-%{shortcommit5}.tar.gz
-Source12: %{git6}/archive/%{commit6}/%{repo}-lvm-plugin-%{shortcommit6}.tar.gz
-Source13: %{git7}/archive/%{commit7}/v1.10-migrator-%{shortcommit7}.tar.gz
-
BuildRequires: git
BuildRequires: glibc-static
BuildRequires: go-md2man
@@ -101,10 +81,16 @@ Requires: device-mapper-libs >= 7:1.02.97
# RE: rhbz#1195804 - ensure min NVR for selinux-policy
Requires: selinux-policy >= %{selinux_policyver}
+# macros for 'docker' package VR
+%global docker_ver %{version}
+%global docker_rel %{release}
+
Requires: %{repo}-selinux >= %{docker_ver}-%{docker_rel}
Requires: %{repo}-forward-journald >= %{docker_ver}-%{docker_rel}
Requires: %{repo}-common >= %{docker_ver}-%{docker_rel}
-#Requires: %{repo}-rhel-push-plugin = %{version}-%{release}
+Requires: %{repo}-rhel-push-plugin >= %{docker_ver}-%{docker_rel}
+Requires: oci-register-machine >= %{docker_ver}-%{docker_rel}
+Requires: oci-systemd-hook >= %{docker_ver}-%{docker_rel}
# Resolves: rhbz#1045220
Requires: xz
@@ -149,57 +135,9 @@ Requires: %{name} = %{version}-%{release}
This package installs %{summary}. logrotate is assumed to be installed on
containers for this to work, failures are silently ignored.
-%package -n %{repo}-novolume-plugin
-URL: %{git4}
-License: MIT
-Summary: Block container starts with local volumes defined
-Requires: %{name} = %{version}-%{release}
-
-%description -n %{repo}-novolume-plugin
-When a volume in provisioned via the `VOLUME` instruction in a Dockerfile or
-via `docker run -v volumename`, host's storage space is used. This could lead to
-an unexpected out of space issue which could bring down everything.
-There are situations where this is not an accepted behavior. PAAS, for
-instance, can't allow their users to run their own images without the risk of
-filling the entire storage space on a server. One solution to this is to deny users
-from running images with volumes. This way the only storage a user gets can be limited
-and PAAS can assign quota to it.
-
-This plugin solves this issue by disallowing starting a container with
-local volumes defined. In particular, the plugin will block `docker run` with:
-
-- `--volumes-from`
-- images that have `VOLUME`(s) defined
-- volumes early provisioned with `docker volume` command
-
-The only thing allowed will be just bind mounts.
-
-# %package -n %{repo}-rhel-push-plugin
-# License: GPLv2
-# Summary: Avoids pushing a RHEL-based image to docker.io registry
-
-# %description -n %{repo}-rhel-push-plugin
-# In order to use this plugin you must be running at least Docker 1.10 which
-# has support for authorization plugins.
-
-# This plugin avoids any RHEL based image to be pushed to the default docker.io
-# registry preventing users to violate the RH subscription agreement.
-
-%package -n %{repo}-lvm-plugin
-License: LGPLv3
-Summary: Docker volume driver for lvm volumes
-Requires: %{name} = %{version}-%{release}
-
-%description -n %{repo}-lvm-plugin
-Docker Volume Driver for lvm volumes.
-
-This plugin can be used to create lvm volumes of specified size, which can
-then be bind mounted into the container using `docker run` command.
-
%package v1.10-migrator
License: ASL 2.0 and CC-BY-SA
Summary: Calculates SHA256 checksums for docker layer content
-Requires: %{name} = %{version}-%{release}
%description v1.10-migrator
Starting from v1.10 docker uses content addressable IDs for the images and
@@ -213,7 +151,7 @@ that time. You can run this tool instead while the old daemon is still
running and skip checksum calculation on startup.
%prep
-%setup -q -n %{repo}-%{commit0}
+%autosetup -Sgit -n %{repo}-%{commit0}
# here keep the new line above otherwise autosetup fails when applying patch
cp %{SOURCE9} .
@@ -225,32 +163,8 @@ sed -i 's/%{repo}/%{name}/g' %{repo}-storage-setup*
sed -i 's/%{name}_devmapper_meta_dir/%{repo}_devmapper_meta_dir/g' %{repo}-storage-setup*
popd
-# untar novolume-plugin
-tar zxf %{SOURCE4}
-pushd %{repo}-novolume-plugin-%{commit4}/systemd
-sed -i 's/Before=%{repo}.service/Before=%{name}.service/g' %{repo}-novolume-plugin.service
-sed -i 's/Requires=%{repo}-novolume-plugin.socket %{repo}.service/Requires=%{repo}-novolume-plugin.socket %{name}.service/g' %{repo}-novolume-plugin.service
-popd
-
-# untar rhel-push-plugin
-tar zxf %{SOURCE11}
-pushd rhel-push-plugin-%{commit5}/systemd
-sed -i 's/Before=%{repo}.service/Before=%{name}.service/g' rhel-push-plugin.service
-sed -i 's/Requires=rhel-push-plugin.socket %{repo}.service/Requires=rhel-push-plugin.socket %{name}.service/g' rhel-push-plugin.service
-popd
-
-# untar lvm-plugin
-tar zxf %{SOURCE12}
-pushd %{repo}-lvm-plugin-%{commit6}/vendor
-mkdir src
-mv g* src/
-popd
-pushd %{repo}-lvm-plugin-%{commit6}/systemd
-sed -i 's/Before=%{repo}.service/Before=%{name}.service/g' %{repo}-lvm-plugin.service
-popd
-
# untar v1.10-migrator
-tar zxf %{SOURCE13}
+tar zxf %{SOURCE2}
%build
# set up temporary build gopath, and put our directory there
@@ -258,17 +172,11 @@ mkdir _build
pushd _build
mkdir -p src/%{provider}.%{provider_tld}/{%{repo},projectatomic}
ln -s $(dirs +1 -l) src/%{import_path}
-ln -s $(dirs +1 -l)/%{repo}-novolume-plugin-%{commit4} src/%{provider}.%{provider_tld}/projectatomic/%{repo}-novolume-plugin
-ln -s $(dirs +1 -l)/rhel-push-plugin-%{commit5} src/%{provider}.%{provider_tld}/projectatomic/rhel-push-plugin
-ln -s $(dirs +1 -l)/%{repo}-lvm-plugin-%{commit6} src/%{provider}.%{provider_tld}/projectatomic/%{repo}-lvm-plugin
popd
export DOCKER_GITCOMMIT="%{shortcommit0}/%{version}"
export DOCKER_BUILDTAGS="selinux seccomp"
export GOPATH=$(pwd)/_build:$(pwd)/vendor:%{gopath}
-export GOPATH=$GOPATH:$(pwd)/%{repo}-novolume-plugin-%{commit4}/Godeps/_workspace
-export GOPATH=$GOPATH:$(pwd)/rhel-push-plugin-%{commit5}/Godeps/_workspace
-export GOPATH=$GOPATH:$(pwd)/%{repo}-lvm-plugin-%{commit6}/vendor
sed -i '/LDFLAGS_STATIC/d' hack/make/.dockerinit
IAMSTATIC=false DOCKER_DEBUG=1 bash -x hack/make.sh dynbinary
@@ -284,18 +192,9 @@ rename %{repo} %{name} *
popd
cp contrib/syntax/vim/LICENSE LICENSE-vim-syntax
cp contrib/syntax/vim/README.md README-vim-syntax.md
-go-md2man -in %{repo}-novolume-plugin-%{commit4}/man/%{repo}-novolume-plugin.8.md -out %{repo}-novolume-plugin.8
-go-md2man -in rhel-push-plugin-%{commit5}/man/rhel-push-plugin.8.md -out rhel-push-plugin.8
-go-md2man -in %{repo}-lvm-plugin-%{commit6}/man/%{repo}-lvm-plugin.8.md -out %{repo}-lvm-plugin.8
-
-pushd $(pwd)/_build/src
-go build -ldflags "-B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n')" github.com/projectatomic/%{repo}-novolume-plugin
-go build -ldflags "-B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n')" github.com/projectatomic/rhel-push-plugin
-go build -ldflags "-B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n')" github.com/projectatomic/%{repo}-lvm-plugin
-popd
# build v1.10-migrator
-pushd v1.10-migrator-%{commit7}
+pushd v1.10-migrator-%{commit2}
export GOPATH=$GOPATH:$(pwd)/Godeps/_workspace
sed -i 's/godep //g' Makefile
make v1.10-migrator-local
@@ -353,45 +252,21 @@ install -p contrib/udev/80-%{repo}.rules %{buildroot}%{_udevrulesdir}/80-%{name}
# install storage dir
install -d %{buildroot}%{_sharedstatedir}/%{name}
-# don't install secret patch directory
-#install -d -p -m 750 %{buildroot}/%{_datadir}/rhel/secrets
+# install secret patch directory
+install -d -p -m 750 %{buildroot}/%{_datadir}/rhel/secrets
# rhbz#1110876 - update symlinks for subscription management
-#ln -s %{_sysconfdir}/pki/entitlement %{buildroot}%{_datadir}/rhel/secrets/etc-pki-entitlement
-#ln -s %{_sysconfdir}/rhsm %{buildroot}%{_datadir}/rhel/secrets/rhsm
-#ln -s %{_sysconfdir}/yum.repos.d/redhat.repo %{buildroot}%{_datadir}/rhel/secrets/rhel7.repo
+ln -s %{_sysconfdir}/pki/entitlement %{buildroot}%{_datadir}/rhel/secrets/etc-pki-entitlement
+ln -s %{_sysconfdir}/rhsm %{buildroot}%{_datadir}/rhel/secrets/rhsm
+ln -s %{_sysconfdir}/yum.repos.d/redhat.repo %{buildroot}%{_datadir}/rhel/secrets/rhel7.repo
-#mkdir -p %{buildroot}%{_sysconfdir}/%{name}/certs.d/redhat.{com,io}
-#ln -s %{_sysconfdir}/rhsm/ca/redhat-uep.pem %{buildroot}%{_sysconfdir}/%{name}/certs.d/redhat.com/redhat-ca.crt
-#ln -s %{_sysconfdir}/rhsm/ca/redhat-uep.pem %{buildroot}%{_sysconfdir}/%{name}/certs.d/redhat.io/redhat-ca.crt
+mkdir -p %{buildroot}%{_sysconfdir}/%{name}/certs.d/redhat.{com,io}
+ln -s %{_sysconfdir}/rhsm/ca/redhat-uep.pem %{buildroot}%{_sysconfdir}/%{name}/certs.d/redhat.com/redhat-ca.crt
+ln -s %{_sysconfdir}/rhsm/ca/redhat-uep.pem %{buildroot}%{_sysconfdir}/%{name}/certs.d/redhat.io/redhat-ca.crt
# install systemd/init scripts
install -d %{buildroot}%{_unitdir}
install -p -m 644 %{SOURCE5} %{buildroot}%{_unitdir}
-# install novolume-plugin executable, unitfile, socket and man
-install -d %{buildroot}/%{_libexecdir}/%{repo}
-install -p -m 755 _build/src/%{repo}-novolume-plugin %{buildroot}/%{_libexecdir}/%{repo}/%{repo}-novolume-plugin
-install -p -m 644 %{repo}-novolume-plugin-%{commit4}/systemd/%{repo}-novolume-plugin.s* %{buildroot}%{_unitdir}
-install -d %{buildroot}%{_mandir}/man8
-install -p -m 644 %{repo}-novolume-plugin.8 %{buildroot}%{_mandir}/man8
-
-# don't install rhel-push-plugin executable, unitfile, socket and man
-# install -d %{buildroot}%{_libexecdir}/%{repo}
-#install -p -m 755 _build/src/rhel-push-plugin %{buildroot}%{_libexecdir}/%{repo}/rhel-push-plugin
-#install -p -m 644 rhel-push-plugin-%{commit5}/systemd/rhel-push-plugin.service %{buildroot}%{_unitdir}/rhel-push-plugin.service
-#install -p -m 644 rhel-push-plugin-%{commit5}/systemd/rhel-push-plugin.socket %{buildroot}%{_unitdir}/rhel-push-plugin.socket
-#install -d %{buildroot}%{_mandir}/man8
-#install -p -m 644 rhel-push-plugin.8 %{buildroot}%{_mandir}/man8
-
-# install %%{repo}-lvm-plugin executable, unitfile, socket and man
-install -d %{buildroot}/%{_libexecdir}/%{repo}
-install -p -m 755 _build/src/%{repo}-lvm-plugin %{buildroot}/%{_libexecdir}/%{repo}/%{repo}-lvm-plugin
-install -p -m 644 %{repo}-lvm-plugin-%{commit6}/systemd/%{repo}-lvm-plugin.s* %{buildroot}%{_unitdir}
-install -d %{buildroot}%{_mandir}/man8
-install -p -m 644 %{repo}-lvm-plugin.8 %{buildroot}%{_mandir}/man8
-mkdir -p %{buildroot}%{_sysconfdir}/%{repo}
-install -p -m 644 %{repo}-lvm-plugin-%{commit6}%{_sysconfdir}/%{repo}/%{repo}-lvm-plugin %{buildroot}%{_sysconfdir}/%{repo}/%{repo}-lvm-plugin
-
# for additional args
install -d %{buildroot}%{_sysconfdir}/sysconfig/
install -p -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/sysconfig/%{name}
@@ -442,19 +317,26 @@ popd
# install v1.10-migrator
install -d %{buildroot}%{_bindir}
-install -p -m 700 v1.10-migrator-%{commit7}/v1.10-migrator-local %{buildroot}%{_bindir}
+install -p -m 700 v1.10-migrator-%{commit2}/v1.10-migrator-local %{buildroot}%{_bindir}/%{name}-v1.10-migrator-local
+
+# install v1.10-migrator-helper
+install -p -m 700 %{SOURCE3} %{buildroot}%{_bindir}/%{name}-v1.10-migrator-helper
%check
[ ! -w /run/%{name}.sock ] || {
mkdir test_dir
pushd test_dir
- git clone https://github.com/projectatomic/%{repo}.git -b fedora-1.10.3
+ git clone https://github.com/projectatomic/%{repo}.git -b %{docker_branch}
pushd %{repo}
make test
popd
popd
}
+%pre
+getent passwd %{repo}root-latest > /dev/null || %{_sbindir}/useradd -r -d %{_sharedstatedir}/%{name} -s /sbin/nologin -c "Docker User" %%{repo}root-latest
+exit 0
+
%post
%systemd_post %{name}
@@ -464,10 +346,6 @@ install -p -m 700 v1.10-migrator-%{commit7}/v1.10-migrator-local %{buildroot}%{_
%postun
%systemd_postun_with_restart %{name}
-%triggerin -n %{name}-v1.10-migrator -- %{repo} < %{version}
-%{_bindir}/v1.10-migrator-local 2>/dev/null
-exit 0
-
#define license tag if not already defined
%{!?_licensedir:%global license %doc}
@@ -478,12 +356,13 @@ exit 0
%{_mandir}/man1/%{name}*.1.gz
%{_mandir}/man5/Dockerfile-latest.5.gz
%{_mandir}/man8/%{name}-daemon.8.gz
-%{_bindir}/%{name}*
+%{_bindir}/%{name}
+%{_bindir}/%{name}-storage-setup
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}-storage-setup.service
%{_datadir}/bash-completion/completions/%{name}
-#%dir %{_datadir}/rhel
-#%{_datadir}/rhel/*
+%dir %{_datadir}/rhel
+%{_datadir}/rhel/*
%dir %{_sharedstatedir}/%{name}
%{_udevrulesdir}/80-%{name}.rules
%{_sysconfdir}/%{name}
@@ -513,39 +392,91 @@ exit 0
%doc README.%{name}-logrotate
%{_sysconfdir}/cron.daily/%{name}-logrotate
-%files -n %{repo}-novolume-plugin
-%license %{repo}-novolume-plugin-%{commit4}/LICENSE
-%doc %{repo}-novolume-plugin-%{commit4}/README.md
-%{_mandir}/man8/%{repo}-novolume-plugin.8.gz
-%{_libexecdir}/%{repo}/%{repo}-novolume-plugin
-%{_unitdir}/%{repo}-novolume-plugin.*
-
-#%files -n %{repo}-rhel-push-plugin
-#%license rhel-push-plugin-%{commit5}/LICENSE
-#%doc rhel-push-plugin-%{commit5}/README.md
-#%{_mandir}/man8/rhel-push-plugin.8.gz
-#%{_libexecdir}/%{repo}/rhel-push-plugin
-#%{_unitdir}/rhel-push-plugin.*
-
-%files -n %{repo}-lvm-plugin
-%license %{repo}-lvm-plugin-%{commit6}/LICENSE
-%doc %{repo}-lvm-plugin-%{commit6}/README.md
-%config(noreplace) %{_sysconfdir}/%{repo}/%{repo}-lvm-plugin
-%{_mandir}/man8/%{repo}-lvm-plugin.8.gz
-%{_libexecdir}/%{repo}/%{repo}-lvm-plugin
-%{_unitdir}/%{repo}-lvm-plugin.*
-
%files v1.10-migrator
-%license v1.10-migrator-%{commit7}/LICENSE.{code,docs}
-%doc v1.10-migrator-%{commit7}/{CONTRIBUTING,README}.md
-%{_bindir}/v1.10-migrator-local
+%license v1.10-migrator-%{commit2}/LICENSE.{code,docs}
+%doc v1.10-migrator-%{commit2}/{CONTRIBUTING,README}.md
+%{_bindir}/%{name}-v1.10-migrator-*
+
%changelog
-* Thu Jun 9 2016 Johnny Hughes - 1.10.3-22.2
-- CentOS Bug 10987
+* Fri Jun 17 2016 Lokesh Mandvekar - 1.10.3-44
+- add MountFlags=slave to unitfile (RE: #1311544)
+
+* Fri Jun 17 2016 Lokesh Mandvekar - 1.10.3-43
+- add MountFlags=slave to unitfile
+
+* Mon Jun 13 2016 Lokesh Mandvekar - 1.10.3-42
+- use rhel-push-plugin >= 1.10.3-42 (RE: #1344448)
+
+* Mon Jun 13 2016 Lokesh Mandvekar - 1.10.3-41
+- make release tag consistent with 'docker'
+
+* Thu Jun 09 2016 Lokesh Mandvekar - 1.10.3-40
+- dockerroot user should be dockerroot-latest instead to not conflict with
+dockerroot user in 'docker' package
+
+* Thu Jun 09 2016 Lokesh Mandvekar - 1.10.3-39
+- create dockerroot user (just like in the 'docker' package)
+
+* Thu Jun 09 2016 Lokesh Mandvekar - 1.10.3-38
+* Mon Jun 13 2016 Lokesh Mandvekar - 1.10.3-41
+- make release tag consistent with 'docker'
+
+* Thu Jun 09 2016 Lokesh Mandvekar - 1.10.3-40
+- dockerroot user should be dockerroot-latest instead to not conflict with
+dockerroot user in 'docker' package
+
+* Thu Jun 09 2016 Lokesh Mandvekar - 1.10.3-39
+- create dockerroot user (just like in the 'docker' package)
+
+* Thu Jun 09 2016 Lokesh Mandvekar - 1.10.3-38
+- built docker projectatomic/rhel7-1.10.3 commit a46c31a
+- fixes a panic
+
+* Wed Jun 08 2016 Lokesh Mandvekar - 1.10.3-37
+- migrator package doesn't require docker at runtime
+- From: Jonathan Lebon
+- bump release tag to make it consistent with 'docker' package
+
+* Wed Jun 08 2016 Lokesh Mandvekar - 1.10.3-35
+- Resolves: #1329220, #1341329, #1341172, #1341731, #1328403 #1331781, #1331003
+- same as previous build, bugs referenced
+
+* Tue Jun 07 2016 Lokesh Mandvekar - 1.10.3-34
+- Patch0 in previous build has been merged in projectatomic/docker
+rhel7-1.10.3 branch
+- built docker projectatomic/rhel7-1.10.3 commit 6baafd8
+- define docker_branch macro to be used in %%check
+- use version-release tag consistent with 'docker' package since it's the
+same version in both
+
+* Thu Jun 02 2016 Lokesh Mandvekar - 1.10.3-29
+- avoid docker-migrator-* files being listed twice
+
+* Thu Jun 02 2016 Lokesh Mandvekar - 1.10.3-28
+- v1.10-migrator shipped separately in both docker and docker-latest
+- the v1.10-migrator subpackage in docker-latest has executables prepended
+with 'docker-latest-', while there's no change in the ones shipped with
+docker (RE: #1342149)
+
+* Wed Jun 01 2016 Lokesh Mandvekar - 1.10.3-27
+- Resolves: #1341731 - solve log spam issues
+- remove v1.10-migrator as it's placed in the main docker package
+- built docker projectatomic/rhel7-1.10.3 commit 4779225
+- built dss commit 194eca2
+
+* Tue May 31 2016 Lokesh Mandvekar - 1.10.3-26
+- Resolves: #1341172 - requires oci-register-machine and oci-systemd-hook
+
+* Thu May 26 2016 Lokesh Mandvekar - 1.10.3-25
+- requires docker-rhel-push-plugin >= 1.10.3-25
+
+* Fri May 20 2016 Lokesh Mandvekar - 1.10.3-24
+- update docker_ver-docker_rel to 1.10.3-25
-* Mon May 16 2016 Johnny Hughes - 1.10.3-22.1
-- Manual CentOS Debranding
+* Fri May 20 2016 Lokesh Mandvekar - 1.10.3-23
+- Resolves: #1338021, use plugin subpackages from 'docker' package
+- From: Colin Walters
* Tue May 03 2016 Lokesh Mandvekar - 1.10.3-22
- Resolves: #1328588, ship /etc/docker/docker-lvm-plugin config file