8989SLAVE_DIR = sonic-slave-jessie
9090endif
9191
92- SLAVE_BASE_TAG = $(shell CONFIGURED_ARCH=$(CONFIGURED_ARCH) j2 $(SLAVE_DIR)/Dockerfile.j2 > $(SLAVE_DIR)/Dockerfile && sha1sum $(SLAVE_DIR)/Dockerfile | awk '{print substr($$1,0,11);}')
93- SLAVE_TAG = $(shell cat $(SLAVE_DIR)/Dockerfile.user $(SLAVE_DIR)/Dockerfile | sha1sum | awk '{print substr($$1,0,11);}')
92+ include rules/config
93+
9494SLAVE_BASE_IMAGE = $(SLAVE_DIR)
9595SLAVE_IMAGE = $(SLAVE_BASE_IMAGE)-$(USER)
96+ $(shell SONIC_ENABLE_VERSION_CONTROL=$(SONIC_ENABLE_VERSION_CONTROL) \
97+ SONIC_VERSION_CONTROL_COMPONENTS=$(SONIC_VERSION_CONTROL_COMPONENTS) \
98+ TRUSTED_GPG_URLS=$(TRUSTED_GPG_URLS) PACKAGE_URL_PREFIX=$(PACKAGE_URL_PREFIX) \
99+ scripts/generate_buildinfo_config.sh)
100+ $(shell CONFIGURED_ARCH=$(CONFIGURED_ARCH) j2 $(SLAVE_DIR)/Dockerfile.j2 > $(SLAVE_DIR)/Dockerfile)
101+ $(shell BUILD_SLAVE=y scripts/prepare_docker_buildinfo.sh $(SLAVE_BASE_IMAGE) $(SLAVE_DIR)/Dockerfile $(CONFIGURED_ARCH) "" $(BLDENV))
102+ SLAVE_BASE_TAG = $(shell cat $(SLAVE_DIR)/Dockerfile $(SLAVE_DIR)/buildinfo/versions/versions-* | sha1sum | awk '{print substr($$1,0,11);}')
103+ SLAVE_TAG = $(shell cat $(SLAVE_DIR)/Dockerfile.user $(SLAVE_DIR)/Dockerfile $(SLAVE_DIR)/buildinfo/versions/versions-* | sha1sum | awk '{print substr($$1,0,11);}')
96104
97105OVERLAY_MODULE_CHECK := \
98106 lsmod | grep -q "^overlay " &>/dev/null || \
@@ -118,8 +126,6 @@ DOCKER_RUN := docker run --rm=true --privileged --init \
118126 -i$(if $(TERM),t,) \
119127 $(SONIC_BUILDER_EXTRA_CMDLINE)
120128
121- include rules/config
122-
123129ifneq ($(DOCKER_BUILDER_USER_MOUNT),)
124130 DOCKER_RUN += $(foreach mount,$(subst $(comma), ,$(DOCKER_BUILDER_USER_MOUNT)), $(addprefix -v , $(mount)))
125131endif
@@ -172,7 +178,8 @@ DOCKER_BASE_BUILD = docker build --no-cache \
172178 -t $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) \
173179 --build-arg http_proxy=$(http_proxy) \
174180 --build-arg https_proxy=$(https_proxy) \
175- $(SLAVE_DIR)
181+ $(SLAVE_DIR); \
182+ scripts/collect_docker_version_files.sh $(SLAVE_BASE_IMAGE):$(SLAVE_BASE_TAG) target
176183
177184DOCKER_BUILD = docker build --no-cache \
178185 --build-arg user=$(USER) \
@@ -217,7 +224,7 @@ SONIC_BUILD_INSTRUCTION := make \
217224 TELEMETRY_WRITABLE=$(TELEMETRY_WRITABLE) \
218225 EXTRA_DOCKER_TARGETS=$(EXTRA_DOCKER_TARGETS) \
219226 BUILD_LOG_TIMESTAMP=$(BUILD_LOG_TIMESTAMP) \
220- SONIC_ENABLE_IMAGE_SIGNATURE =$(ENABLE_IMAGE_SIGNATURE ) \
227+ SLAVE_DIR =$(SLAVE_DIR ) \
221228 $(SONIC_OVERRIDE_BUILD_VARS)
222229
223230.PHONY: sonic-slave-build sonic-slave-bash init reset
@@ -242,12 +249,12 @@ endif
242249 $(DOCKER_BUILD) ; }
243250ifeq "$(KEEP_SLAVE_ON)" "yes"
244251 ifdef SOURCE_FOLDER
245- @$(DOCKER_RUN) -v $(SOURCE_FOLDER):/var/$(USER)/src $(SLAVE_IMAGE):$(SLAVE_TAG) bash -c "$(SONIC_BUILD_INSTRUCTION) $@; /bin/bash"
252+ @$(DOCKER_RUN) -v $(SOURCE_FOLDER):/var/$(USER)/src $(SLAVE_IMAGE):$(SLAVE_TAG) bash -c "$(SONIC_BUILD_INSTRUCTION) $@; scripts/collect_build_version_files.sh $$?; /bin/bash"
246253 else
247- @$(DOCKER_RUN) $(SLAVE_IMAGE):$(SLAVE_TAG) bash -c "$(SONIC_BUILD_INSTRUCTION) $@; /bin/bash"
254+ @$(DOCKER_RUN) $(SLAVE_IMAGE):$(SLAVE_TAG) bash -c "$(SONIC_BUILD_INSTRUCTION) $@; scripts/collect_build_version_files.sh $$?; /bin/bash"
248255 endif
249256else
250- @$(DOCKER_RUN) $(SLAVE_IMAGE):$(SLAVE_TAG) $(SONIC_BUILD_INSTRUCTION) $@
257+ @$(DOCKER_RUN) $(SLAVE_IMAGE):$(SLAVE_TAG) bash -c " $(SONIC_BUILD_INSTRUCTION) $@; scripts/collect_build_version_files.sh $$?"
251258endif
252259
253260sonic-slave-base-build :
0 commit comments