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
master
Felix Fietkau 12 years ago
parent 5fbc56cfdc
commit 6f4cb088a0
  1. 5
      include/package.mk
  2. 24
      scripts/clean-package.sh

@ -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…
Cancel
Save