Skip to contentSkip to conversation

classes/package_rpm: avoid bash being pulled in unnecessarily

PATCH Applied Paul Eggleton 2 participants 2 messages Jun 24, 2013 – Jun 25, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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.

---
 meta/classes/package_rpm.bbclass | 3 +++
 1 file changed, 3 insertions(+)
meta/classes/package_rpm.bbclass +3 -0
index 1ff92ce..e6f5912 100644
@@ -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
Signature · 1 line
1.8.1.2
Applied
#1 lore raw
Quoted 8 lines · Paul Eggleton

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.

Merged to danny-next.

Ross