[oe] [meta-oe][PATCH] android-tools: fix do_install

André Draszik git at andred.net
Fri Nov 18 10:59:17 UTC 2016


On Fri, 2016-11-18 at 11:26 +0100, Koen Kooi wrote:
> The previous patch introduced 2 bugs that made packaging fail:
> 
> 1) Always failing grep
> 2) Conditionally install systemd files
> 
> Systemd.bbclass doesn't handle conditional installation and will throw an
> error.
> 
> Tested with -native and regular cross builds.
> 
> Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
> ---
>  .../android-tools/android-tools_5.1.1.r37.bb          | 19 ++++++++++++
> -------
>  1 file changed, 12 insertions(+), 7 deletions(-)
> 
> diff --git a/meta-oe/recipes-devtools/android-tools/android-
> tools_5.1.1.r37.bb b/meta-oe/recipes-devtools/android-tools/android-
> tools_5.1.1.r37.bb
> index 1769b6a..5041465 100644
> --- a/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
> +++ b/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
> @@ -108,7 +108,10 @@ do_compile() {
>  }
>  
>  do_install() {
> -    if [ grep -q "ext4_utils" "${TOOLS}" ] ; then
> +    export TOOLSFILE="${WORKDIR}/tools.txt"
> +    echo ${TOOLS} > ${TOOLSFILE}
> +
> +    if grep -q "ext4_utils" ${TOOLSFILE} ; then

Why not simply echo instead of doing file i/o:
if echo ${TOOLS} | grep ....


>          install -D -p -m0755 ${S}/system/core/libsparse/simg_dump.py
> ${D}${bindir}/simg_dump
>          install -D -p -m0755 ${S}/system/extras/ext4_utils/mkuserimg.sh
> ${D}${bindir}/mkuserimg

BTW, if ext4_utils is not in TOOLS, then none of the following TOOLS will
install correctly, because ${D}${bindir} is created only in this block here.

>  
> @@ -120,21 +123,23 @@ do_install() {
>          install -m0755 ${B}/ext4_utils/simg2simg ${D}${bindir}
>      fi
>  
> -    if [ grep -q "adb " "${TOOLS}" ] ; then
> +    if grep -q "adb " ${TOOLSFILE} ; then
>          install -m0755 ${B}/adb/adb ${D}${bindir}i
                                                    ^

This doesn't look right.


>      fi
>  
> -    if [ grep -q "adbd" "${TOOLS}" ] ; then
> +    if grep -q "adbd" ${TOOLSFILE} ; then
>          install -m0755 ${B}/adbd/adbd ${D}${bindir}
> -        install -D -p -m0644 ${WORKDIR}/android-tools-adbd.service \
> -          ${D}${systemd_unitdir}/system/android-tools-adbd.service
>      fi
>  
> -    if [ grep -q "fastboot" "${TOOLS}" ] ; then
> +    # Outside the if statement to avoid errors during do_package
> +    install -D -p -m0644 ${WORKDIR}/android-tools-adbd.service \
> +      ${D}${systemd_unitdir}/system/android-tools-adbd.service
> +
> +    if grep -q "fastboot" ${TOOLSFILE} ; then
>          install -m0755 ${B}/fastboot/fastboot ${D}${bindir}
>      fi
>  
> -    if [ grep -q "mkbootimg" "${TOOLS}" ] ; then
> +    if grep -q "mkbootimg" ${TOOLSFILE} ; then
>           install -m0755 ${B}/mkbootimg/mkbootimg ${D}${bindir}
>      fi
>  }
> -- 
> 2.4.11
> 



More information about the Openembedded-devel mailing list