From 21e49692a09c5680a0815c462a0688940e8c5766 Mon Sep 17 00:00:00 2001 From: Konstantin Pavlov Date: Mon, 10 Apr 2023 15:36:48 -0700 Subject: 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(-) (limited to 'pkg') diff --git a/pkg/docker/Makefile b/pkg/docker/Makefile index b8401e5f..fe432047 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 d8b5aae9..79666dd5 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 \ && 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)" \ @@ -39,6 +38,8 @@ RUN set -ex \ && ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --modules=/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 \ -- cgit