From cdd44e7984e86ef62b87229700533f571a1d9dff Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Tue, 27 Apr 2010 22:16:40 +0000 Subject: [PATCH] - correctly copy .config when scripts/env is used in the buildroot - prevent user provides PACKAGES from overriding per-profile defaults SVN-Revision: 21213 --- target/imagebuilder/Makefile | 3 ++- target/imagebuilder/files/Makefile | 26 ++++++++++++++++++-------- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/target/imagebuilder/Makefile b/target/imagebuilder/Makefile index e0b64ead47c..42fb7bb69b1 100644 --- a/target/imagebuilder/Makefile +++ b/target/imagebuilder/Makefile @@ -23,9 +23,10 @@ all: compile $(BIN_DIR)/$(IB_NAME).tar.bz2: clean rm -rf $(PKG_BUILD_DIR) mkdir -p $(IB_KDIR) $(PKG_BUILD_DIR)/staging_dir/host $(PKG_BUILD_DIR)/target + -cp $(TOPDIR)/.config $(PKG_BUILD_DIR)/.config $(CP) \ $(INCLUDE_DIR) $(SCRIPT_DIR) \ - $(TOPDIR)/rules.mk $(TOPDIR)/.config \ + $(TOPDIR)/rules.mk \ ./files/Makefile \ $(TMP_DIR)/.targetinfo \ $(TMP_DIR)/.packageinfo \ diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile index 49fd6db949c..b72e3f17241 100644 --- a/target/imagebuilder/files/Makefile +++ b/target/imagebuilder/files/Makefile @@ -62,8 +62,8 @@ IPKG:= \ define Profile $(eval $(call Profile/Default)) $(eval $(call Profile/$(1))) - ifeq ($(PROFILE),) - PROFILE:=$(1) + ifeq ($(USER_PROFILE),) + USER_PROFILE:=$(1) endif $(1)_NAME:=$(NAME) $(1)_PACKAGES:=$(PACKAGES) @@ -73,7 +73,7 @@ endef include $(INCLUDE_DIR)/target.mk -info: FORCE +_call_info: FORCE echo 'Current Target: "$(BOARD)$(if $(SUBTARGET), ($(BOARDNAME)))"' echo 'Default Packages: $(DEFAULT_PACKAGES)' echo 'Available Profiles:' @@ -84,19 +84,19 @@ $(TOPDIR)/tmp/ipkg.conf: FORCE @echo 'dest root /' > $@ @echo 'src packages file:$(PACKAGE_DIR)' >> $@ -BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $(PACKAGES) $($(PROFILE)_PACKAGES) kernel) +BUILD_PACKAGES:=$(sort $(DEFAULT_PACKAGES) $(USER_PACKAGES) $($(USER_PROFILE)_PACKAGES) kernel) # "-pkgname" in the package list means remove "pkgname" from the package list BUILD_PACKAGES:=$(filter-out $(filter -%,$(BUILD_PACKAGES)) $(patsubst -%,%,$(filter -%,$(BUILD_PACKAGES))),$(BUILD_PACKAGES)) -image: - echo 'Building images for $(BOARD)$(if $($(PROFILE)_NAME), - $($(PROFILE)_NAME))' +_call_image: + echo 'Building images for $(BOARD)$(if $($(USER_PROFILE)_NAME), - $($(USER_PROFILE)_NAME))' echo 'Packages: $(BUILD_PACKAGES)' echo rm -rf $(TARGET_DIR) mkdir -p $(TARGET_DIR) $(BIN_DIR) $(TMP_DIR) $(MAKE) package_index $(MAKE) package_install -ifneq ($(FILES),) +ifneq ($(USER_FILES),) $(MAKE) copy_files endif $(MAKE) package_postinst @@ -118,7 +118,7 @@ package_install: FORCE copy_files: FORCE @echo @echo Copying extra files - $(CP) $(FILES)/* $(TARGET_DIR)/ + $(CP) $(USER_FILES)/* $(TARGET_DIR)/ package_postinst: FORCE @echo @@ -140,5 +140,15 @@ clean: rm -rf tmp $(TARGET_DIR) $(BIN_DIR) +info: + (unset PROFILE FILES PACKAGES MAKEFLAGS; $(MAKE) -s _call_info) + +image: + (unset PROFILE FILES PACKAGES MAKEFLAGS; \ + $(MAKE) _call_image \ + $(if $(PROFILE),USER_PROFILE="$(PROFILE)") \ + $(if $(FILES),USER_FILES="$(FILES)") \ + $(if $(PACKAGES),USER_PACKAGES="$(PACKAGES)")) + .SILENT: help info image