ab2ae41212
Fix #119 when parallel build is enable, multiple dpkg-buildpackage instances are running at the same time. /var/lib/dpkg is shared by all instances and the /var/lib/dpkg/updates could be corrupted and cause the build failure. the fix is to use overlay fs to mount separate /var/lib/dpkg for each dpkg-buildpackage instance so that they are not affecting each other. Signed-off-by: Guohan Lu <lguohan@gmail.com>
33 lines
924 B
Makefile
33 lines
924 B
Makefile
.ONESHELL:
|
|
SHELL = /bin/bash
|
|
.SHELLFLAGS += -e
|
|
|
|
MAIN_TARGET = $(ISC_DHCP_RELAY)
|
|
DERIVED_TARGETS = $(ISC_DHCP_RELAY_DBG)
|
|
|
|
$(addprefix $(DEST)/, $(MAIN_TARGET)): $(DEST)/% :
|
|
# Remove any stale files
|
|
rm -rf ./isc-dhcp
|
|
|
|
# Clone isc-dhcp repo
|
|
git clone https://salsa.debian.org/dhcp-team/isc-dhcp.git
|
|
pushd ./isc-dhcp
|
|
|
|
# Reset HEAD to the commit of the proper tag
|
|
# NOTE: Using "git checkout <tag_name>" here detaches our HEAD,
|
|
# which stg doesn't like, so we use this method instead
|
|
git reset --hard debian/$(ISC_DHCP_VERSION_FULL)
|
|
|
|
# Apply patches
|
|
stg init
|
|
stg import -s ../patch/series
|
|
|
|
# Build source and Debian packages
|
|
dpkg-buildpackage -rfakeroot -b -us -uc -j$(SONIC_CONFIG_MAKE_JOBS) --admindir $(SONIC_DPKG_ADMINDIR)
|
|
popd
|
|
|
|
# Move the newly-built .deb packages to the destination directory
|
|
mv $(DERIVED_TARGETS) $* $(DEST)/
|
|
|
|
$(addprefix $(DEST)/, $(DERIVED_TARGETS)): $(DEST)/% : $(DEST)/$(MAIN_TARGET)
|