From 8392f8c90220fdacef70ed38bdf29e4a89ed6601 Mon Sep 17 00:00:00 2001 From: Konstantin Pavlov Date: Mon, 10 Apr 2023 15:36:48 -0700 Subject: [PATCH] Docker: check out packaging tags. This will ensure we're checking out source code that is close to what we have in binary packages. While at it, remove the checkout directory when it's no longer needed. --- pkg/docker/Makefile | 2 ++ pkg/docker/template.Dockerfile | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/docker/Makefile b/pkg/docker/Makefile index 46b75f27..b0a6857c 100644 --- a/pkg/docker/Makefile +++ b/pkg/docker/Makefile @@ -6,6 +6,7 @@ include ../shasum.mak DEFAULT_VERSION := $(NXT_VERSION) VERSION ?= $(DEFAULT_VERSION) +PATCHLEVEL ?= 1 EXPORT_DIR := $(VERSION) @@ -73,6 +74,7 @@ Dockerfile.%: ../../version template.Dockerfile @echo "===> Building $@" cat template.Dockerfile | sed \ -e 's,@@VERSION@@,$(VERSION),g' \ + -e 's,@@PATCHLEVEL@@,$(PATCHLEVEL),g' \ -e 's,@@CONTAINER@@,$(CONTAINER_$(call modname, $*)),g' \ -e 's,@@CONFIGURE@@,$(CONFIGURE_$(call modname, $*)),g' \ -e 's,@@INSTALL@@,$(INSTALL_$(call modname, $*)),g' \ diff --git a/pkg/docker/template.Dockerfile b/pkg/docker/template.Dockerfile index 037696ff..a99d8afa 100644 --- a/pkg/docker/template.Dockerfile +++ b/pkg/docker/template.Dockerfile @@ -7,9 +7,8 @@ RUN set -ex \ && apt-get update \ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \ && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \ - && hg clone https://hg.nginx.org/unit \ + && hg clone -u @@VERSION@@-@@PATCHLEVEL@@ https://hg.nginx.org/unit \ && cd unit \ - && hg up @@VERSION@@ \ && NCPU="$(getconf _NPROCESSORS_ONLN)" \ && DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \ && CC_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_CFLAGS_MAINT_APPEND="-Wp,-D_FORTIFY_SOURCE=2 -fPIC" dpkg-buildflags --get CFLAGS)" \ @@ -43,6 +42,8 @@ RUN set -ex \ && ./configure $CONFIGURE_ARGS_MODULES --cc-opt="$CC_OPT" --modulesdir=/usr/lib/unit/modules \ && ./configure @@CONFIGURE@@ \ && make -j $NCPU @@INSTALL@@ \ + && cd \ + && rm -rf unit \ && for f in /usr/sbin/unitd /usr/lib/unit/modules/*.unit.so; do \ ldd $f | awk '/=>/{print $(NF-1)}' | while read n; do dpkg-query -S $n; done | sed 's/^\([^:]\+\):.*$/\1/' | sort | uniq >> /requirements.apt; \ done \