0a36de3a89
* Revert "Revert "Support SONiC Reproduceable Build-debian/pip/web packages (#5718)"" This reverts commit17497a65e3
. * Revert "Revert "Remove unnecessary sudo authority in build Makefile (#6237)"" This reverts commit163b7111b5
.
40 lines
1.8 KiB
Makefile
40 lines
1.8 KiB
Makefile
SONIC_BUILD_HOOKS = sonic-build-hooks
|
|
SONIC_BUILD_HOOKS_VERSION = 1.0
|
|
SONIC_BUILD_HOOKS_PACKAGE = $(SONIC_BUILD_HOOKS)_$(SONIC_BUILD_HOOKS_VERSION)_all.deb
|
|
|
|
BUILDINFO_DIR = buildinfo
|
|
TMP_DIR = tmp
|
|
SYMBOL_LINKS_SRC_DIR = ../../usr/local/share/buildinfo/scripts
|
|
SYMBOL_LINKS = symlink_build_hooks post_run_buildinfo pre_run_buildinfo collect_version_files
|
|
SONIC_BUILD_HOOKS_TARGET = $(BUILDINFO_DIR)/$(SONIC_BUILD_HOOKS_PACKAGE)
|
|
BUILD_ROOT_DIR = $(TMP_DIR)/$(SONIC_BUILD_HOOKS)
|
|
DEBIAN_DIR = $(BUILD_ROOT_DIR)/DEBIAN
|
|
TRUSTED_GPG_PATH = $(BUILD_ROOT_DIR)/etc/apt/trusted.gpg.d
|
|
INSTALL_PATH = $(BUILD_ROOT_DIR)/usr/local/share/buildinfo
|
|
SYMBOL_LINK_PATH = $(BUILD_ROOT_DIR)/usr/sbin
|
|
SCRIPTS_PATH = $(INSTALL_PATH)/scripts
|
|
HOOKS_PATH = $(INSTALL_PATH)/hooks
|
|
DPKGTOOL = $(shell which dpkg-deb)
|
|
|
|
|
|
# If the depk-deb not installed, use the docker container to make the debian package
|
|
ifeq ($(shell which dpkg-deb),)
|
|
BUILD_COMMAND=docker run --user $(shell id -u):$(shell id -g) --rm -v $(shell pwd):/build debian:buster bash -c 'cd /build; dpkg-deb --build $(TMP_DIR)/$(SONIC_BUILD_HOOKS) $(SONIC_BUILD_HOOKS_TARGET)'
|
|
else
|
|
BUILD_COMMAND=dpkg-deb --build $(TMP_DIR)/$(SONIC_BUILD_HOOKS) $(SONIC_BUILD_HOOKS_TARGET)
|
|
endif
|
|
|
|
DEPENDS := $(shell find scripts hooks debian -type f)
|
|
$(SONIC_BUILD_HOOKS_TARGET): $(DEPENDS)
|
|
@rm -rf $(BUILDINFO_DIR)/$(SONIC_BUILD_HOOKS) $(TMP_DIR)
|
|
@mkdir -p $(DEBIAN_DIR) $(SCRIPTS_PATH) $(HOOKS_PATH) $(SYMBOL_LINK_PATH) $(TRUSTED_GPG_PATH) $(BUILDINFO_DIR)
|
|
@chmod 0775 $(DEBIAN_DIR)
|
|
@cp debian/* $(DEBIAN_DIR)/
|
|
@cp scripts/* $(SCRIPTS_PATH)/
|
|
@cp hooks/* $(HOOKS_PATH)/
|
|
@for url in $$(echo $(TRUSTED_GPG_URLS) | sed 's/[,;]/ /g'); do wget -q "$$url" -P "$(TRUSTED_GPG_PATH)/"; done
|
|
@for f in $(SYMBOL_LINKS); do ln -s $(SYMBOL_LINKS_SRC_DIR)/$$f $(SYMBOL_LINK_PATH)/$$f; done
|
|
@$(BUILD_COMMAND)
|
|
|
|
all: $(SONIC_BUILD_HOOKS_TARGET)
|