diff options
-rw-r--r-- | meta/classes/package_rpm.bbclass | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 80b16198d3..e83fc552c9 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass | |||
@@ -439,7 +439,14 @@ package_install_internal_rpm () { | |||
439 | 439 | ||
440 | fi | 440 | fi |
441 | 441 | ||
442 | cat ${target_rootfs}/install/install_solution.manifest > ${target_rootfs}/install/total_solution.manifest | 442 | # If base-passwd or shadow are in the list of packages to install, |
443 | # ensure they are installed first to support later packages that | ||
444 | # may create custom users/groups (fixes Yocto bug #2127) | ||
445 | infile=${target_rootfs}/install/install_solution.manifest | ||
446 | outfile=${target_rootfs}/install/total_solution.manifest | ||
447 | cat $infile | grep /base-passwd-[0-9] > $outfile || true | ||
448 | cat $infile | grep /shadow-[0-9] >> $outfile || true | ||
449 | cat $infile | grep -v /shadow-[0-9] | grep -v /base-passwd-[0-9] >> $outfile | ||
443 | cat ${target_rootfs}/install/install_multilib_solution.manifest >> ${target_rootfs}/install/total_solution.manifest | 450 | cat ${target_rootfs}/install/install_multilib_solution.manifest >> ${target_rootfs}/install/total_solution.manifest |
444 | 451 | ||
445 | # Construct install scriptlet wrapper | 452 | # Construct install scriptlet wrapper |