build: clean up stale files from a previous build when installing a package build to the staging dir
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 36755
This commit is contained in:
parent
5fbc56cfdc
commit
6f4cb088a0
2 changed files with 29 additions and 0 deletions
|
@ -171,6 +171,11 @@ define Build/DefaultTargets
|
||||||
$(foreach hook,$(Hooks/InstallDev/Post),\
|
$(foreach hook,$(Hooks/InstallDev/Post),\
|
||||||
$(call $(hook),$(TMP_DIR)/stage-$(PKG_NAME),$(TMP_DIR)/stage-$(PKG_NAME)/host)$(sep)\
|
$(call $(hook),$(TMP_DIR)/stage-$(PKG_NAME),$(TMP_DIR)/stage-$(PKG_NAME)/host)$(sep)\
|
||||||
)
|
)
|
||||||
|
if [ -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) ]; then \
|
||||||
|
$(SCRIPT_DIR)/clean-package.sh \
|
||||||
|
"$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)" \
|
||||||
|
"$(STAGING_DIR)"; \
|
||||||
|
fi
|
||||||
if [ -d $(TMP_DIR)/stage-$(PKG_NAME) ]; then \
|
if [ -d $(TMP_DIR)/stage-$(PKG_NAME) ]; then \
|
||||||
(cd $(TMP_DIR)/stage-$(PKG_NAME); find ./ > $(TMP_DIR)/stage-$(PKG_NAME).files); \
|
(cd $(TMP_DIR)/stage-$(PKG_NAME); find ./ > $(TMP_DIR)/stage-$(PKG_NAME).files); \
|
||||||
$(call locked, \
|
$(call locked, \
|
||||||
|
|
24
scripts/clean-package.sh
Executable file
24
scripts/clean-package.sh
Executable file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
[ -n "$1" -a -n "$2" ] || {
|
||||||
|
echo "Usage: $0 <file> <directory>"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
[ -f "$1" -a -d "$2" ] || {
|
||||||
|
echo "File/directory not found"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
cat "$1" | (
|
||||||
|
cd "$2"
|
||||||
|
while read entry; do
|
||||||
|
[ -n "$entry" ] || break
|
||||||
|
[ -f "$entry" ] && rm -f $entry
|
||||||
|
done
|
||||||
|
)
|
||||||
|
cat "$1" | (
|
||||||
|
cd "$2"
|
||||||
|
while read entry; do
|
||||||
|
[ -n "$entry" ] || break
|
||||||
|
[ -d "$entry" ] && rmdir "$entry" > /dev/null 2>&1
|
||||||
|
done
|
||||||
|
)
|
||||||
|
true
|
Loading…
Reference in a new issue