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),\
|
||||
$(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 \
|
||||
(cd $(TMP_DIR)/stage-$(PKG_NAME); find ./ > $(TMP_DIR)/stage-$(PKG_NAME).files); \
|
||||
$(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