rootfs-postcommands: Try and improve ordering constraints

The current code is in race to see who can set things last. This isn't scalable or
sustainable and problemtic in the face of inherit ordering changes.

Move the ordering issue into the actual code execution, which isn't ideal but
the best of several bad options and at least lets us drop the anonymous python.

(From OE-Core rev: 0ffff2c1f80a9b79b133d787764bab164d9abd70)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2024-01-02 17:22:14 +00:00
parent 12619deabd
commit bc883e4991
2 changed files with 16 additions and 9 deletions

View File

@@ -194,6 +194,18 @@ class Rootfs(object, metaclass=ABCMeta):
post_process_cmds = self.d.getVar("ROOTFS_POSTPROCESS_COMMAND")
rootfs_post_install_cmds = self.d.getVar('ROOTFS_POSTINSTALL_COMMAND')
def make_last(command, commands):
commands = commands.split()
if command in commands:
commands.remove(command)
commands.append(command)
return "".join(commands)
# We want this to run as late as possible, in particular after
# systemd_sysusers_create and set_user_group. Using :append is not enough
make_last("tidy_shadowutils_files", post_process_cmds)
make_last("rootfs_reproducible", post_process_cmds)
execute_pre_post_process(self.d, pre_process_cmds)
if self.progress_reporter: