diff options
authorPaul Eggleton <>2013-06-24 19:19:07 +0100
committerRoss Burton <>2013-06-25 12:50:39 +0100
commit71387ee5a126e3df5771da88eb6febc400f249c8 (patch)
parent0421102cbd78c2e8fe9a027d747be39882ebf20d (diff)
classes/package_rpm: avoid bash being pulled in unnecessarily
The initial installation step for base-passwd, base-files and shadow will pull in bash if any of these packages depend on /bin/sh and a bash package has been built, which is undesirable if you are using busybox; so force the early installation of one or the other depending on which is going to be installed in the second step. Note: this fix is not needed for 1.4 (dylan) and newer, since there we use smart to construct the root filesystem without this initial step. Signed-off-by: Paul Eggleton <>
1 files changed, 3 insertions, 0 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 1ff92cea5f..e6f591275f 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -543,6 +543,9 @@ EOF
grep /base-passwd-[0-9] ${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true
grep /base-files-[0-9] ${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true
grep /shadow-[0-9] ${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true
+ # Ensure we get the right shell
+ grep /bash-[0-9] ${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true
+ grep /busybox-[0-9] ${target_rootfs}/install/total_solution.manifest >> ${target_rootfs}/install/initial_install.manifest || true
if [ -s ${target_rootfs}/install/initial_install.manifest ]; then
echo "# Initial Install manifest padding..." >> ${target_rootfs}/install/initial_install.manifest