[OE-core] [PATCH v2] Remove bashisms

He Zhe zhe.he at windriver.com
Thu Sep 29 09:22:35 UTC 2016


Sorry for slow reply.

This is probably caused by the correction of installation path(from ${STAGING_BINDIR_CROSS}/guile-config to ${SYSROOT_DESTDIR}${bindir_crossscripts}/guile-config). do_populate_sysroot helps us install things into ${STAGING_BINDIR_CROSS}/guile-config, we shouldn't do that ourselves. But if we do that and then apply this patch and then rebuild, the system will find they have existed and also find no one installed them(Matched in b''). So this should be a wrong report. This error will not appear if I manually delete guile-config and rebuild or rebuild in a brand new project.

I sent a new one([oe] [meta-oe] [PATCH] Remove bashisms) in 09/27/2016 02:19 PM. Please apply that one if it's OK.

Thanks,
Zhe


On 09/27/2016 09:43 PM, Burton, Ross wrote:
> If I apply this and then re-build guile I get this error:
>
> ERROR: guile-2.0.12-r0 do_populate_sysroot: The recipe guile is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
>    /data/poky-master/tmp-glibc/sysroots/intel-corei7-64/usr/bin/crossscripts/guile-config
>  Matched in b''
>
> Ross
>
> On 22 September 2016 at 10:33, <zhe.he at windriver.com <mailto:zhe.he at windriver.com>>wrote:
>
>     From: "Tim K. Chan" <nirvanatk at gmail.com <mailto:nirvanatk at gmail.com>>
>
>     Signed-off-by: Tim K. Chan <nirvanatk at gmail.com <mailto:nirvanatk at gmail.com>>
>     [
>     Adjust context
>     Use Peter Kjellerstedt's simpler guile_cross_config
>     ]
>     Signed-off-by: He Zhe <zhe.he at windriver.com <mailto:zhe.he at windriver.com>>
>     ---
>      meta/classes/systemd.bbclass                       |  4 +--
>      meta/classes/update-rc.d.bbclass                   |  6 ++--
>      .../resolvconf/resolvconf_1.79.bb <http://resolvconf_1.79.bb>                  |  2 +-
>      meta/recipes-core/glibc/glibc-package.inc          |  2 +-
>      meta/recipes-devtools/guile/guile_2.0.12.bb <http://guile_2.0.12.bb>        | 37 ++++++++++++----------
>      meta/recipes-devtools/rpm/rpm_5.4.16.bb <http://rpm_5.4.16.bb>            | 13 ++++++--
>      6 files changed, 39 insertions(+), 25 deletions(-)
>
>     diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass
>     index db7873f..7370489 100644
>     --- a/meta/classes/systemd.bbclass
>     +++ b/meta/classes/systemd.bbclass
>     @@ -28,7 +28,7 @@ if [ -n "$D" ]; then
>          OPTS="--root=$D"
>      fi
>
>     -if type systemctl >/dev/null 2>/dev/null; then
>     +if command -p systemctl >/dev/null 2>/dev/null; then
>             systemctl $OPTS ${SYSTEMD_AUTO_ENABLE} ${SYSTEMD_SERVICE}
>
>             if [ -z "$D" -a "${SYSTEMD_AUTO_ENABLE}" = "enable" ]; then
>     @@ -44,7 +44,7 @@ if [ -n "$D" ]; then
>          OPTS="--root=$D"
>      fi
>
>     -if type systemctl >/dev/null 2>/dev/null; then
>     +if command -p systemctl >/dev/null 2>/dev/null; then
>             if [ -z "$D" ]; then
>                     systemctl stop ${SYSTEMD_SERVICE}
>             fi
>     diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass
>     index 82b8024..dee80c8 100644
>     --- a/meta/classes/update-rc.d.bbclass
>     +++ b/meta/classes/update-rc.d.bbclass
>     @@ -15,7 +15,7 @@ updatercd_preinst() {
>      if [ -z "$D" -a -f "${INIT_D_DIR}/${INITSCRIPT_NAME}" ]; then
>             ${INIT_D_DIR}/${INITSCRIPT_NAME} stop
>      fi
>     -if type update-rc.d >/dev/null 2>/dev/null; then
>     +if command -p update-rc.d >/dev/null 2>/dev/null; then
>             if [ -n "$D" ]; then
>                     OPT="-f -r $D"
>             else
>     @@ -26,7 +26,7 @@ fi
>      }
>
>      updatercd_postinst() {
>     -if type update-rc.d >/dev/null 2>/dev/null; then
>     +if command -p update-rc.d >/dev/null 2>/dev/null; then
>             if [ -n "$D" ]; then
>                     OPT="-r $D"
>             else
>     @@ -43,7 +43,7 @@ fi
>      }
>
>      updatercd_postrm() {
>     -if type update-rc.d >/dev/null 2>/dev/null; then
>     +if command -p update-rc.d >/dev/null 2>/dev/null; then
>             if [ -n "$D" ]; then
>                     OPT="-f -r $D"
>             else
>     diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.79.bb <http://resolvconf_1.79.bb>b/meta/recipes-connectivity/resolvconf/resolvconf_1.79.bb <http://resolvconf_1.79.bb>
>     index 8550177..e415445 100644
>     --- a/meta/recipes-connectivity/resolvconf/resolvconf_1.79.bb <http://resolvconf_1.79.bb>
>     +++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.79.bb <http://resolvconf_1.79.bb>
>     @@ -56,7 +56,7 @@ do_install () {
>
>      pkg_postinst_${PN} () {
>             if [ -z "$D" ]; then
>     -               if command -v systemd-tmpfiles >/dev/null; then
>     +               if command -p systemd-tmpfiles >/dev/null; then
>                             systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/resolvconf.conf
>                     elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
>                             ${sysconfdir}/init.d/populate-volatile.sh update
>     diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
>     index 6df8b9e..557f32a 100644
>     --- a/meta/recipes-core/glibc/glibc-package.inc
>     +++ b/meta/recipes-core/glibc/glibc-package.inc
>     @@ -206,7 +206,7 @@ glibc_package_preprocess () {
>
>      pkg_postinst_nscd () {
>             if [ -z "$D" ]; then
>     -               if command -v systemd-tmpfiles >/dev/null; then
>     +               if command -p systemd-tmpfiles >/dev/null; then
>                             systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/nscd.conf
>                     elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
>                             ${sysconfdir}/init.d/populate-volatile.sh update
>     diff --git a/meta/recipes-devtools/guile/guile_2.0.12.bb <http://guile_2.0.12.bb>b/meta/recipes-devtools/guile/guile_2.0.12.bb <http://guile_2.0.12.bb>
>     index d2fe511..a466d65 100644
>     --- a/meta/recipes-devtools/guile/guile_2.0.12.bb <http://guile_2.0.12.bb>
>     +++ b/meta/recipes-devtools/guile/guile_2.0.12.bb <http://guile_2.0.12.bb>
>     @@ -87,22 +87,27 @@ SYSROOT_PREPROCESS_FUNCS = "guile_cross_config"
>
>      guile_cross_config() {
>             # this is only for target recipe
>     -       if [ "${PN}" = "guile" ]
>     -       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
>     -               sed -n -e 's:^[ \t]*{[ \t]*":  (:' \
>     -                       -e 's:",[ \t]*": . ":' \
>     -                       -e 's:" *}, *\\:"):' \
>     -                       -e 's:^.*cachedir.*$::' \
>     -                       -e '/^  (/p' \
>     -                       < ${B}/libguile/libpath.h >> ${B}/guile-config.cross
>     -               echo '))' >> ${B}/guile-config.cross
>     -               cat ${B}/meta/guile-config >> ${B}/guile-config.cross
>     -               install ${B}/guile-config.cross ${STAGING_BINDIR_CROSS}/guile-config
>     -       fi
>     +       [ "${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
>      }
>
>      # Guile needs the compiled files to be newer than the source, and it won't
>     diff --git a/meta/recipes-devtools/rpm/rpm_5.4.16.bb <http://rpm_5.4.16.bb>b/meta/recipes-devtools/rpm/rpm_5.4.16.bb <http://rpm_5.4.16.bb>
>     index 84adef6..be3b942 100644
>     --- a/meta/recipes-devtools/rpm/rpm_5.4.16.bb <http://rpm_5.4.16.bb>
>     +++ b/meta/recipes-devtools/rpm/rpm_5.4.16.bb <http://rpm_5.4.16.bb>
>     @@ -554,13 +554,22 @@ do_install_append() {
>             install -m 0755 ${WORKDIR}/perfile_rpmdeps.sh ${D}/${libdir}/rpm/perfile_rpmdeps.sh
>
>             # Remove unpackaged files (based on list in rpm.spec)
>     -       rm -f ${D}/${libdir}/rpm/{Specfile.pm,cpanflute,cpanflute2,rpmdiff,rpmdiff.cgi,sql.prov,sql.req,tcl.req,trpm}
>     +       rm -f ${D}/${libdir}/rpm/Specfile.pm
>     +       rm -f ${D}/${libdir}/rpm/cpanflute
>     +       rm -f ${D}/${libdir}/rpm/cpanflute2
>     +       rm -f ${D}/${libdir}/rpm/rpmdiff
>     +       rm -f ${D}/${libdir}/rpm/rpmdiff.cgi
>     +       rm -f ${D}/${libdir}/rpm/sql.prov
>     +       rm -f ${D}/${libdir}/rpm/sql.req
>     +       rm -f ${D}/${libdir}/rpm/tcl.req
>     +       rm -f ${D}/${libdir}/rpm/trpm
>
>             rm -f ${D}/${mandir}/man8/rpmcache.8*
>             rm -f ${D}/${mandir}/man8/rpmgraph.8*
>             rm -f ${D}/${mandir}/*/man8/rpmcache.8*
>             rm -f ${D}/${mandir}/*/man8/rpmgraph.8*
>     -       rm -rf ${D}/${mandir}/{fr,ko}
>     +       rm -rf ${D}/${mandir}/fr
>     +       rm -rf ${D}/${mandir}/ko
>
>             rm -f ${D}/${includedir}/popt.h
>             rm -f ${D}/${libdir}/libpopt.*
>     --
>     2.8.1
>
>     --
>     _______________________________________________
>     Openembedded-core mailing list
>     Openembedded-core at lists.openembedded.org <mailto:Openembedded-core at lists.openembedded.org>
>     http://lists.openembedded.org/mailman/listinfo/openembedded-core <http://lists.openembedded.org/mailman/listinfo/openembedded-core>
>
>




More information about the Openembedded-core mailing list