Răsfoiți Sursa

build: prevent spurious package rebuilds under CONFIG_AUTOREMOVE

When CONFIG_AUTOREMOVE is enabled, the build system touches an additional
".autoremove" stamp file in the cleaned build directory.

Since the autoremove stamp file is touched after the compile process
completed, it ends up being the most recent file of the package build
directory, causing the timestamp.pl check of depends.mk to erroneously
declare the ".built" and ".prepared" stamp files as stale, triggering
a forced clean-build submake process.

Fix the problem by using the ".built" stamp file as modification time
reference when touching the ".autoremove" stamp file.

Signed-off-by: Jo-Philipp Wich <[email protected]>
Jo-Philipp Wich 7 ani în urmă
părinte
comite
b287c82bed
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      include/package.mk

+ 1 - 1
include/package.mk

@@ -228,7 +228,7 @@ define Build/CoreTargets
 
 
   ifneq ($(CONFIG_AUTOREMOVE),)
   ifneq ($(CONFIG_AUTOREMOVE),)
     compile:
     compile:
-		-touch $(PKG_BUILD_DIR)/.autoremove 2>/dev/null >/dev/null
+		-touch -r $(PKG_BUILD_DIR)/.built $(PKG_BUILD_DIR)/.autoremove 2>/dev/null >/dev/null
 		$(FIND) $(PKG_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -and -not -name '.pkgdir' | \
 		$(FIND) $(PKG_BUILD_DIR) -mindepth 1 -maxdepth 1 -not '(' -type f -and -name '.*' -and -size 0 ')' -and -not -name '.pkgdir' | \
 			$(XARGS) rm -rf
 			$(XARGS) rm -rf
   endif
   endif