Skip to content

Commit 538e52d

Browse files
authored
Merge pull request #786 from klihub/build/cross-tarball
build: add target for cross-building binary tarballs using a CentOS-7 container.
2 parents d4e516e + 9892874 commit 538e52d

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

Makefile

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,14 @@ DOCKER_RPM_BUILD := \
147147
done && \
148148
cp -v $$(rpm --eval %{_rpmdir}/%{_arch})/*.rpm /output
149149

150+
# Docker boilerplate/commands to build binary tarballs.
151+
DOCKER_TAR_BUILD := \
152+
cd ~ && \
153+
$(GZIP_DC) /build/input/cri-resource-manager-$(TAR_VERSION).tar$(GZ_EXT) | \
154+
$(TAR) -xf - && \
155+
cd cri-resource-manager-$(TAR_VERSION) && \
156+
$(MAKE) OUTPUT=/output/ binary-dist
157+
150158
# Docker boilerplate/commands to build binaries.
151159
DOCKER_BIN_BUILD := \
152160
mkdir ~/build && cd ~/build && \
@@ -498,7 +506,7 @@ vendored-dist: dist
498506
rm -fr $$tardir
499507

500508
binary-dist: build
501-
$(Q)tarball=cri-resource-manager-$(TAR_VERSION).$$(uname -m).tar; \
509+
$(Q)tarball=$(OUTPUT)cri-resource-manager-$(TAR_VERSION).$$(uname -m).tar; \
502510
echo "Creating binary dist tarball $$tarball..."; \
503511
tardir=binary-dist; \
504512
rm -fr $$tarball* $$tardir && \
@@ -600,6 +608,20 @@ cross-bin.%: docker/cross-build/% dist
600608
$$distro-build /bin/bash -c '$(DOCKER_BIN_BUILD)' && \
601609
rm -fr $$builddir
602610

611+
cross-tar cross-tarball: dist docker/cross-build/centos-7
612+
$(Q)distro=tarball; \
613+
builddir=$(BUILD_DIR)/docker/$$distro; \
614+
outdir=$(PACKAGES_DIR)/$$distro; \
615+
echo "Docker cross-building $$distro packages..."; \
616+
mkdir -p $$outdir && \
617+
rm -fr $$builddir && mkdir -p $$builddir/{input,build} && \
618+
cp cri-resource-manager-$(TAR_VERSION).tar$(GZEXT) $$builddir/input && \
619+
$(DOCKER) run --rm -ti $(DOCKER_OPTIONS) --user $(shell echo $$USER) \
620+
--env USER_NAME="$(USER_NAME)" --env USER_EMAIL=$(USER_EMAIL) \
621+
-v $$(pwd)/$$builddir:/build \
622+
-v $$(pwd)/$$outdir:/output \
623+
centos-7-build /bin/bash -c '$(DOCKER_TAR_BUILD)' && \
624+
rm -fr $$builddir
603625

604626
# Build a docker image (for distro cross-building).
605627
docker/cross-build/%: dockerfiles/cross-build/Dockerfile.%

dockerfiles/cross-build/Dockerfile.centos-7

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ARG CREATE_USER="build"
99
ARG USER_OPTIONS=""
1010
ENV PATH /go/bin:/usr/local/go/bin:$PATH
1111

12-
RUN yum install -y rpm-build \
12+
RUN yum install -y --nogpgcheck rpm-build \
1313
kernel-devel clang gcc \
1414
curl-devel zlib-devel openssl-devel expat-devel \
1515
make wget

0 commit comments

Comments
 (0)