mirror of
				https://github.com/Telecominfraproject/ols-nos.git
				synced 2025-11-03 19:47:56 +00:00 
			
		
		
		
	[build] Check if patches are applied before applying patches. (#13566)
Why I did it If make fails, we can't rerun the make process, because existing patches can't apply again. #13386 missed some change.
This commit is contained in:
		
							
								
								
									
										20
									
								
								slave.mk
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								slave.mk
									
									
									
									
									
								
							@@ -623,11 +623,11 @@ $(addprefix $(FILES_PATH)/, $(SONIC_MAKE_FILES)) : $(FILES_PATH)/% : .platform $
 | 
				
			|||||||
		# Remove target to force rebuild
 | 
							# Remove target to force rebuild
 | 
				
			||||||
		rm -f $(addprefix $(FILES_PATH)/, $*)
 | 
							rm -f $(addprefix $(FILES_PATH)/, $*)
 | 
				
			||||||
		# Apply series of patches if exist
 | 
							# Apply series of patches if exist
 | 
				
			||||||
		if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt applied || QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi
 | 
							if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt applied || QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi $(LOG)
 | 
				
			||||||
		# Build project and take package
 | 
							# Build project and take package
 | 
				
			||||||
		make DEST=$(shell pwd)/$(FILES_PATH) -C $($*_SRC_PATH) $(shell pwd)/$(FILES_PATH)/$* $(LOG)
 | 
							make DEST=$(shell pwd)/$(FILES_PATH) -C $($*_SRC_PATH) $(shell pwd)/$(FILES_PATH)/$* $(LOG)
 | 
				
			||||||
		# Clean up
 | 
							# Clean up
 | 
				
			||||||
		if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt pop -a -f; [ -d .pc ] && rm -rf .pc; popd; fi
 | 
							if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt pop -a -f; [ -d .pc ] && rm -rf .pc; popd; fi $(LOG)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		# Save the target deb into DPKG cache
 | 
							# Save the target deb into DPKG cache
 | 
				
			||||||
		$(call SAVE_CACHE,$*,$@)
 | 
							$(call SAVE_CACHE,$*,$@)
 | 
				
			||||||
@@ -667,12 +667,12 @@ $(addprefix $(DEBS_PATH)/, $(SONIC_MAKE_DEBS)) : $(DEBS_PATH)/% : .platform $$(a
 | 
				
			|||||||
		# Remove target to force rebuild
 | 
							# Remove target to force rebuild
 | 
				
			||||||
		rm -f $(addprefix $(DEBS_PATH)/, $* $($*_DERIVED_DEBS) $($*_EXTRA_DEBS))
 | 
							rm -f $(addprefix $(DEBS_PATH)/, $* $($*_DERIVED_DEBS) $($*_EXTRA_DEBS))
 | 
				
			||||||
		# Apply series of patches if exist
 | 
							# Apply series of patches if exist
 | 
				
			||||||
		if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi
 | 
							if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt applied || QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi $(LOG)
 | 
				
			||||||
		# Build project and take package
 | 
							# Build project and take package
 | 
				
			||||||
		$(SETUP_OVERLAYFS_FOR_DPKG_ADMINDIR)
 | 
							$(SETUP_OVERLAYFS_FOR_DPKG_ADMINDIR)
 | 
				
			||||||
		DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS_GENERIC}" $(ANT_DEB_CONFIG) $(CROSS_COMPILE_FLAGS) make -j$(SONIC_CONFIG_MAKE_JOBS) DEST=$(shell pwd)/$(DEBS_PATH) -C $($*_SRC_PATH) $(shell pwd)/$(DEBS_PATH)/$* $(LOG)
 | 
							DEB_BUILD_OPTIONS="${DEB_BUILD_OPTIONS_GENERIC}" $(ANT_DEB_CONFIG) $(CROSS_COMPILE_FLAGS) make -j$(SONIC_CONFIG_MAKE_JOBS) DEST=$(shell pwd)/$(DEBS_PATH) -C $($*_SRC_PATH) $(shell pwd)/$(DEBS_PATH)/$* $(LOG)
 | 
				
			||||||
		# Clean up
 | 
							# Clean up
 | 
				
			||||||
		if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt pop -a -f; [ -d .pc ] && rm -rf .pc; popd; fi
 | 
							if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt pop -a -f; [ -d .pc ] && rm -rf .pc; popd; fi $(LOG)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		# Save the target deb into DPKG cache
 | 
							# Save the target deb into DPKG cache
 | 
				
			||||||
		$(call SAVE_CACHE,$*,$@)
 | 
							$(call SAVE_CACHE,$*,$@)
 | 
				
			||||||
@@ -707,7 +707,7 @@ $(addprefix $(DEBS_PATH)/, $(SONIC_DPKG_DEBS)) : $(DEBS_PATH)/% : .platform $$(a
 | 
				
			|||||||
		# Remove old build logs if they exist
 | 
							# Remove old build logs if they exist
 | 
				
			||||||
		rm -f $($*_SRC_PATH)/debian/*.debhelper.log
 | 
							rm -f $($*_SRC_PATH)/debian/*.debhelper.log
 | 
				
			||||||
		# Apply series of patches if exist
 | 
							# Apply series of patches if exist
 | 
				
			||||||
		if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi
 | 
							if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt applied || QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi $(LOG)
 | 
				
			||||||
		# Build project
 | 
							# Build project
 | 
				
			||||||
		pushd $($*_SRC_PATH) $(LOG_SIMPLE)
 | 
							pushd $($*_SRC_PATH) $(LOG_SIMPLE)
 | 
				
			||||||
		if [ -f ./autogen.sh ]; then ./autogen.sh $(LOG); fi
 | 
							if [ -f ./autogen.sh ]; then ./autogen.sh $(LOG); fi
 | 
				
			||||||
@@ -821,14 +821,14 @@ $(addprefix $(PYTHON_DEBS_PATH)/, $(SONIC_PYTHON_STDEB_DEBS)) : $(PYTHON_DEBS_PA
 | 
				
			|||||||
	if [ -z '$($*_CACHE_LOADED)' ] ; then
 | 
						if [ -z '$($*_CACHE_LOADED)' ] ; then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		# Apply series of patches if exist
 | 
							# Apply series of patches if exist
 | 
				
			||||||
		if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi
 | 
							if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt applied || QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; popd; fi $(LOG)
 | 
				
			||||||
		# Build project
 | 
							# Build project
 | 
				
			||||||
		pushd $($*_SRC_PATH) $(LOG_SIMPLE)
 | 
							pushd $($*_SRC_PATH) $(LOG_SIMPLE)
 | 
				
			||||||
		rm -rf deb_dist/* $(LOG)
 | 
							rm -rf deb_dist/* $(LOG)
 | 
				
			||||||
		python setup.py --command-packages=stdeb.command bdist_deb $(LOG)
 | 
							python setup.py --command-packages=stdeb.command bdist_deb $(LOG)
 | 
				
			||||||
		popd $(LOG_SIMPLE)
 | 
							popd $(LOG_SIMPLE)
 | 
				
			||||||
		# Clean up
 | 
							# Clean up
 | 
				
			||||||
		if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt pop -a -f; [ -d .pc ] && rm -rf .pc; popd; fi
 | 
							if [ -f $($*_SRC_PATH).patch/series ]; then pushd $($*_SRC_PATH) && quilt pop -a -f; [ -d .pc ] && rm -rf .pc; popd; fi $(LOG)
 | 
				
			||||||
		# Take built package(s)
 | 
							# Take built package(s)
 | 
				
			||||||
		mv -f $(addprefix $($*_SRC_PATH)/deb_dist/, $* $($*_DERIVED_DEBS)) $(PYTHON_DEBS_PATH) $(LOG)
 | 
							mv -f $(addprefix $($*_SRC_PATH)/deb_dist/, $* $($*_DERIVED_DEBS)) $(PYTHON_DEBS_PATH) $(LOG)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -861,7 +861,7 @@ $(addprefix $(PYTHON_WHEELS_PATH)/, $(SONIC_PYTHON_WHEELS)) : $(PYTHON_WHEELS_PA
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
		pushd $($*_SRC_PATH) $(LOG_SIMPLE)
 | 
							pushd $($*_SRC_PATH) $(LOG_SIMPLE)
 | 
				
			||||||
		# apply series of patches if exist
 | 
							# apply series of patches if exist
 | 
				
			||||||
		if [ -f ../$(notdir $($*_SRC_PATH)).patch/series ]; then QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; fi
 | 
							if [ -f ../$(notdir $($*_SRC_PATH)).patch/series ]; then quilt applied || QUILT_PATCHES=../$(notdir $($*_SRC_PATH)).patch quilt push -a; fi $(LOG)
 | 
				
			||||||
ifneq ($(CROSS_BUILD_ENVIRON),y)
 | 
					ifneq ($(CROSS_BUILD_ENVIRON),y)
 | 
				
			||||||
		# Use pip instead of later setup.py to install dependencies into user home, but uninstall self
 | 
							# Use pip instead of later setup.py to install dependencies into user home, but uninstall self
 | 
				
			||||||
		pip$($*_PYTHON_VERSION) install . && pip$($*_PYTHON_VERSION) uninstall --yes `python$($*_PYTHON_VERSION) setup.py --name`
 | 
							pip$($*_PYTHON_VERSION) install . && pip$($*_PYTHON_VERSION) uninstall --yes `python$($*_PYTHON_VERSION) setup.py --name`
 | 
				
			||||||
@@ -927,7 +927,7 @@ docker-start :
 | 
				
			|||||||
$(addprefix $(TARGET_PATH)/, $(SONIC_SIMPLE_DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform docker-start $$(addsuffix -load,$$(addprefix $(TARGET_PATH)/,$$($$*.gz_LOAD_DOCKERS)))
 | 
					$(addprefix $(TARGET_PATH)/, $(SONIC_SIMPLE_DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform docker-start $$(addsuffix -load,$$(addprefix $(TARGET_PATH)/,$$($$*.gz_LOAD_DOCKERS)))
 | 
				
			||||||
	$(HEADER)
 | 
						$(HEADER)
 | 
				
			||||||
	# Apply series of patches if exist
 | 
						# Apply series of patches if exist
 | 
				
			||||||
	if [ -f $($*.gz_PATH).patch/series ]; then pushd $($*.gz_PATH) && QUILT_PATCHES=../$(notdir $($*.gz_PATH)).patch quilt push -a; popd; fi
 | 
						if [ -f $($*.gz_PATH).patch/series ]; then pushd $($*.gz_PATH) && quilt applied || QUILT_PATCHES=../$(notdir $($*.gz_PATH)).patch quilt push -a; popd; fi $(LOG)
 | 
				
			||||||
	# Prepare docker build info
 | 
						# Prepare docker build info
 | 
				
			||||||
	SONIC_ENFORCE_VERSIONS=$(SONIC_ENFORCE_VERSIONS) \
 | 
						SONIC_ENFORCE_VERSIONS=$(SONIC_ENFORCE_VERSIONS) \
 | 
				
			||||||
	TRUSTED_GPG_URLS=$(TRUSTED_GPG_URLS) \
 | 
						TRUSTED_GPG_URLS=$(TRUSTED_GPG_URLS) \
 | 
				
			||||||
@@ -1025,7 +1025,7 @@ $(addprefix $(TARGET_PATH)/, $(DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform
 | 
				
			|||||||
	if [ -z '$($*.gz_CACHE_LOADED)' ] ; then
 | 
						if [ -z '$($*.gz_CACHE_LOADED)' ] ; then
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		# Apply series of patches if exist
 | 
							# Apply series of patches if exist
 | 
				
			||||||
		if [ -f $($*.gz_PATH).patch/series ]; then pushd $($*.gz_PATH) && QUILT_PATCHES=../$(notdir $($*.gz_PATH)).patch quilt push -a; popd; fi
 | 
							if [ -f $($*.gz_PATH).patch/series ]; then pushd $($*.gz_PATH) && quilt applied || QUILT_PATCHES=../$(notdir $($*.gz_PATH)).patch quilt push -a; popd; fi $(LOG)
 | 
				
			||||||
		mkdir -p $($*.gz_PATH)/debs $(LOG)
 | 
							mkdir -p $($*.gz_PATH)/debs $(LOG)
 | 
				
			||||||
		mkdir -p $($*.gz_PATH)/files $(LOG)
 | 
							mkdir -p $($*.gz_PATH)/files $(LOG)
 | 
				
			||||||
		mkdir -p $($*.gz_PATH)/python-debs $(LOG)
 | 
							mkdir -p $($*.gz_PATH)/python-debs $(LOG)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user