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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36755 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
b8b35e19ba
commit
08f8c7edaf
|
@ -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, \
|
||||
|
|
|
@ -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 New Issue