Bug 5555 - Lack of runtime dependency on bash
Summary: Lack of runtime dependency on bash
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.5
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.7
Assignee: Chen Qi
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2013-11-19 04:54 UTC by Chen Qi
Modified: 2014-11-11 02:03 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chen Qi 2013-11-19 04:54:23 UTC
The following packages require /bin/bash, but don't have 'bash' in there RDEPENDS. This will cause potential build failures. For example, if we add 'nfs-utils' to core-image-minimal and fire a build, the rootfs process will fail because there's no bash in rpm repo.

chenqi@pek-hostel-vm07:~/poky/build-prserv [1] $ grep MISS bash-deps.report
MISS: <tmp/deploy/rpm/all/linux-firmware-0.0+git0+600caefd83-r0.1.all.rpm>
MISS: <tmp/deploy/rpm/i586/libapr-1-dev-1.4.8-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/libpam-xtests-1.1.6-r3.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/hdparm-9.43-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/lsb-4.1-r2.3.i586.rpm>
MISS: <tmp/deploy/rpm/i586/xz-5.1.2alpha-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/dtc-misc-1.4.0+git0+65cc4d2748-r0.0.i586.rpm>
MISS: <tmp/deploy/rpm/i586/lsbtest-1.0-r3.0.i586.rpm>
MISS: <tmp/deploy/rpm/i586/libtool-2.4.2-r6.0.0.i586.rpm>
MISS: <tmp/deploy/rpm/i586/rpm-build-5.4.9-r63.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/apt-0.9.9.4-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/gzip-1.6-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/pm-utils-1.4.1-r1.0.i586.rpm>
MISS: <tmp/deploy/rpm/i586/nfs-utils-1.2.8-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/qemu-1.5.0-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/ltp-20130904-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/kconfig-frontends-3.11.0.0-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/pax-utils-0.7-r0.1.i586.rpm>
MISS: <tmp/deploy/rpm/i586/iproute2-3.11.0-r0.0.i586.rpm>
MISS: <tmp/deploy/rpm/qemux86/kernel-dev-3.10.17+git0+f1c9080cd2_375aee37c2-r0.5.qemux86.rpm>


The list id derived using the following script.

#!/bin/sh

if [ $# -lt 1 ]; then
    echo "$0 <rpm repo> [report file]"
    exit 1
fi

RPM_REPO="$1"
REPORT_FILE=${2:-bash-deps.report}
echo "Analyzing packages under $RPM_REPO ... "

for pkg in `find $RPM_REPO -name "*.rpm"`; do
    echo $pkg
    result="`rpm -qp --requires $pkg 2>/dev/null | grep -w bash | sort -u | sed -e 's/[ ]*$//'`"
    if [ "$result" = "/bin/bash" ]; then
	echo "MISS: <$pkg>" >> $REPORT_FILE
    else
	echo "OK: <$pkg>" >> $REPORT_FILE
    fi
done

echo "Done. Report could be found in $REPORT_FILE"
Comment 1 Saul Wold 2013-11-19 20:36:36 UTC
Can you evaluate the scripts that use /bin/bash to see if they can be de-bashed vs blindly adding bash as a dependency.
Comment 2 Chen Qi 2014-11-11 02:03:21 UTC
Robert has sent out a bunch of patches for this one.

//Chen Qi