From 5427802dadc2173d3c8669c71fd1d761a97fdcbf Mon Sep 17 00:00:00 2001 From: Joseph Lamoree Date: Thu, 10 Nov 2022 14:18:32 -0800 Subject: [PATCH 1/4] Adds passthrough arguments to Docker builders --- .gitignore | 1 + Dockerfile-amzn2 | 2 +- Dockerfile7 | 2 +- Dockerfile8 | 2 +- Makefile | 6 +++--- 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 59ce5e3..2e9b248 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ SOURCES/haproxy-*.tar.gz rpmbuild RPMS lua-* +.docker diff --git a/Dockerfile-amzn2 b/Dockerfile-amzn2 index 7cf3688..d751837 100644 --- a/Dockerfile-amzn2 +++ b/Dockerfile-amzn2 @@ -9,4 +9,4 @@ COPY Makefile Makefile COPY SPECS/haproxy.spec SPECS/haproxy.spec COPY SOURCES/* SOURCES/ -CMD make NO_SUDO=1 && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS \ No newline at end of file +CMD make NO_SUDO=1 USE_PROMETHEUS=${USE_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS diff --git a/Dockerfile7 b/Dockerfile7 index 3efdef5..d6fd10e 100644 --- a/Dockerfile7 +++ b/Dockerfile7 @@ -9,4 +9,4 @@ COPY Makefile Makefile COPY SPECS/haproxy.spec SPECS/haproxy.spec COPY SOURCES/* SOURCES/ -CMD make NO_SUDO=1 && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS +CMD make NO_SUDO=1 USE_PROMETHEUS=${USE_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS diff --git a/Dockerfile8 b/Dockerfile8 index fa8ee82..edfde44 100644 --- a/Dockerfile8 +++ b/Dockerfile8 @@ -11,4 +11,4 @@ COPY Makefile Makefile COPY SPECS/haproxy.spec SPECS/haproxy.spec COPY SOURCES/* SOURCES/ -CMD make NO_SUDO=1 && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS +CMD make NO_SUDO=1 USE_PROMETHEUS=${USE_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS diff --git a/Makefile b/Makefile index e9040b0..b016109 100644 --- a/Makefile +++ b/Makefile @@ -51,9 +51,9 @@ build-docker: run-docker: build-docker mkdir -p RPMS chcon -Rt svirt_sandbox_file_t RPMS || true - docker run --volume $(HOME)/RPMS:/RPMS --rm haproxy-rpm-builder7:${VERSION}-${RELEASE} - docker run --volume $(HOME)/RPMS:/RPMS --rm haproxy-rpm-builder8:${VERSION}-${RELEASE} - docker run --volume $(HOME)/RPMS:/RPMS --rm haproxy-rpm-builder-amzn2:${VERSION}-${RELEASE} + docker run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder7:${VERSION}-${RELEASE} + docker run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder8:${VERSION}-${RELEASE} + docker run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder-amzn2:${VERSION}-${RELEASE} build: $(build_stages) cp -r ./SPECS/* ./rpmbuild/SPECS/ || true From 56d09ef2a61313acdf1bbcd00166710b4bc8bdee Mon Sep 17 00:00:00 2001 From: Joseph Lamoree Date: Thu, 10 Nov 2022 15:06:18 -0800 Subject: [PATCH 2/4] Changes env var name to avoid collision --- Dockerfile-amzn2 | 2 +- Dockerfile7 | 2 +- Dockerfile8 | 2 +- Makefile | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Dockerfile-amzn2 b/Dockerfile-amzn2 index d751837..c8deeb4 100644 --- a/Dockerfile-amzn2 +++ b/Dockerfile-amzn2 @@ -9,4 +9,4 @@ COPY Makefile Makefile COPY SPECS/haproxy.spec SPECS/haproxy.spec COPY SOURCES/* SOURCES/ -CMD make NO_SUDO=1 USE_PROMETHEUS=${USE_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS +CMD make NO_SUDO=1 USE_PROMETHEUS=${WITH_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS diff --git a/Dockerfile7 b/Dockerfile7 index d6fd10e..843cca8 100644 --- a/Dockerfile7 +++ b/Dockerfile7 @@ -9,4 +9,4 @@ COPY Makefile Makefile COPY SPECS/haproxy.spec SPECS/haproxy.spec COPY SOURCES/* SOURCES/ -CMD make NO_SUDO=1 USE_PROMETHEUS=${USE_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS +CMD make NO_SUDO=1 USE_PROMETHEUS=${WITH_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS diff --git a/Dockerfile8 b/Dockerfile8 index edfde44..fdad25e 100644 --- a/Dockerfile8 +++ b/Dockerfile8 @@ -11,4 +11,4 @@ COPY Makefile Makefile COPY SPECS/haproxy.spec SPECS/haproxy.spec COPY SOURCES/* SOURCES/ -CMD make NO_SUDO=1 USE_PROMETHEUS=${USE_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS +CMD make NO_SUDO=1 USE_PROMETHEUS=${WITH_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS diff --git a/Makefile b/Makefile index b016109..2614962 100644 --- a/Makefile +++ b/Makefile @@ -51,9 +51,9 @@ build-docker: run-docker: build-docker mkdir -p RPMS chcon -Rt svirt_sandbox_file_t RPMS || true - docker run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder7:${VERSION}-${RELEASE} - docker run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder8:${VERSION}-${RELEASE} - docker run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder-amzn2:${VERSION}-${RELEASE} + docker run --volume $(HOME)/RPMS:/RPMS --rm -e WITH_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder7:${VERSION}-${RELEASE} + docker run --volume $(HOME)/RPMS:/RPMS --rm -e WITH_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder8:${VERSION}-${RELEASE} + docker run --volume $(HOME)/RPMS:/RPMS --rm -e WITH_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder-amzn2:${VERSION}-${RELEASE} build: $(build_stages) cp -r ./SPECS/* ./rpmbuild/SPECS/ || true From 1bdbb47caa10fa7783c12a03aebd7f05c205fa24 Mon Sep 17 00:00:00 2001 From: Joseph Lamoree Date: Thu, 10 Nov 2022 15:29:36 -0800 Subject: [PATCH 3/4] Another tactic to prevent contamination --- Dockerfile-amzn2 | 2 +- Dockerfile7 | 2 +- Dockerfile8 | 2 +- Makefile | 6 +++--- SPECS/haproxy.spec | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Dockerfile-amzn2 b/Dockerfile-amzn2 index c8deeb4..d751837 100644 --- a/Dockerfile-amzn2 +++ b/Dockerfile-amzn2 @@ -9,4 +9,4 @@ COPY Makefile Makefile COPY SPECS/haproxy.spec SPECS/haproxy.spec COPY SOURCES/* SOURCES/ -CMD make NO_SUDO=1 USE_PROMETHEUS=${WITH_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS +CMD make NO_SUDO=1 USE_PROMETHEUS=${USE_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS diff --git a/Dockerfile7 b/Dockerfile7 index 843cca8..d6fd10e 100644 --- a/Dockerfile7 +++ b/Dockerfile7 @@ -9,4 +9,4 @@ COPY Makefile Makefile COPY SPECS/haproxy.spec SPECS/haproxy.spec COPY SOURCES/* SOURCES/ -CMD make NO_SUDO=1 USE_PROMETHEUS=${WITH_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS +CMD make NO_SUDO=1 USE_PROMETHEUS=${USE_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS diff --git a/Dockerfile8 b/Dockerfile8 index fdad25e..edfde44 100644 --- a/Dockerfile8 +++ b/Dockerfile8 @@ -11,4 +11,4 @@ COPY Makefile Makefile COPY SPECS/haproxy.spec SPECS/haproxy.spec COPY SOURCES/* SOURCES/ -CMD make NO_SUDO=1 USE_PROMETHEUS=${WITH_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS +CMD make NO_SUDO=1 USE_PROMETHEUS=${USE_PROMETHEUS:-0} RELEASE=${RELEASE:-1} && cp /rpmbuild/RPMS/x86_64/* /RPMS && cp /rpmbuild/SRPMS/* /RPMS diff --git a/Makefile b/Makefile index 2614962..b016109 100644 --- a/Makefile +++ b/Makefile @@ -51,9 +51,9 @@ build-docker: run-docker: build-docker mkdir -p RPMS chcon -Rt svirt_sandbox_file_t RPMS || true - docker run --volume $(HOME)/RPMS:/RPMS --rm -e WITH_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder7:${VERSION}-${RELEASE} - docker run --volume $(HOME)/RPMS:/RPMS --rm -e WITH_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder8:${VERSION}-${RELEASE} - docker run --volume $(HOME)/RPMS:/RPMS --rm -e WITH_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder-amzn2:${VERSION}-${RELEASE} + docker run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder7:${VERSION}-${RELEASE} + docker run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder8:${VERSION}-${RELEASE} + docker run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder-amzn2:${VERSION}-${RELEASE} build: $(build_stages) cp -r ./SPECS/* ./rpmbuild/SPECS/ || true diff --git a/SPECS/haproxy.spec b/SPECS/haproxy.spec index 23933b8..8d4bb29 100644 --- a/SPECS/haproxy.spec +++ b/SPECS/haproxy.spec @@ -106,14 +106,14 @@ USE_LUA="USE_LUA=1" %endif %if 0%{_use_prometheus} -USE_PROMETHEUS="USE_PROMEX=1" +USE_PROMEX="USE_PROMEX=1" %endif %if "%{_extra_cflags}" != "0" CFLAGS="$CFLAGS %{_extra_cflags}" %endif -%{__make} -j$RPM_BUILD_NCPUS %{?_smp_mflags} ${USE_LUA} CPU="generic" TARGET="linux-glibc" ${systemd_opts} ${pcre_opts} USE_OPENSSL=1 USE_ZLIB=1 ${regparm_opts} ADDINC="$CFLAGS" USE_LINUX_TPROXY=1 USE_THREAD=1 USE_TFO=${USE_TFO} USE_NS=${USE_NS} ${USE_PROMETHEUS} ADDLIB="%{__global_ldflags}" +%{__make} -j$RPM_BUILD_NCPUS %{?_smp_mflags} ${USE_LUA} CPU="generic" TARGET="linux-glibc" ${systemd_opts} ${pcre_opts} USE_OPENSSL=1 USE_ZLIB=1 ${regparm_opts} ADDINC="$CFLAGS" USE_LINUX_TPROXY=1 USE_THREAD=1 USE_TFO=${USE_TFO} USE_NS=${USE_NS} ${USE_PROMEX} ADDLIB="%{__global_ldflags}" %{__make} admin/halog/halog OPTIMIZE="%{optflags} %{__global_ldflags}" From e0d1ca626419031ed230d6d56058480c414a36f7 Mon Sep 17 00:00:00 2001 From: Joseph Lamoree Date: Thu, 10 Nov 2022 15:40:03 -0800 Subject: [PATCH 4/4] Updated readme with example passing args to Docker builders --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c9feb2d..d6dfa52 100644 --- a/README.md +++ b/README.md @@ -44,9 +44,10 @@ Resulting RPMs will be in `/opt/rpm-haproxy/rpmbuild/RPMS/x86_64/` ## Build using Docker make run-docker - - Resulting RPMs will be in `./RPMS/` - When updating any of the files that are included in the build phase, ensure that you also bump the release number + +Resulting RPMs will be in `./RPMS/` +When updating any of the files that are included in the build phase, ensure that you also bump the release number, like so: + make USE_PROMETHEUS=1 RELEASE=3 run-docker ## Credits