.PHONY: rootfs-common
rootfs-common: $(ROOTFS_COMMON_TAR)
+# Emulate being in a filesystem, so that we can have our own TARGET_DIR.
+ROOTFS_COMMON_TARGET_DIR = $(FS_DIR)/target
+
ROOTFS_COMMON_DEPENDENCIES = \
host-fakeroot host-makedevs \
$(if $(PACKAGES_USERS)$(ROOTFS_USERS_TABLES),host-mkpasswd)
-# When doing the common tarball, we're not really doing a rootfs.
-$(ROOTFS_COMMON_TAR): ROOTFS=
+$(ROOTFS_COMMON_TAR): ROOTFS=COMMON
$(ROOTFS_COMMON_TAR): FAKEROOT_SCRIPT=$(FS_DIR)/fakeroot.fs
$(ROOTFS_COMMON_TAR): $(ROOTFS_COMMON_DEPENDENCIES) target-finalize
@$(call MESSAGE,"Generating common rootfs tarball")
rm -rf $(FS_DIR)
mkdir -p $(FS_DIR)
+ rsync -au $(BASE_TARGET_DIR)/ $(TARGET_DIR)
echo '#!/bin/sh' > $(FAKEROOT_SCRIPT)
echo "set -e" >> $(FAKEROOT_SCRIPT)
echo "chown -h -R 0:0 $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
infra.filepath("tests/core/post-fakeroot.sh"),
infra.filepath("tests/core/post-image.sh"))
- def check_post_log_file(self, path, what):
+ def check_post_log_file(self, f, what, target_dir):
lines = {}
- with open(path, 'rb') as csvfile:
+ with open(os.path.join(self.builddir, "build", f), 'rb') as csvfile:
r = csv.reader(csvfile, delimiter=',')
for row in r:
lines[row[0]] = row[1]
- self.assertEqual(lines["arg1"], os.path.join(self.builddir, what))
+ self.assertEqual(lines["arg1"], what)
self.assertEqual(lines["arg2"], "foobar")
self.assertEqual(lines["arg3"], "baz")
- self.assertEqual(lines["TARGET_DIR"], os.path.join(self.builddir, "target"))
+ self.assertEqual(lines["TARGET_DIR"], target_dir)
self.assertEqual(lines["BUILD_DIR"], os.path.join(self.builddir, "build"))
self.assertEqual(lines["HOST_DIR"], os.path.join(self.builddir, "host"))
staging = os.readlink(os.path.join(self.builddir, "staging"))
self.assertEqual(lines["BR2_CONFIG"], os.path.join(self.builddir, ".config"))
def test_run(self):
- f = os.path.join(self.builddir, "build", "post-build.log")
- self.check_post_log_file(f, "target")
- f = os.path.join(self.builddir, "build", "post-fakeroot.log")
- self.check_post_log_file(f, "target")
- f = os.path.join(self.builddir, "build", "post-image.log")
- self.check_post_log_file(f, "images")
+ self.check_post_log_file("post-build.log",
+ os.path.join(self.builddir, "target"),
+ os.path.join(self.builddir, "target"))
+ self.check_post_log_file("post-fakeroot.log",
+ os.path.join(self.builddir, "build/buildroot-fs/target"),
+ os.path.join(self.builddir, "build/buildroot-fs/target"))
+ self.check_post_log_file("post-image.log",
+ os.path.join(self.builddir, "images"),
+ os.path.join(self.builddir, "target"))