Patchwork [danny] classes/package_rpm: avoid bash being pulled in unnecessarily

login
register
mail settings
Submitter Paul Eggleton
Date June 24, 2013, 6:19 p.m.
Message ID <1372097947-27125-1-git-send-email-paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/52297/
State New
Headers show

Comments

Paul Eggleton - June 24, 2013, 6:19 p.m.
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>
---
 meta/classes/package_rpm.bbclass | 3 +++
 1 file changed, 3 insertions(+)
Ross Burton - June 25, 2013, 11:54 a.m.
On 24 June 2013 19:19, Paul Eggleton <paul.eggleton@linux.intel.com> wrote:
> 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

Patch

diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 1ff92ce..e6f5912 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