[Buildroot] [PATCH] Generate a package-specific tree of installed components for all generic targets.

Quotient Remainder quotientvremainder at gmail.com
Mon Jul 18 09:45:09 UTC 2011


In order to clarify which parts of the file system have been installed by which package
this patch introduces an "output/package/" directory under which each generic/autotools
packae has a directory containing the tree of components it has added to the
"output/target/" directory.

Signed-off-by: Quotient Remainder <quotientvremainder at gmail.com>
---
 Makefile                    |    3 ++-
 package/Makefile.package.in |   14 +++++++++++++-
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 2f3802c..caf0a74 100644
--- a/Makefile
+++ b/Makefile
@@ -274,6 +274,7 @@ STAMP_DIR:=$(BASE_DIR)/stamps
 
 BINARIES_DIR:=$(BASE_DIR)/images
 TARGET_DIR:=$(BASE_DIR)/target
+PACKAGE_DIR:=$(BASE_DIR)/package
 TOOLCHAIN_DIR=$(BASE_DIR)/toolchain
 TARGET_SKELETON=$(TOPDIR)/fs/skeleton
 
@@ -352,7 +353,7 @@ HOST_SOURCE += $(addsuffix -source,$(sort $(TARGETS_HOST_DEPS) $(HOST_DEPS)))
 $(TARGETS_ALL): __real_tgt_%: $(BASE_TARGETS) %
 
 dirs: $(DL_DIR) $(TOOLCHAIN_DIR) $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
-	$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR)
+	$(HOST_DIR) $(BR2_DEPENDS_DIR) $(BINARIES_DIR) $(STAMP_DIR) $(PACKAGE_DIR)
 
 $(BASE_TARGETS): dirs $(O)/toolchainfile.cmake
 
diff --git a/package/Makefile.package.in b/package/Makefile.package.in
index f4d54fe..d4e4452 100644
--- a/package/Makefile.package.in
+++ b/package/Makefile.package.in
@@ -318,6 +318,13 @@ $(BUILD_DIR)/%/.stamp_target_installed:
 	$(foreach hook,$($(PKG)_POST_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep))
 	$(Q)touch $@
 
+# Package content install
+$(BUILD_DIR)/%/.stamp_package_installed:
+	@$(call MESSAGE,"Installing package standalone")
+	$($(PKG)_INSTALL_TARGET_CMDS)
+	$(foreach hook,$($(PKG)_POST_INSTALL_TARGET_HOOKS),$(call $(hook))$(sep))
+	$(Q)touch $@
+
 # Clean package
 $(BUILD_DIR)/%/.stamp_cleaned:
 	@$(call MESSAGE,"Cleaning up")
@@ -425,6 +432,7 @@ $(2)_TARGET_INSTALL_TARGET =	$$($(2)_DIR)/.stamp_target_installed
 $(2)_TARGET_INSTALL_STAGING =	$$($(2)_DIR)/.stamp_staging_installed
 $(2)_TARGET_INSTALL_IMAGES =	$$($(2)_DIR)/.stamp_images_installed
 $(2)_TARGET_INSTALL_HOST =      $$($(2)_DIR)/.stamp_host_installed
+$(2)_TARGET_INSTALL_PACKAGE = $$($(2)_DIR)/.stamp_package_installed
 $(2)_TARGET_BUILD =		$$($(2)_DIR)/.stamp_built
 $(2)_TARGET_CONFIGURE =		$$($(2)_DIR)/.stamp_configured
 $(2)_TARGET_PATCH =		$$($(2)_DIR)/.stamp_patched
@@ -457,7 +465,7 @@ $(1):			$(1)-install
 ifeq ($$($(2)_TYPE),host)
 $(1)-install:	        $(1)-install-host
 else
-$(1)-install:		$(1)-install-staging $(1)-install-target $(1)-install-images
+$(1)-install: $(1)-install-staging $(1)-install-target $(1)-install-images $(1)-install-package
 endif
 
 ifeq ($$($(2)_INSTALL_TARGET),YES)
@@ -483,6 +491,8 @@ endif
 
 $(1)-install-host:      $(1)-build $$($(2)_TARGET_INSTALL_HOST)
 
+$(1)-install-package: $$($(2)_TARGET_INSTALL_PACKAGE)
+
 $(1)-build:		$(1)-configure \
 			$$($(2)_TARGET_BUILD)
 
@@ -514,6 +524,8 @@ $$($(2)_TARGET_INSTALL_TARGET):		PKG=$(2)
 $$($(2)_TARGET_INSTALL_STAGING):	PKG=$(2)
 $$($(2)_TARGET_INSTALL_IMAGES):		PKG=$(2)
 $$($(2)_TARGET_INSTALL_HOST):           PKG=$(2)
+$$($(2)_TARGET_INSTALL_PACKAGE):	PKG=$(2)
+$$($(2)_TARGET_INSTALL_PACKAGE):	TARGET_DIR=$(PACKAGE_DIR)/$(1)
 $$($(2)_TARGET_BUILD):			PKG=$(2)
 $$($(2)_TARGET_CONFIGURE):		PKG=$(2)
 $$($(2)_TARGET_PATCH):			PKG=$(2)
-- 
1.7.6



More information about the buildroot mailing list