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 <jo@mein.io>
This commit is contained in:
parent
a789c0f491
commit
b287c82bed
|
@ -228,7 +228,7 @@ define Build/CoreTargets
|
|||
|
||||
ifneq ($(CONFIG_AUTOREMOVE),)
|
||||
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' | \
|
||||
$(XARGS) rm -rf
|
||||
endif
|
||||
|
|
Loading…
Reference in New Issue