> -----Original Message-----
> From: openembedded-core-boun...@lists.openembedded.org
> [mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf Of
> zhe...@windriver.com
> Sent: den 18 september 2016 04:52
> To: openembedded-core@lists.openembedded.org
> Subject: [OE-core] [PATCH] bash2dash conversion
                             ^^^^^^^^^
Typically this is referred to as "Remove bashisms"...

> From: "Tim K. Chan" <nirvan...@gmail.com>
> 
> Change bash style to dash style
> 
> Signed-off-by: Tim K. Chan <nirvan...@gmail.com>
> [Adjust context]
> Signed-off-by: He Zhe <zhe...@windriver.com>
> ---
>  meta/classes/systemd.bbclass                            |  4 ++--
>  meta/classes/update-rc.d.bbclass                        |  6 +++---
>  meta/classes/useradd_base.bbclass                       |  4 ++--
>  meta/recipes-connectivity/resolvconf/resolvconf_1.79.bb |  2 +-
>  meta/recipes-core/glibc/glibc-package.inc               |  2 +-
>  meta/recipes-devtools/guile/guile_2.0.12.bb             |  6 ++++--
>  meta/recipes-devtools/rpm/rpm_5.4.16.bb                 | 13 +++++++++++--
>  7 files changed, 24 insertions(+), 13 deletions(-)

[cut]

> diff --git a/meta/classes/useradd_base.bbclass
> b/meta/classes/useradd_base.bbclass
> index f4dc713..35d5f06 100644
> --- a/meta/classes/useradd_base.bbclass
> +++ b/meta/classes/useradd_base.bbclass
> @@ -59,10 +59,10 @@ perform_groupmems () {
>               gshadow="no"
>               touch $rootdir${sysconfdir}/gshadow
>       fi
> -     local mem_exists="`grep 
> "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*"$rootdir/etc/group 
> || true`"
> +     local mem_exists="`grep 
> "^$groupname:[!:]*:[!:]*:\([!,]*,\)*$username\(,[!,]*\)*"$rootdir/etc/group 
> || true`"
>       if test "x$mem_exists" = "x"; then
>               eval flock -x $rootdir${sysconfdir} -c \"$PSEUDO groupmems 
> \$opts\" || true
> -             mem_exists="`grep 
> "^$groupname:[^:]*:[^:]*:\([^,]*,\)*$username\(,[^,]*\)*"$rootdir/etc/group 
> || true`"
> ++            mem_exists="`grep 
> "^$groupname:[!:]*:[!:]*:\([!,]*,\)*$username\(,[!,]*\)*"$rootdir/etc/group 
> || true`"
>               if test "x$mem_exists" = "x"; then
>                       bbfatal "${PN}: groupmems command did not succeed."
>               fi

The above change cannot be correct. Changing the expression "[^:]" 
(which means "anything but :") to "[!:]" (which means "! or :") is 
definitely not the same....

> diff --git a/meta/recipes-devtools/guile/guile_2.0.12.bb
> b/meta/recipes-devtools/guile/guile_2.0.12.bb
> index d2fe511..3ada0f1 100644
> --- a/meta/recipes-devtools/guile/guile_2.0.12.bb
> +++ b/meta/recipes-devtools/guile/guile_2.0.12.bb
> @@ -91,8 +91,10 @@ guile_cross_config() {     
>       then
>               # Create guile-config returning target values instead of native 
> values
>               install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}
> -             echo '#!'`which ${BUILD_SYS}-guile`$' \\\n--no-auto-compile -e 
> main -s\n!#\n(define %guile-build-info '\'\( \
> -                     > ${B}/guile-config.cross
> +             echo -n '#!' > ${B}/guile-config.cross
> +             echo -n `which x86_64-linux-guile` >> ${B}/guile-config.cross
> +             printf ' \\\n--no-auto-compile -e main -s\n!#\n(define 
> %%guile-build-info ' >> ${B}/guile-config.cross
> +             echo "'(" >> ${B}/guile-config.cross
>               sed -n -e 's:^[ \t]*{[ \t]*":  (:' \
>                       -e 's:",[ \t]*": . ":' \
>                       -e 's:" *}, *\\:"):' \

I suggest to replace the entire guile_cross_config() function with this:

guile_cross_config() {
        # this is only for target recipe
        [ "${PN}" = "${BPN}" ] || return 0

        vars=$(sed -n -e 's:^[ \t]*{[ \t]*":  (:' \
                      -e 's:",[ \t]*": . ":' \
                      -e 's:" *}, *\\:"):' \
                      -e 's:^.*cachedir.*$::' \
                      -e '/^  (/p' \
               < ${B}/libguile/libpath.h)

        # Create guile-config returning target values instead of native values
        install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
        cat <<EOF >${B}/guile-config.cross
#!$(which ${BUILD_SYS}-guile) \\
--no-auto-compile -e main -s
!#
(define %guile-build-info '(
$vars
))
EOF
        cat ${B}/meta/guile-config >> ${B}/guile-config.cross
        install ${B}/guile-config.cross 
${SYSROOT_DESTDIR}${bindir_crossscripts}/guile-config
}

That should make it a lot simpler to see what is going on.
Please note that I have corrected the installation path as well.

//Peter

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to