[Buildroot] [PATCH 1/2] Add support for package-declared devices

Maxime Ripard maxime.ripard at free-electrons.com
Fri Sep 2 12:08:59 UTC 2011


Add a way for packages to declare files they need instead of relying
only on device tables, which creates files no matter if the package is
indeed enabled, as we can see for busybox.

Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
---
 Makefile                    |    4 ++++
 fs/common.mk                |    1 +
 package/Makefile.package.in |    1 +
 3 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index 9ed46fc..b293d2f 100644
--- a/Makefile
+++ b/Makefile
@@ -52,6 +52,10 @@ qstrip=$(strip $(subst ",,$(1)))
 comma:=,
 empty:=
 space:=$(empty) $(empty)
+define newline
+
+
+endef
 
 ifneq ("$(origin O)", "command line")
 O:=output
diff --git a/fs/common.mk b/fs/common.mk
index f793ff9..46d191b 100644
--- a/fs/common.mk
+++ b/fs/common.mk
@@ -50,6 +50,7 @@ $(BINARIES_DIR)/rootfs.$(1): $(ROOTFS_$(2)_DEPENDENCIES)
 	echo "chown -R 0:0 $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
 ifneq ($(ROOTFS_DEVICE_TABLES),)
 	cat $(ROOTFS_DEVICE_TABLES) > $(FULL_DEVICE_TABLE)
+	echo -e '$(subst $(newline),\n,$(PACKAGES_DEVICE_TABLE))' >> $(FULL_DEVICE_TABLE)
 	echo "$(HOST_DIR)/usr/bin/makedevs -d $(FULL_DEVICE_TABLE) $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
 endif
 	echo "$(ROOTFS_$(2)_CMD)" >> $(FAKEROOT_SCRIPT)
diff --git a/package/Makefile.package.in b/package/Makefile.package.in
index 868bf28..d8d435e 100644
--- a/package/Makefile.package.in
+++ b/package/Makefile.package.in
@@ -541,6 +541,7 @@ endif
 ifeq ($$($$($(2)_KCONFIG_VAR)),y)
 
 TARGETS += $(1)
+PACKAGES_DEVICE_TABLE += $$($(2)_DEVICES)$$(newline)
 
 ifeq ($$($(2)_SITE_METHOD),svn)
 DL_TOOLS_DEPENDENCIES += svn
-- 
1.7.4.1



More information about the buildroot mailing list