mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-20 06:08:08 +00:00
include: clean package staging dir files before configure
This is required to allow packages to ship libraries with a different API. Previously the linker would favor the old shared libraries in STAGING_DIR instead of the just compiled ones in PKG_BUILD_DIR. Avoid that problem by clearing the package staging files right after prepare. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 45759
This commit is contained in:
parent
1c00b6bc7f
commit
a621b8c284
@ -104,6 +104,17 @@ STAMP_BUILT:=$(PKG_BUILD_DIR)/.built
|
|||||||
STAMP_INSTALLED:=$(STAGING_DIR)/stamp/.$(PKG_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),)_installed
|
STAMP_INSTALLED:=$(STAGING_DIR)/stamp/.$(PKG_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),)_installed
|
||||||
|
|
||||||
STAGING_FILES_LIST:=$(PKG_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),).list
|
STAGING_FILES_LIST:=$(PKG_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),).list
|
||||||
|
|
||||||
|
define CleanStaging
|
||||||
|
rm -f $(STAMP_INSTALLED)
|
||||||
|
@-(\
|
||||||
|
cd "$(STAGING_DIR)"; \
|
||||||
|
if [ -f packages/$(STAGING_FILES_LIST) ]; then \
|
||||||
|
cat packages/$(STAGING_FILES_LIST) | xargs -r rm -f 2>/dev/null; \
|
||||||
|
fi; \
|
||||||
|
)
|
||||||
|
endef
|
||||||
|
|
||||||
ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),)
|
ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),)
|
||||||
USE_GIT_TREE:=1
|
USE_GIT_TREE:=1
|
||||||
QUILT:=1
|
QUILT:=1
|
||||||
@ -202,6 +213,7 @@ define Build/DefaultTargets
|
|||||||
|
|
||||||
$(call Build/Exports,$(STAMP_CONFIGURED))
|
$(call Build/Exports,$(STAMP_CONFIGURED))
|
||||||
$(STAMP_CONFIGURED): $(STAMP_PREPARED)
|
$(STAMP_CONFIGURED): $(STAMP_PREPARED)
|
||||||
|
$(CleanStaging)
|
||||||
$(foreach hook,$(Hooks/Configure/Pre),$(call $(hook))$(sep))
|
$(foreach hook,$(Hooks/Configure/Pre),$(call $(hook))$(sep))
|
||||||
$(Build/Configure)
|
$(Build/Configure)
|
||||||
$(foreach hook,$(Hooks/Configure/Post),$(call $(hook))$(sep))
|
$(foreach hook,$(Hooks/Configure/Post),$(call $(hook))$(sep))
|
||||||
@ -219,7 +231,6 @@ define Build/DefaultTargets
|
|||||||
|
|
||||||
$(STAMP_INSTALLED) : export PATH=$$(TARGET_PATH_PKG)
|
$(STAMP_INSTALLED) : export PATH=$$(TARGET_PATH_PKG)
|
||||||
$(STAMP_INSTALLED): $(STAMP_BUILT)
|
$(STAMP_INSTALLED): $(STAMP_BUILT)
|
||||||
$(SUBMAKE) -j1 clean-staging
|
|
||||||
rm -rf $(TMP_DIR)/stage-$(PKG_NAME)
|
rm -rf $(TMP_DIR)/stage-$(PKG_NAME)
|
||||||
mkdir -p $(TMP_DIR)/stage-$(PKG_NAME)/host $(STAGING_DIR)/packages $(STAGING_DIR_HOST)/packages
|
mkdir -p $(TMP_DIR)/stage-$(PKG_NAME)/host $(STAGING_DIR)/packages $(STAGING_DIR_HOST)/packages
|
||||||
$(foreach hook,$(Hooks/InstallDev/Pre),\
|
$(foreach hook,$(Hooks/InstallDev/Pre),\
|
||||||
@ -330,16 +341,9 @@ prepare:
|
|||||||
configure:
|
configure:
|
||||||
compile: prepare-package-install
|
compile: prepare-package-install
|
||||||
install: compile
|
install: compile
|
||||||
clean-staging: FORCE
|
|
||||||
rm -f $(STAMP_INSTALLED)
|
|
||||||
@-(\
|
|
||||||
cd "$(STAGING_DIR)"; \
|
|
||||||
if [ -f packages/$(STAGING_FILES_LIST) ]; then \
|
|
||||||
cat packages/$(STAGING_FILES_LIST) | xargs -r rm -f 2>/dev/null; \
|
|
||||||
fi; \
|
|
||||||
)
|
|
||||||
|
|
||||||
clean: clean-staging FORCE
|
clean: FORCE
|
||||||
|
$(CleanStaging)
|
||||||
$(call Build/UninstallDev,$(STAGING_DIR),$(STAGING_DIR_HOST))
|
$(call Build/UninstallDev,$(STAGING_DIR),$(STAGING_DIR_HOST))
|
||||||
$(Build/Clean)
|
$(Build/Clean)
|
||||||
rm -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) $(STAGING_DIR_HOST)/packages/$(STAGING_FILES_LIST)
|
rm -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) $(STAGING_DIR_HOST)/packages/$(STAGING_FILES_LIST)
|
||||||
|
Loading…
Reference in New Issue
Block a user