[uClibc-cvs] svn commit: trunk/buildroot/target/tar

andersen at uclibc.org andersen at uclibc.org
Fri Jun 24 07:31:18 UTC 2005


Author: andersen
Date: 2005-06-24 01:31:17 -0600 (Fri, 24 Jun 2005)
New Revision: 10578

Log:
Finish implementing fakeroot handling so when we tar up the
rootfs, the tarball properly inherits device table settings
and device nodes.


Modified:
   trunk/buildroot/target/tar/tarroot.mk


Changeset:
Modified: trunk/buildroot/target/tar/tarroot.mk
===================================================================
--- trunk/buildroot/target/tar/tarroot.mk	2005-06-24 07:26:33 UTC (rev 10577)
+++ trunk/buildroot/target/tar/tarroot.mk	2005-06-24 07:31:17 UTC (rev 10578)
@@ -6,17 +6,30 @@
 
 TAR_OPTS := $(strip $(BR2_TARGET_ROOTFS_TAR_OPTIONS))
 
-TAR_TARGET := $(IMAGE).tar
-
-$(TAR_TARGET):
+tarroot: host-fakeroot makedevs
 	- at find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true;
 	@rm -rf $(TARGET_DIR)/usr/man
-	@rm -rf $(TARGET_DIR)/usr/share/man
 	@rm -rf $(TARGET_DIR)/usr/info
-	tar -c$(TAR_OPTS)f $(TAR_TARGET) -C $(TARGET_DIR) .
-		
-tarroot: $(TAR_TARGET)
-	@ls -l $(TAR_TARGET)
+	# Use fakeroot to munge permissions and do root-like things
+	rm -f $(STAGING_DIR)/fakeroot.env
+	touch $(STAGING_DIR)/fakeroot.env
+	# Use fakeroot to pretend all target binaries are owned by root
+	$(STAGING_DIR)/usr/bin/fakeroot \
+		-i $(STAGING_DIR)/fakeroot.env \
+		-s $(STAGING_DIR)/fakeroot.env -- \
+		chown -R root:root $(TARGET_DIR)
+	# Use fakeroot to pretend to create all needed device nodes
+	$(STAGING_DIR)/usr/bin/fakeroot \
+		-i $(STAGING_DIR)/fakeroot.env \
+		-s $(STAGING_DIR)/fakeroot.env -- \
+		$(STAGING_DIR)/bin/makedevs \
+		-r $(TARGET_DIR) \
+		-d target/generic/device_table.txt
+	# Use fakeroot to fake out mksquashfs per the previous fakery
+	$(STAGING_DIR)/usr/bin/fakeroot \
+		-i $(STAGING_DIR)/fakeroot.env \
+		-s $(STAGING_DIR)/fakeroot.env -- \
+		tar -c$(TAR_OPTS)f $(IMAGE).tar -C $(TARGET_DIR) .
 
 tarroot-source:
 




More information about the uClibc-cvs mailing list