Add containerd-proxy building

Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
Upstream-commit: ca519bb1194b6ab673b5ade7861f220cac949ec6
Component: packaging
This commit is contained in:
Eli Uriegas
2018-08-14 16:50:27 +00:00
parent 2645463a17
commit 4db1f97e23
3 changed files with 38 additions and 9 deletions
+1
View File
@@ -1,3 +1,4 @@
build
debbuild
rpmbuild
tmp
+25 -5
View File
@@ -15,7 +15,12 @@ RPMBUILD_FLAGS=-ba\
--define '_release $(word 2,$(GEN_RPM_VER))' \
--define '_version $(word 1,$(GEN_RPM_VER))' \
--define '_origversion $(word 4, $(GEN_RPM_VER))' \
SPECS/docker-ce-cli.spec SPECS/docker-ce.spec
SPECS/docker-ce.spec SPECS/docker-ce-cli.spec
SOURCE_TGZS=containerd-proxy.tgz cli.tgz
SOURCES=$(addprefix rpmbuild/SOURCES/, $(SOURCE_TGZS))
CONTAINERD_PROXY_COMMIT=3337fb47f10892318361b58c8483f19b1ffa8203
.PHONY: help
help: ## show make targets
@@ -24,7 +29,8 @@ help: ## show make targets
.PHONY: clean
clean: ## remove build artifacts
[ ! -d rpmbuild ] || $(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild
rm -rf rpmbuild
$(RM) -r rpmbuild
$(RM) -r tmp/
.PHONY: rpm
rpm: fedora centos ## build all rpm packages
@@ -36,19 +42,22 @@ fedora: fedora-28 fedora-27 fedora-26 ## build all fedora rpm packages
centos: centos-7 ## build all centos rpm packages
.PHONY: fedora-28
fedora-28: rpmbuild/SOURCES/cli.tgz ## build fedora-28 rpm packages
fedora-28: ## build fedora-28 rpm packages
fedora-28: $(SOURCES)
docker build --build-arg GO_VERSION=$(GO_VERSION) -t rpmbuild-$@/$(ARCH) -f $@/Dockerfile.$(ARCH) .
$(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS)
$(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild
.PHONY: fedora-27
fedora-27: rpmbuild/SOURCES/cli.tgz ## build fedora-27 rpm packages
fedora-27: ## build fedora-27 rpm packages
fedora-27: $(SOURCES)
docker build --build-arg GO_VERSION=$(GO_VERSION) -t rpmbuild-$@/$(ARCH) -f $@/Dockerfile.$(ARCH) .
$(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS)
$(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild
.PHONY: centos-7
centos-7: rpmbuild/SOURCES/cli.tgz ## build centos-7 rpm packages
centos-7: ## build centos-7 rpm packages
centos-7: $(SOURCES)
docker build --build-arg GO_VERSION=$(GO_VERSION) -t rpmbuild-$@/$(ARCH) -f $@/Dockerfile.$(ARCH) .
$(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS)
$(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild
@@ -60,3 +69,14 @@ rpmbuild/SOURCES/cli.tgz:
-v $(CURDIR)/rpmbuild/SOURCES:/v \
alpine \
tar -C / -c -z -f /v/cli.tgz --exclude .git cli
rpmbuild/SOURCES/containerd-proxy.tgz:
mkdir -p tmp/
curl -fL -o tmp/containerd-proxy.tgz "https://github.com/crosbymichael/containerd-proxy/archive/$(CONTAINERD_PROXY_COMMIT)/ours.tar.gz"
tar xzf tmp/containerd-proxy.tgz -C tmp/
mv tmp/containerd-proxy-$(CONTAINERD_PROXY_COMMIT) tmp/containerd-proxy
mkdir -p $(@D)
$(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild
tar -zcf $@ -C tmp/ containerd-proxy
rm -rf tmp/
$(CHOWN) -R root:root rpmbuild/SOURCES
+12 -4
View File
@@ -4,6 +4,7 @@ Name: docker-ce
Version: %{_version}
Release: %{_release}%{?dist}
Epoch: %{getenv:EPOCH}
Source0: containerd-proxy.tgz
Summary: The open-source application container engine
Group: Tools/Docker
License: ASL 2.0
@@ -35,17 +36,24 @@ 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
%build
mkdir -p /go/src/github.com/crosbymichael/
ls %{_topdir}/BUILD/src
ln -s %{_topdir}/BUILD/src/containerd-proxy /go/src/github.com/crosbymichael/containerd-proxy
go build -v -o /build/dockerd github.com/crosbymichael/containerd-proxy
%install
install -D -m 0755 /build/dockerd $RPM_BUILD_ROOT/%{_bindir}/dockerd
%files
/%{_bindir}/dockerd
%post
if ! getent group docker > /dev/null; then
groupadd --system docker
fi
# TODO Needs upgrade vs. install logic handling here
if ctr --namespace docker container info dockerd > /dev/null 2>&1 ; then
docker engine init
fi
%changelog