Browse Source

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 <paul.eggleton@linux.intel.com>
Paul Eggleton 11 years ago
parent
commit
71387ee5a1
1 changed files with 3 additions and 0 deletions
  1. 3 0
      meta/classes/package_rpm.bbclass

+ 3 - 0
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