From fa401fa1b527587d7fb59e9e9ccae3bcc4887def Mon Sep 17 00:00:00 2001 From: Eli Uriegas Date: Thu, 1 Jun 2017 15:06:09 -0700 Subject: [PATCH 1/2] Add reflective alpine images to other components Signed-off-by: Eli Uriegas Upstream-commit: 0435cef6a945dc1c57b51cb24b36aaf66be8d8cc Component: packaging --- components/packaging/rpm/Makefile | 9 +- .../packaging/rpm/fedora-26/Dockerfile.x86_64 | 17 ++ .../packaging/rpm/fedora-26/docker-ce.spec | 195 ++++++++++++++++++ components/packaging/static/Makefile | 5 +- 4 files changed, 220 insertions(+), 6 deletions(-) create mode 100644 components/packaging/rpm/fedora-26/Dockerfile.x86_64 create mode 100644 components/packaging/rpm/fedora-26/docker-ce.spec diff --git a/components/packaging/rpm/Makefile b/components/packaging/rpm/Makefile index d5845abac6..757edf8061 100644 --- a/components/packaging/rpm/Makefile +++ b/components/packaging/rpm/Makefile @@ -1,12 +1,13 @@ ARCH=$(shell uname -m) +ALPINE:=$(shell $(CURDIR)/../detect_alpine_image) ENGINE_DIR:=$(CURDIR)/../../engine CLI_DIR:=$(CURDIR)/../../cli GITCOMMIT=$(shell cd $(ENGINE_DIR) && git rev-parse --short HEAD) VERSION=$(shell cat $(ENGINE_DIR)/VERSION) DOCKER_EXPERIMENTAL=0 GEN_RPM_VER=$(shell ./gen-rpm-ver $(ENGINE_DIR) $(VERSION)) -CHOWN=docker run --rm -i -v $(CURDIR):/v -w /v alpine chown -RPMBUILD=docker run --privileged --rm -i \ +CHOWN=docker run --rm -i -v $(CURDIR):/v -w /v $(ALPINE) chown +RPMBUILD=docker run --privileged --rm -i\ -v $(CURDIR)/rpmbuild/SOURCES:/root/rpmbuild/SOURCES \ -v $(CURDIR)/rpmbuild/BUILD:/root/rpmbuild/BUILD \ -v $(CURDIR)/rpmbuild/BUILDROOT:/root/rpmbuild/BUILDROOT \ @@ -56,7 +57,7 @@ rpmbuild/SOURCES/cli.tgz: docker run --rm -i -w /v \ -v $(CLI_DIR):/cli \ -v $(CURDIR)/rpmbuild/SOURCES:/v \ - alpine \ + $(ALPINE) \ tar -C / -c -z -f /v/cli.tgz --exclude .git cli rpmbuild/SOURCES/engine.tgz: @@ -64,5 +65,5 @@ rpmbuild/SOURCES/engine.tgz: docker run --rm -i -w /v \ -v $(ENGINE_DIR):/engine \ -v $(CURDIR)/rpmbuild/SOURCES:/v \ - alpine \ + $(ALPINE) \ tar -C / -c -z -f /v/engine.tgz --exclude .git engine diff --git a/components/packaging/rpm/fedora-26/Dockerfile.x86_64 b/components/packaging/rpm/fedora-26/Dockerfile.x86_64 new file mode 100644 index 0000000000..5488affe2c --- /dev/null +++ b/components/packaging/rpm/fedora-26/Dockerfile.x86_64 @@ -0,0 +1,17 @@ +FROM registry.fedoraproject.org/fedora:26 +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 libtool-ltdl-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common +ENV GO_VERSION 1.8.3 +ENV DISTRO fedora +ENV SUITE 26 +RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local +ENV GOPATH /go +ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin +ENV AUTO_GOPATH 1 +ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux +ENV RUNC_BUILDTAGS seccomp selinux +RUN mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers +COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec +WORKDIR /root/rpmbuild +ENTRYPOINT ["/bin/rpmbuild"] diff --git a/components/packaging/rpm/fedora-26/docker-ce.spec b/components/packaging/rpm/fedora-26/docker-ce.spec new file mode 100644 index 0000000000..7afb26b505 --- /dev/null +++ b/components/packaging/rpm/fedora-26/docker-ce.spec @@ -0,0 +1,195 @@ +Name: docker-ce +Version: %{_version} +Release: %{_release}%{?dist} +Summary: The open-source application container engine +Group: Tools/Docker +License: ASL 2.0 +Source0: engine.tgz +Source1: cli.tgz +URL: https://www.docker.com +Vendor: Docker +Packager: Docker + +# DWZ problem with multiple golang binary, see bug +# https://bugzilla.redhat.com/show_bug.cgi?id=995136#c12 +%global _dwz_low_mem_die_limit 0 +%global is_systemd 1 +%global with_selinux 1 + +BuildRequires: pkgconfig(systemd) + +# required packages on install +Requires: /bin/sh +Requires: container-selinux >= 2.9 +Requires: iptables +Requires: libcgroup +Requires: systemd-units +Requires: tar +Requires: xz + +# Resolves: rhbz#1165615 +Requires: device-mapper-libs >= 1.02.90-1 + +# conflicting packages +Conflicts: docker +Conflicts: docker-io +Conflicts: docker-engine-cs + +# Obsolete packages +Obsoletes: docker-ce-selinux +Obsoletes: docker-engine-selinux +Obsoletes: docker-engine + +%description +Docker is an open source project to build, ship and run any application as a +lightweight container. + +Docker containers are both hardware-agnostic and platform-agnostic. This means +they can run anywhere, from your laptop to the largest EC2 compute instance and +everything in between - and they don't require you to use a particular +language, framework or packaging system. That makes them great building blocks +for deploying and scaling web apps, databases, and backend services without +depending on a particular stack or provider. + +%prep +%setup -q -c -n src -a 1 + +%build +export DOCKER_GITCOMMIT=%{_gitcommit} +mkdir -p /go/src/github.com/docker +rm -f /go/src/github.com/docker/cli +ln -s /root/rpmbuild/BUILD/src/cli /go/src/github.com/docker/cli +pushd /go/src/github.com/docker/cli +make VERSION=%{_origversion} GITCOMMIT=%{_gitcommit} dynbinary manpages # cli +popd +pushd engine +TMP_GOPATH="/go" hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini +hack/make.sh dynbinary +popd + +%check +cli/build/docker -v +engine/bundles/%{_origversion}/dynbinary-daemon/dockerd -v + +%install +# install binary +install -d $RPM_BUILD_ROOT/%{_bindir} +install -p -m 755 cli/build/docker $RPM_BUILD_ROOT/%{_bindir}/docker +install -p -m 755 engine/bundles/%{_origversion}/dynbinary-daemon/dockerd-%{_origversion} $RPM_BUILD_ROOT/%{_bindir}/dockerd + +# install proxy +install -p -m 755 /usr/local/bin/docker-proxy $RPM_BUILD_ROOT/%{_bindir}/docker-proxy + +# install containerd +install -p -m 755 /usr/local/bin/docker-containerd $RPM_BUILD_ROOT/%{_bindir}/docker-containerd +install -p -m 755 /usr/local/bin/docker-containerd-shim $RPM_BUILD_ROOT/%{_bindir}/docker-containerd-shim +install -p -m 755 /usr/local/bin/docker-containerd-ctr $RPM_BUILD_ROOT/%{_bindir}/docker-containerd-ctr + +# install runc +install -p -m 755 /usr/local/bin/docker-runc $RPM_BUILD_ROOT/%{_bindir}/docker-runc + +# install tini +install -p -m 755 /usr/local/bin/docker-init $RPM_BUILD_ROOT/%{_bindir}/docker-init + +# install udev rules +install -d $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d +install -p -m 644 engine/contrib/udev/80-docker.rules $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/80-docker.rules + +# add init scripts +install -d $RPM_BUILD_ROOT/etc/sysconfig +install -d $RPM_BUILD_ROOT/%{_initddir} +install -d $RPM_BUILD_ROOT/%{_unitdir} +install -p -m 644 /systemd/docker.service $RPM_BUILD_ROOT/%{_unitdir}/docker.service +# add bash, zsh, and fish completions +install -d $RPM_BUILD_ROOT/usr/share/bash-completion/completions +install -d $RPM_BUILD_ROOT/usr/share/zsh/vendor-completions +install -d $RPM_BUILD_ROOT/usr/share/fish/vendor_completions.d +install -p -m 644 engine/contrib/completion/bash/docker $RPM_BUILD_ROOT/usr/share/bash-completion/completions/docker +install -p -m 644 engine/contrib/completion/zsh/_docker $RPM_BUILD_ROOT/usr/share/zsh/vendor-completions/_docker +install -p -m 644 engine/contrib/completion/fish/docker.fish $RPM_BUILD_ROOT/usr/share/fish/vendor_completions.d/docker.fish + +# install manpages +install -d %{buildroot}%{_mandir}/man1 +install -p -m 644 cli/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1 +install -d %{buildroot}%{_mandir}/man5 +install -p -m 644 cli/man/man5/*.5 $RPM_BUILD_ROOT/%{_mandir}/man5 +install -d %{buildroot}%{_mandir}/man8 +install -p -m 644 cli/man/man8/*.8 $RPM_BUILD_ROOT/%{_mandir}/man8 + +# add vimfiles +install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/doc +install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/ftdetect +install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/syntax +install -p -m 644 engine/contrib/syntax/vim/doc/dockerfile.txt $RPM_BUILD_ROOT/usr/share/vim/vimfiles/doc/dockerfile.txt +install -p -m 644 engine/contrib/syntax/vim/ftdetect/dockerfile.vim $RPM_BUILD_ROOT/usr/share/vim/vimfiles/ftdetect/dockerfile.vim +install -p -m 644 engine/contrib/syntax/vim/syntax/dockerfile.vim $RPM_BUILD_ROOT/usr/share/vim/vimfiles/syntax/dockerfile.vim + +# add nano +install -d $RPM_BUILD_ROOT/usr/share/nano +install -p -m 644 engine/contrib/syntax/nano/Dockerfile.nanorc $RPM_BUILD_ROOT/usr/share/nano/Dockerfile.nanorc + +mkdir -p build-docs +for engine_file in AUTHORS CHANGELOG.md CONTRIBUTING.md LICENSE MAINTAINERS NOTICE README.md; do + cp "engine/$engine_file" "build-docs/engine-$engine_file" +done +for cli_file in LICENSE MAINTAINERS NOTICE README.md; do + cp "cli/$cli_file" "build-docs/cli-$cli_file" +done + +# list files owned by the package here +%files +%doc build-docs/engine-AUTHORS build-docs/engine-CHANGELOG.md build-docs/engine-CONTRIBUTING.md build-docs/engine-LICENSE build-docs/engine-MAINTAINERS build-docs/engine-NOTICE build-docs/engine-README.md +%doc build-docs/cli-LICENSE build-docs/cli-MAINTAINERS build-docs/cli-NOTICE build-docs/cli-README.md +/%{_bindir}/docker +/%{_bindir}/dockerd +/%{_bindir}/docker-containerd +/%{_bindir}/docker-containerd-shim +/%{_bindir}/docker-containerd-ctr +/%{_bindir}/docker-proxy +/%{_bindir}/docker-runc +/%{_bindir}/docker-init +/%{_sysconfdir}/udev/rules.d/80-docker.rules +/%{_unitdir}/docker.service +/usr/share/bash-completion/completions/docker +/usr/share/zsh/vendor-completions/_docker +/usr/share/fish/vendor_completions.d/docker.fish +%doc +/%{_mandir}/man1/* +/%{_mandir}/man5/* +/%{_mandir}/man8/* +/usr/share/vim/vimfiles/doc/dockerfile.txt +/usr/share/vim/vimfiles/ftdetect/dockerfile.vim +/usr/share/vim/vimfiles/syntax/dockerfile.vim +/usr/share/nano/Dockerfile.nanorc + +%post +%systemd_post docker +if ! getent group docker > /dev/null; then + groupadd --system docker +fi + +%preun +%systemd_preun docker + +%postun +%systemd_postun_with_restart docker + +%changelog + +* Wed Jun 21 2017 17.06.0-ce +- release docker-ce 17.06.0-ce + +* Mon Jun 19 2017 17.06.0-ce-rc5 +- release docker-ce 17.06.0-ce-rc5 + +* Thu Jun 15 2017 17.06.0-ce-rc4 +- release docker-ce 17.06.0-ce-rc4 + +* Tue Jun 13 2017 17.06.0-ce-rc3 +- release docker-ce 17.06.0-ce-rc3 + +* Wed Jun 07 2017 17.06.0-ce-rc2 +- release docker-ce 17.06.0-ce-rc2 + +* Mon May 29 2017 17.06.0-ce-rc1 +- release docker-ce 17.06.0-ce-rc1 diff --git a/components/packaging/static/Makefile b/components/packaging/static/Makefile index 57d51851ea..48bb371e41 100644 --- a/components/packaging/static/Makefile +++ b/components/packaging/static/Makefile @@ -1,9 +1,10 @@ SHELL:=/bin/bash +ALPINE:=$(shell $(CURDIR)/../detect_alpine_image) ENGINE_DIR:=$(CURDIR)/../../engine CLI_DIR:=$(CURDIR)/../../cli ENGINE_VER=$(shell cat $(ENGINE_DIR)/VERSION) VERSION=$(shell cat $(ENGINE_DIR)/VERSION) -CHOWN=docker run --rm -v $(CURDIR):/v -w /v alpine chown +CHOWN=docker run --rm -v $(CURDIR):/v -w /v $(ALPINE) chown HASH_CMD=docker run -v $(CURDIR):/sum -w /sum debian:jessie bash hash_files DIR_TO_HASH:=build/linux @@ -39,7 +40,7 @@ cross-win: cross-all-cli cross-win-engine ## create zip file with windows x86_64 mkdir -p build/win/docker cp $(CLI_DIR)/build/docker-windows-amd64 build/win/docker/docker.exe cp $(ENGINE_DIR)/bundles/$(ENGINE_VER)/cross/windows/amd64/dockerd-$(ENGINE_VER).exe build/win/docker/dockerd.exe - docker run --rm -v $(CURDIR)/build/win:/v -w /v alpine sh -c 'apk update&&apk add zip&&zip -r docker-$(VERSION).zip docker' + docker run --rm -v $(CURDIR)/build/win:/v -w /v $(ALPINE) sh -c 'apk update&&apk add zip&&zip -r docker-$(VERSION).zip docker' $(CHOWN) -R $(shell id -u):$(shell id -g) build cross-arm: cross-all-cli ## create tgz with linux armhf client only From 480f1b0a2a19683ecd7fd1f1ccb3b7bad9a2c0ac Mon Sep 17 00:00:00 2001 From: Eli Uriegas Date: Thu, 1 Jun 2017 15:19:11 -0700 Subject: [PATCH 2/2] ALPINE -> ALPINE_IMG Signed-off-by: Eli Uriegas Upstream-commit: ee25bc2379126a75116ce66daffda6c7d3f41d42 Component: packaging --- components/packaging/deb/Makefile | 4 +- components/packaging/rpm/Makefile | 8 +- .../packaging/rpm/fedora-26/Dockerfile.x86_64 | 17 -- .../packaging/rpm/fedora-26/docker-ce.spec | 195 ------------------ components/packaging/static/Makefile | 6 +- 5 files changed, 9 insertions(+), 221 deletions(-) delete mode 100644 components/packaging/rpm/fedora-26/Dockerfile.x86_64 delete mode 100644 components/packaging/rpm/fedora-26/docker-ce.spec diff --git a/components/packaging/deb/Makefile b/components/packaging/deb/Makefile index d0bedb8a67..1b3cf664b7 100644 --- a/components/packaging/deb/Makefile +++ b/components/packaging/deb/Makefile @@ -1,12 +1,12 @@ SHELL:=/bin/bash -ALPINE:=$(shell $(CURDIR)/../detect_alpine_image) +ALPINE_IMG:=$(shell $(CURDIR)/../detect_alpine_image) ARCH:=$(shell uname -m) ENGINE_DIR:=$(CURDIR)/../../engine CLI_DIR:=$(CURDIR)/../../cli GITCOMMIT?=$(shell cd $(ENGINE_DIR) && git rev-parse --short HEAD) VERSION?=$(shell cat $(ENGINE_DIR)/VERSION) DOCKER_EXPERIMENTAL:=0 -CHOWN:=docker run --rm -i -v $(CURDIR):/v -w /v $(ALPINE) chown +CHOWN:=docker run --rm -v $(CURDIR):/v -w /v $(ALPINE_IMG) chown .PHONY: help clean deb ubuntu debian ubuntu-xenial ubuntu-trusty ubuntu-yakkety ubuntu-zesty debian-jessie debian-stretch debian-wheezy diff --git a/components/packaging/rpm/Makefile b/components/packaging/rpm/Makefile index 757edf8061..960ff38222 100644 --- a/components/packaging/rpm/Makefile +++ b/components/packaging/rpm/Makefile @@ -1,12 +1,12 @@ ARCH=$(shell uname -m) -ALPINE:=$(shell $(CURDIR)/../detect_alpine_image) +ALPINE_IMG:=$(shell $(CURDIR)/../detect_alpine_image) ENGINE_DIR:=$(CURDIR)/../../engine CLI_DIR:=$(CURDIR)/../../cli GITCOMMIT=$(shell cd $(ENGINE_DIR) && git rev-parse --short HEAD) VERSION=$(shell cat $(ENGINE_DIR)/VERSION) DOCKER_EXPERIMENTAL=0 GEN_RPM_VER=$(shell ./gen-rpm-ver $(ENGINE_DIR) $(VERSION)) -CHOWN=docker run --rm -i -v $(CURDIR):/v -w /v $(ALPINE) chown +CHOWN=docker run --rm -i -v $(CURDIR):/v -w /v $(ALPINE_IMG) chown RPMBUILD=docker run --privileged --rm -i\ -v $(CURDIR)/rpmbuild/SOURCES:/root/rpmbuild/SOURCES \ -v $(CURDIR)/rpmbuild/BUILD:/root/rpmbuild/BUILD \ @@ -57,7 +57,7 @@ rpmbuild/SOURCES/cli.tgz: docker run --rm -i -w /v \ -v $(CLI_DIR):/cli \ -v $(CURDIR)/rpmbuild/SOURCES:/v \ - $(ALPINE) \ + $(ALPINE_IMG) \ tar -C / -c -z -f /v/cli.tgz --exclude .git cli rpmbuild/SOURCES/engine.tgz: @@ -65,5 +65,5 @@ rpmbuild/SOURCES/engine.tgz: docker run --rm -i -w /v \ -v $(ENGINE_DIR):/engine \ -v $(CURDIR)/rpmbuild/SOURCES:/v \ - $(ALPINE) \ + $(ALPINE_IMG) \ tar -C / -c -z -f /v/engine.tgz --exclude .git engine diff --git a/components/packaging/rpm/fedora-26/Dockerfile.x86_64 b/components/packaging/rpm/fedora-26/Dockerfile.x86_64 deleted file mode 100644 index 5488affe2c..0000000000 --- a/components/packaging/rpm/fedora-26/Dockerfile.x86_64 +++ /dev/null @@ -1,17 +0,0 @@ -FROM registry.fedoraproject.org/fedora:26 -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 libtool-ltdl-devel pkgconfig selinux-policy selinux-policy-devel systemd-devel tar git cmake vim-common -ENV GO_VERSION 1.8.3 -ENV DISTRO fedora -ENV SUITE 26 -RUN curl -fSL "https://golang.org/dl/go${GO_VERSION}.linux-amd64.tar.gz" | tar xzC /usr/local -ENV GOPATH /go -ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin -ENV AUTO_GOPATH 1 -ENV DOCKER_BUILDTAGS pkcs11 seccomp selinux -ENV RUNC_BUILDTAGS seccomp selinux -RUN mkdir -p /go/src/github.com/docker && mkdir -p /go/src/github.com/opencontainers -COPY docker-ce.spec /root/rpmbuild/SPECS/docker-ce.spec -WORKDIR /root/rpmbuild -ENTRYPOINT ["/bin/rpmbuild"] diff --git a/components/packaging/rpm/fedora-26/docker-ce.spec b/components/packaging/rpm/fedora-26/docker-ce.spec deleted file mode 100644 index 7afb26b505..0000000000 --- a/components/packaging/rpm/fedora-26/docker-ce.spec +++ /dev/null @@ -1,195 +0,0 @@ -Name: docker-ce -Version: %{_version} -Release: %{_release}%{?dist} -Summary: The open-source application container engine -Group: Tools/Docker -License: ASL 2.0 -Source0: engine.tgz -Source1: cli.tgz -URL: https://www.docker.com -Vendor: Docker -Packager: Docker - -# DWZ problem with multiple golang binary, see bug -# https://bugzilla.redhat.com/show_bug.cgi?id=995136#c12 -%global _dwz_low_mem_die_limit 0 -%global is_systemd 1 -%global with_selinux 1 - -BuildRequires: pkgconfig(systemd) - -# required packages on install -Requires: /bin/sh -Requires: container-selinux >= 2.9 -Requires: iptables -Requires: libcgroup -Requires: systemd-units -Requires: tar -Requires: xz - -# Resolves: rhbz#1165615 -Requires: device-mapper-libs >= 1.02.90-1 - -# conflicting packages -Conflicts: docker -Conflicts: docker-io -Conflicts: docker-engine-cs - -# Obsolete packages -Obsoletes: docker-ce-selinux -Obsoletes: docker-engine-selinux -Obsoletes: docker-engine - -%description -Docker is an open source project to build, ship and run any application as a -lightweight container. - -Docker containers are both hardware-agnostic and platform-agnostic. This means -they can run anywhere, from your laptop to the largest EC2 compute instance and -everything in between - and they don't require you to use a particular -language, framework or packaging system. That makes them great building blocks -for deploying and scaling web apps, databases, and backend services without -depending on a particular stack or provider. - -%prep -%setup -q -c -n src -a 1 - -%build -export DOCKER_GITCOMMIT=%{_gitcommit} -mkdir -p /go/src/github.com/docker -rm -f /go/src/github.com/docker/cli -ln -s /root/rpmbuild/BUILD/src/cli /go/src/github.com/docker/cli -pushd /go/src/github.com/docker/cli -make VERSION=%{_origversion} GITCOMMIT=%{_gitcommit} dynbinary manpages # cli -popd -pushd engine -TMP_GOPATH="/go" hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini -hack/make.sh dynbinary -popd - -%check -cli/build/docker -v -engine/bundles/%{_origversion}/dynbinary-daemon/dockerd -v - -%install -# install binary -install -d $RPM_BUILD_ROOT/%{_bindir} -install -p -m 755 cli/build/docker $RPM_BUILD_ROOT/%{_bindir}/docker -install -p -m 755 engine/bundles/%{_origversion}/dynbinary-daemon/dockerd-%{_origversion} $RPM_BUILD_ROOT/%{_bindir}/dockerd - -# install proxy -install -p -m 755 /usr/local/bin/docker-proxy $RPM_BUILD_ROOT/%{_bindir}/docker-proxy - -# install containerd -install -p -m 755 /usr/local/bin/docker-containerd $RPM_BUILD_ROOT/%{_bindir}/docker-containerd -install -p -m 755 /usr/local/bin/docker-containerd-shim $RPM_BUILD_ROOT/%{_bindir}/docker-containerd-shim -install -p -m 755 /usr/local/bin/docker-containerd-ctr $RPM_BUILD_ROOT/%{_bindir}/docker-containerd-ctr - -# install runc -install -p -m 755 /usr/local/bin/docker-runc $RPM_BUILD_ROOT/%{_bindir}/docker-runc - -# install tini -install -p -m 755 /usr/local/bin/docker-init $RPM_BUILD_ROOT/%{_bindir}/docker-init - -# install udev rules -install -d $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d -install -p -m 644 engine/contrib/udev/80-docker.rules $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/80-docker.rules - -# add init scripts -install -d $RPM_BUILD_ROOT/etc/sysconfig -install -d $RPM_BUILD_ROOT/%{_initddir} -install -d $RPM_BUILD_ROOT/%{_unitdir} -install -p -m 644 /systemd/docker.service $RPM_BUILD_ROOT/%{_unitdir}/docker.service -# add bash, zsh, and fish completions -install -d $RPM_BUILD_ROOT/usr/share/bash-completion/completions -install -d $RPM_BUILD_ROOT/usr/share/zsh/vendor-completions -install -d $RPM_BUILD_ROOT/usr/share/fish/vendor_completions.d -install -p -m 644 engine/contrib/completion/bash/docker $RPM_BUILD_ROOT/usr/share/bash-completion/completions/docker -install -p -m 644 engine/contrib/completion/zsh/_docker $RPM_BUILD_ROOT/usr/share/zsh/vendor-completions/_docker -install -p -m 644 engine/contrib/completion/fish/docker.fish $RPM_BUILD_ROOT/usr/share/fish/vendor_completions.d/docker.fish - -# install manpages -install -d %{buildroot}%{_mandir}/man1 -install -p -m 644 cli/man/man1/*.1 $RPM_BUILD_ROOT/%{_mandir}/man1 -install -d %{buildroot}%{_mandir}/man5 -install -p -m 644 cli/man/man5/*.5 $RPM_BUILD_ROOT/%{_mandir}/man5 -install -d %{buildroot}%{_mandir}/man8 -install -p -m 644 cli/man/man8/*.8 $RPM_BUILD_ROOT/%{_mandir}/man8 - -# add vimfiles -install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/doc -install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/ftdetect -install -d $RPM_BUILD_ROOT/usr/share/vim/vimfiles/syntax -install -p -m 644 engine/contrib/syntax/vim/doc/dockerfile.txt $RPM_BUILD_ROOT/usr/share/vim/vimfiles/doc/dockerfile.txt -install -p -m 644 engine/contrib/syntax/vim/ftdetect/dockerfile.vim $RPM_BUILD_ROOT/usr/share/vim/vimfiles/ftdetect/dockerfile.vim -install -p -m 644 engine/contrib/syntax/vim/syntax/dockerfile.vim $RPM_BUILD_ROOT/usr/share/vim/vimfiles/syntax/dockerfile.vim - -# add nano -install -d $RPM_BUILD_ROOT/usr/share/nano -install -p -m 644 engine/contrib/syntax/nano/Dockerfile.nanorc $RPM_BUILD_ROOT/usr/share/nano/Dockerfile.nanorc - -mkdir -p build-docs -for engine_file in AUTHORS CHANGELOG.md CONTRIBUTING.md LICENSE MAINTAINERS NOTICE README.md; do - cp "engine/$engine_file" "build-docs/engine-$engine_file" -done -for cli_file in LICENSE MAINTAINERS NOTICE README.md; do - cp "cli/$cli_file" "build-docs/cli-$cli_file" -done - -# list files owned by the package here -%files -%doc build-docs/engine-AUTHORS build-docs/engine-CHANGELOG.md build-docs/engine-CONTRIBUTING.md build-docs/engine-LICENSE build-docs/engine-MAINTAINERS build-docs/engine-NOTICE build-docs/engine-README.md -%doc build-docs/cli-LICENSE build-docs/cli-MAINTAINERS build-docs/cli-NOTICE build-docs/cli-README.md -/%{_bindir}/docker -/%{_bindir}/dockerd -/%{_bindir}/docker-containerd -/%{_bindir}/docker-containerd-shim -/%{_bindir}/docker-containerd-ctr -/%{_bindir}/docker-proxy -/%{_bindir}/docker-runc -/%{_bindir}/docker-init -/%{_sysconfdir}/udev/rules.d/80-docker.rules -/%{_unitdir}/docker.service -/usr/share/bash-completion/completions/docker -/usr/share/zsh/vendor-completions/_docker -/usr/share/fish/vendor_completions.d/docker.fish -%doc -/%{_mandir}/man1/* -/%{_mandir}/man5/* -/%{_mandir}/man8/* -/usr/share/vim/vimfiles/doc/dockerfile.txt -/usr/share/vim/vimfiles/ftdetect/dockerfile.vim -/usr/share/vim/vimfiles/syntax/dockerfile.vim -/usr/share/nano/Dockerfile.nanorc - -%post -%systemd_post docker -if ! getent group docker > /dev/null; then - groupadd --system docker -fi - -%preun -%systemd_preun docker - -%postun -%systemd_postun_with_restart docker - -%changelog - -* Wed Jun 21 2017 17.06.0-ce -- release docker-ce 17.06.0-ce - -* Mon Jun 19 2017 17.06.0-ce-rc5 -- release docker-ce 17.06.0-ce-rc5 - -* Thu Jun 15 2017 17.06.0-ce-rc4 -- release docker-ce 17.06.0-ce-rc4 - -* Tue Jun 13 2017 17.06.0-ce-rc3 -- release docker-ce 17.06.0-ce-rc3 - -* Wed Jun 07 2017 17.06.0-ce-rc2 -- release docker-ce 17.06.0-ce-rc2 - -* Mon May 29 2017 17.06.0-ce-rc1 -- release docker-ce 17.06.0-ce-rc1 diff --git a/components/packaging/static/Makefile b/components/packaging/static/Makefile index 48bb371e41..02bcd1fc18 100644 --- a/components/packaging/static/Makefile +++ b/components/packaging/static/Makefile @@ -1,10 +1,10 @@ SHELL:=/bin/bash -ALPINE:=$(shell $(CURDIR)/../detect_alpine_image) +ALPINE_IMG:=$(shell $(CURDIR)/../detect_alpine_image) ENGINE_DIR:=$(CURDIR)/../../engine CLI_DIR:=$(CURDIR)/../../cli ENGINE_VER=$(shell cat $(ENGINE_DIR)/VERSION) VERSION=$(shell cat $(ENGINE_DIR)/VERSION) -CHOWN=docker run --rm -v $(CURDIR):/v -w /v $(ALPINE) chown +CHOWN=docker run --rm -v $(CURDIR):/v -w /v $(ALPINE_IMG) chown HASH_CMD=docker run -v $(CURDIR):/sum -w /sum debian:jessie bash hash_files DIR_TO_HASH:=build/linux @@ -40,7 +40,7 @@ cross-win: cross-all-cli cross-win-engine ## create zip file with windows x86_64 mkdir -p build/win/docker cp $(CLI_DIR)/build/docker-windows-amd64 build/win/docker/docker.exe cp $(ENGINE_DIR)/bundles/$(ENGINE_VER)/cross/windows/amd64/dockerd-$(ENGINE_VER).exe build/win/docker/dockerd.exe - docker run --rm -v $(CURDIR)/build/win:/v -w /v $(ALPINE) sh -c 'apk update&&apk add zip&&zip -r docker-$(VERSION).zip docker' + docker run --rm -v $(CURDIR)/build/win:/v -w /v $(ALPINE_IMG) sh -c 'apk update&&apk add zip&&zip -r docker-$(VERSION).zip docker' $(CHOWN) -R $(shell id -u):$(shell id -g) build cross-arm: cross-all-cli ## create tgz with linux armhf client only