diff --git a/Makefile b/Makefile index 9d65634..8168a6b 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,9 @@ HOME=$(shell pwd) MAINVERSION=2.4 +NO_SUDO?=0 +USE_PODMAN?=0 LUA_VERSION=5.4.3 USE_LUA?=0 -NO_SUDO?=0 USE_PROMETHEUS?=0 VERSION=$(shell curl -s http://git.haproxy.org/git/haproxy-${MAINVERSION}.git/refs/tags/ | sed -n 's:.*>\(.*\).*:\1:p' | sed 's/^.//' | sort -rV | head -1) ifeq ("${VERSION}","./") @@ -16,6 +17,11 @@ ifeq ($(NO_SUDO),1) else SUDO=sudo endif +ifeq ($(USE_PODMAN),1) + CONTAINER_RUNTIME=podman +else + CONTAINER_RUNTIME=docker +endif all: build @@ -31,25 +37,16 @@ clean: rm -rf ./lua-${LUA_VERSION}* download-upstream: - curl -o ./SOURCES/haproxy-${VERSION}.tar.gz http://www.haproxy.org/download/${MAINVERSION}/src/haproxy-${VERSION}.tar.gz + curl -o ./SOURCES/haproxy-${VERSION}.tar.gz http://www.haproxy.org/download/${MAINVERSION}/src/haproxy-${VERSION}.tar.gz build_lua: -ifeq ($(NO_SUDO),1) - yum install -y readline-devel -else - sudo yum install -y readline-devel -endif + rpm -q readline-devel || $(SUDO) yum install -y readline-devel curl -O https://www.lua.org/ftp/lua-${LUA_VERSION}.tar.gz tar xzf lua-${LUA_VERSION}.tar.gz cd lua-${LUA_VERSION} $(MAKE) -C lua-${LUA_VERSION} clean -ifeq ($(NO_SUDO),1) - $(MAKE) -C lua-${LUA_VERSION} MYCFLAGS=-fPIC linux test # MYCFLAGS=-fPIC is required during linux ld - $(MAKE) -C lua-${LUA_VERSION} install -else - sudo $(MAKE) -C lua-${LUA_VERSION} MYCFLAGS=-fPIC linux test # MYCFLAGS=-fPIC is required during linux ld - sudo $(MAKE) -C lua-${LUA_VERSION} install -endif + $(SUDO) $(MAKE) -C lua-${LUA_VERSION} MYCFLAGS=-fPIC linux test # MYCFLAGS=-fPIC is required during linux ld + $(SUDO) $(MAKE) -C lua-${LUA_VERSION} install build_stages := install_prereq clean download-upstream ifeq ($(USE_LUA),1) @@ -57,20 +54,20 @@ ifeq ($(USE_LUA),1) endif build-docker: - docker build -t haproxy-rpm-builder7:${VERSION}-${RELEASE} -f Dockerfile7 . - docker build -t haproxy-rpm-builder8:${VERSION}-${RELEASE} -f Dockerfile8 . - docker build -t haproxy-rpm-builder9:${VERSION}-${RELEASE} -f Dockerfile9 . - docker build -t haproxy-rpm-builder-amzn2:${VERSION}-${RELEASE} -f Dockerfile-amzn2 . - docker build -t haproxy-rpm-builder-amzn2023:${VERSION}-${RELEASE} -f Dockerfile-amzn2023 . + $(CONTAINER_RUNTIME) build -t haproxy-rpm-builder7:${VERSION}-${RELEASE} -f Dockerfile7 . + $(CONTAINER_RUNTIME) build -t haproxy-rpm-builder8:${VERSION}-${RELEASE} -f Dockerfile8 . + $(CONTAINER_RUNTIME) build -t haproxy-rpm-builder9:${VERSION}-${RELEASE} -f Dockerfile9 . + $(CONTAINER_RUNTIME) build -t haproxy-rpm-builder-amzn2:${VERSION}-${RELEASE} -f Dockerfile-amzn2 . + $(CONTAINER_RUNTIME) build -t haproxy-rpm-builder-amzn2023:${VERSION}-${RELEASE} -f Dockerfile-amzn2023 . 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-builder9:${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 USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder-amzn2023:${VERSION}-${RELEASE} + $(CONTAINER_RUNTIME) run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder7:${VERSION}-${RELEASE} + $(CONTAINER_RUNTIME) run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder8:${VERSION}-${RELEASE} + $(CONTAINER_RUNTIME) run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder9:${VERSION}-${RELEASE} + $(CONTAINER_RUNTIME) run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder-amzn2:${VERSION}-${RELEASE} + $(CONTAINER_RUNTIME) run --volume $(HOME)/RPMS:/RPMS --rm -e USE_PROMETHEUS=${USE_PROMETHEUS} -e RELEASE=${RELEASE} haproxy-rpm-builder-amzn2023:${VERSION}-${RELEASE} build: $(build_stages) cp -r ./SPECS/* ./rpmbuild/SPECS/ || true