fs/common: allow custom user table to override package-defined users
authorMatt Weber <matthew.weber@rockwellcollins.com>
Tue, 2 Oct 2018 23:02:20 +0000 (18:02 -0500)
committerArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Sat, 20 Oct 2018 13:33:24 +0000 (14:33 +0100)
Currently, when a custom user table and a package define the same user,
the settings from the package takes precedence over the ones from the
custom user table.

However, it makes sense to allow the settings from the custom user table
take precedence. For example, it would allow redirecting the user's
home directory to an alternate location (e.g. away from tmp and into a
partition that is persistent).

The support/scripts/mkusers script will only retain settings from the
latest definition it finds.

Thus, by passing the custom user table after the package defined users,
it is possible to override the package provided user definitions.

Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
fs/common.mk

index abf35418cb6926d6e196bda472d19538dfbe7897..453da6010af1c8155301d36ee1777edc872c7ed4 100644 (file)
@@ -75,10 +75,11 @@ $(ROOTFS_COMMON_TAR): $(ROOTFS_COMMON_DEPENDENCIES) target-finalize
        echo '#!/bin/sh' > $(FAKEROOT_SCRIPT)
        echo "set -e" >> $(FAKEROOT_SCRIPT)
        echo "chown -h -R 0:0 $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
+
+       $(call PRINTF,$(PACKAGES_USERS)) >> $(USERS_TABLE)
 ifneq ($(ROOTFS_USERS_TABLES),)
        cat $(ROOTFS_USERS_TABLES) >> $(USERS_TABLE)
 endif
-       $(call PRINTF,$(PACKAGES_USERS)) >> $(USERS_TABLE)
        PATH=$(BR_PATH) $(TOPDIR)/support/scripts/mkusers $(USERS_TABLE) $(TARGET_DIR) >> $(FAKEROOT_SCRIPT)
 ifneq ($(ROOTFS_DEVICE_TABLES),)
        cat $(ROOTFS_DEVICE_TABLES) > $(FULL_DEVICE_TABLE)