* [PATCH V3 0/5] allarch: disable allarch when multilib is used
@ 2018-08-25 17:13 Kai Kang
2018-08-25 17:13 ` [PATCH 1/5] " Kai Kang
` (5 more replies)
0 siblings, 6 replies; 15+ messages in thread
From: Kai Kang @ 2018-08-25 17:13 UTC (permalink / raw)
To: richard.purdie; +Cc: openembedded-core
V3:
* drop commit "cmake.bbclass: fix wrong toolchain flags of nativesdk package"
which causes some oe-selftest cases fail
* update postinstall script update_font_cache
* drop oe-selftest case test_sstate_allarch_samesigs_multilib
* fix some install file conflicts
The following changes since commit 491082c56ce34f3fd644f8d4457ccd52af951087:
poky.conf: Enable security flags+pie by defaultEnable security flags+pie by default (2018-08-21 14:52:52 +0100)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib kangkai/allarch-enabled-V3
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=kangkai/allarch-enabled-V3
Kai Kang (5):
allarch: disable allarch when multilib is used
sstate.bbclass: update SSTATE_DUPWHITELIST
update_font_cache: update script for multilib
statetests.py: drop test_sstate_allarch_samesigs_multilib
multilib: fix install file conflicts
meta/classes/allarch-enabled.bbclass | 52 ++++++++++++++++++++++
meta/classes/allarch.bbclass | 51 +--------------------
meta/classes/icecc.bbclass | 2 +-
meta/classes/multilib.bbclass | 2 +-
meta/classes/multilib_global.bbclass | 2 +-
meta/classes/package.bbclass | 6 +--
meta/classes/sstate.bbclass | 4 +-
meta/lib/oeqa/selftest/cases/sstatetests.py | 11 +----
meta/recipes-core/udev/eudev_3.2.5.bb | 6 ++-
.../gobject-introspection_1.56.1.bb | 6 ++-
meta/recipes-graphics/cairo/cairo.inc | 4 +-
meta/recipes-graphics/cairo/cairo_1.14.12.bb | 2 +-
.../fontconfig/fontconfig_2.12.6.bb | 8 +++-
meta/recipes-support/icu/icu.inc | 4 +-
.../libgpg-error/libgpg-error_1.32.bb | 5 ++-
scripts/postinst-intercepts/update_font_cache | 2 +-
16 files changed, 92 insertions(+), 75 deletions(-)
create mode 100644 meta/classes/allarch-enabled.bbclass
--
2.11.0
^ permalink raw reply [flat|nested] 15+ messages in thread* [PATCH 1/5] allarch: disable allarch when multilib is used 2018-08-25 17:13 [PATCH V3 0/5] allarch: disable allarch when multilib is used Kai Kang @ 2018-08-25 17:13 ` Kai Kang 2018-08-25 17:13 ` [PATCH 2/5] sstate.bbclass: update SSTATE_DUPWHITELIST Kai Kang ` (4 subsequent siblings) 5 siblings, 0 replies; 15+ messages in thread From: Kai Kang @ 2018-08-25 17:13 UTC (permalink / raw) To: richard.purdie; +Cc: openembedded-core Some allarch packages rdepends non-allarch packages. When multilib is used, it doesn't expand the dependency chain correctly, e.g. core-image-sato -> ca-certificates(allarch) -> openssl we expect dependency chain for lib32-core-image-sato: lib32-core-image-sato -> ca-certificates(allarch) -> lib32-openssl it should install lib32-openssl for ca-certificates but openssl is still wrongly required. Copy allarch.bbclass to allarch-enabled.bbclass and only inherit allarch-enabled.bbclass when multilib is not used. Signed-off-by: Kai Kang <kai.kang@windriver.com> --- meta/classes/allarch-enabled.bbclass | 52 ++++++++++++++++++++++++++++++++++++ meta/classes/allarch.bbclass | 51 ++--------------------------------- meta/classes/icecc.bbclass | 2 +- meta/classes/multilib.bbclass | 2 +- meta/classes/multilib_global.bbclass | 2 +- meta/classes/package.bbclass | 6 ++--- 6 files changed, 60 insertions(+), 55 deletions(-) create mode 100644 meta/classes/allarch-enabled.bbclass diff --git a/meta/classes/allarch-enabled.bbclass b/meta/classes/allarch-enabled.bbclass new file mode 100644 index 00000000000..1eebe0bf2e7 --- /dev/null +++ b/meta/classes/allarch-enabled.bbclass @@ -0,0 +1,52 @@ +# +# This class is used for architecture independent recipes/data files (usually scripts) +# + +PACKAGE_ARCH = "all" + +python () { + # Allow this class to be included but overridden - only set + # the values if we're still "all" package arch. + if d.getVar("PACKAGE_ARCH") == "all": + # No need for virtual/libc or a cross compiler + d.setVar("INHIBIT_DEFAULT_DEPS","1") + + # Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory + # naming anyway + d.setVar("baselib", "lib") + d.setVar("TARGET_ARCH", "allarch") + d.setVar("TARGET_OS", "linux") + d.setVar("TARGET_CC_ARCH", "none") + d.setVar("TARGET_LD_ARCH", "none") + d.setVar("TARGET_AS_ARCH", "none") + d.setVar("TARGET_FPU", "") + d.setVar("TARGET_PREFIX", "") + # Expand PACKAGE_EXTRA_ARCHS since the staging code needs this + # (this removes any dependencies from the hash perspective) + d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS")) + d.setVar("SDK_ARCH", "none") + d.setVar("SDK_CC_ARCH", "none") + d.setVar("TARGET_CPPFLAGS", "none") + d.setVar("TARGET_CFLAGS", "none") + d.setVar("TARGET_CXXFLAGS", "none") + d.setVar("TARGET_LDFLAGS", "none") + d.setVar("POPULATESYSROOTDEPS", "") + + # Avoid this being unnecessarily different due to nuances of + # the target machine that aren't important for "all" arch + # packages. + d.setVar("LDFLAGS", "") + + # No need to do shared library processing or debug symbol handling + d.setVar("EXCLUDE_FROM_SHLIBS", "1") + d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1") + d.setVar("INHIBIT_PACKAGE_STRIP", "1") + + # These multilib values shouldn't change allarch packages so exclude them + d.appendVarFlag("emit_pkgdata", "vardepsexclude", " MULTILIB_VARIANTS") + d.appendVarFlag("write_specfile", "vardepsexclude", " MULTILIBS") + d.appendVarFlag("do_package", "vardepsexclude", " package_do_shlibs") + elif bb.data.inherits_class('packagegroup', d) and not bb.data.inherits_class('nativesdk', d): + bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE")) +} + diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass index 1eebe0bf2e7..0eca076df0b 100644 --- a/meta/classes/allarch.bbclass +++ b/meta/classes/allarch.bbclass @@ -1,52 +1,5 @@ # -# This class is used for architecture independent recipes/data files (usually scripts) +# This class enables allarch only when multilib is not used. # -PACKAGE_ARCH = "all" - -python () { - # Allow this class to be included but overridden - only set - # the values if we're still "all" package arch. - if d.getVar("PACKAGE_ARCH") == "all": - # No need for virtual/libc or a cross compiler - d.setVar("INHIBIT_DEFAULT_DEPS","1") - - # Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory - # naming anyway - d.setVar("baselib", "lib") - d.setVar("TARGET_ARCH", "allarch") - d.setVar("TARGET_OS", "linux") - d.setVar("TARGET_CC_ARCH", "none") - d.setVar("TARGET_LD_ARCH", "none") - d.setVar("TARGET_AS_ARCH", "none") - d.setVar("TARGET_FPU", "") - d.setVar("TARGET_PREFIX", "") - # Expand PACKAGE_EXTRA_ARCHS since the staging code needs this - # (this removes any dependencies from the hash perspective) - d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS")) - d.setVar("SDK_ARCH", "none") - d.setVar("SDK_CC_ARCH", "none") - d.setVar("TARGET_CPPFLAGS", "none") - d.setVar("TARGET_CFLAGS", "none") - d.setVar("TARGET_CXXFLAGS", "none") - d.setVar("TARGET_LDFLAGS", "none") - d.setVar("POPULATESYSROOTDEPS", "") - - # Avoid this being unnecessarily different due to nuances of - # the target machine that aren't important for "all" arch - # packages. - d.setVar("LDFLAGS", "") - - # No need to do shared library processing or debug symbol handling - d.setVar("EXCLUDE_FROM_SHLIBS", "1") - d.setVar("INHIBIT_PACKAGE_DEBUG_SPLIT", "1") - d.setVar("INHIBIT_PACKAGE_STRIP", "1") - - # These multilib values shouldn't change allarch packages so exclude them - d.appendVarFlag("emit_pkgdata", "vardepsexclude", " MULTILIB_VARIANTS") - d.appendVarFlag("write_specfile", "vardepsexclude", " MULTILIBS") - d.appendVarFlag("do_package", "vardepsexclude", " package_do_shlibs") - elif bb.data.inherits_class('packagegroup', d) and not bb.data.inherits_class('nativesdk', d): - bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE")) -} - +inherit ${@oe.utils.ifelse(d.getVar('MULTILIB_VARIANTS'), '', 'allarch-enabled')} diff --git a/meta/classes/icecc.bbclass b/meta/classes/icecc.bbclass index 0ca8de86c24..bb925b8d244 100644 --- a/meta/classes/icecc.bbclass +++ b/meta/classes/icecc.bbclass @@ -171,7 +171,7 @@ def use_icecc(bb,d): return "yes" def icecc_is_allarch(bb, d): - return d.getVar("PACKAGE_ARCH") == "all" or bb.data.inherits_class('allarch', d) + return d.getVar("PACKAGE_ARCH") == "all" or bb.data.inherits_class('allarch-enabled', d) def icecc_is_kernel(bb, d): return \ diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass index f2ac8bdfef0..c576cd8b403 100644 --- a/meta/classes/multilib.bbclass +++ b/meta/classes/multilib.bbclass @@ -50,7 +50,7 @@ python multilib_virtclass_handler () { if bb.data.inherits_class('nativesdk', e.data) or bb.data.inherits_class('crosssdk', e.data): raise bb.parse.SkipRecipe("We can't extend nativesdk recipes") - if bb.data.inherits_class('allarch', e.data) and not bb.data.inherits_class('packagegroup', e.data): + if bb.data.inherits_class('allarch-enabled', e.data) and not bb.data.inherits_class('packagegroup', e.data): raise bb.parse.SkipRecipe("Don't extend allarch recipes which are not packagegroups") # Expand this since this won't work correctly once we set a multilib into place diff --git a/meta/classes/multilib_global.bbclass b/meta/classes/multilib_global.bbclass index d2ec1adfea6..4e2b6718dfa 100644 --- a/meta/classes/multilib_global.bbclass +++ b/meta/classes/multilib_global.bbclass @@ -166,7 +166,7 @@ python multilib_virtclass_handler_global () { if bb.data.inherits_class('kernel', e.data) or \ bb.data.inherits_class('module-base', e.data) or \ - (bb.data.inherits_class('allarch', e.data) and\ + (bb.data.inherits_class('allarch-enabled', e.data) and\ not bb.data.inherits_class('packagegroup', e.data)): variants = (e.data.getVar("MULTILIB_VARIANTS") or "").split() diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 4ce9de2f573..37160811cf5 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -499,7 +499,7 @@ def get_package_mapping (pkg, basepkg, d): if key in data: # Have to avoid undoing the write_extra_pkgs(global_variants...) - if bb.data.inherits_class('allarch', d) and data[key] == basepkg: + if bb.data.inherits_class('allarch-enabled', d) and data[key] == basepkg: return pkg return data[key] @@ -1411,7 +1411,7 @@ fi if bb.data.inherits_class('kernel', d) or bb.data.inherits_class('module-base', d): write_extra_pkgs(variants, pn, packages, pkgdatadir) - if (bb.data.inherits_class('allarch', d) and not bb.data.inherits_class('packagegroup', d)): + if (bb.data.inherits_class('allarch-enabled', d) and not bb.data.inherits_class('packagegroup', d)): write_extra_pkgs(global_variants, pn, packages, pkgdatadir) workdir = d.getVar('WORKDIR') @@ -1500,7 +1500,7 @@ fi if bb.data.inherits_class('kernel', d) or bb.data.inherits_class('module-base', d): write_extra_runtime_pkgs(variants, packages, pkgdatadir) - if bb.data.inherits_class('allarch', d) and not bb.data.inherits_class('packagegroup', d): + if bb.data.inherits_class('allarch-enabled', d) and not bb.data.inherits_class('packagegroup', d): write_extra_runtime_pkgs(global_variants, packages, pkgdatadir) } -- 2.11.0 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/5] sstate.bbclass: update SSTATE_DUPWHITELIST 2018-08-25 17:13 [PATCH V3 0/5] allarch: disable allarch when multilib is used Kai Kang 2018-08-25 17:13 ` [PATCH 1/5] " Kai Kang @ 2018-08-25 17:13 ` Kai Kang 2018-08-25 17:13 ` [PATCH 3/5] update_font_cache: update script for multilib Kai Kang ` (3 subsequent siblings) 5 siblings, 0 replies; 15+ messages in thread From: Kai Kang @ 2018-08-25 17:13 UTC (permalink / raw) To: richard.purdie; +Cc: openembedded-core Update SSTATE_DUPWHITELIST in sstate.bbclass. * remove ${DEPLOY_DIR_RPM}/noarch/ which is not overwritten any more * add directories for package target-sdk-provides-dummy Signed-off-by: Kai Kang <kai.kang@windriver.com> --- meta/classes/sstate.bbclass | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index c0e54a398d6..4b940eb48d3 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -25,12 +25,14 @@ PV[vardepvalue] = "${PV}" SSTATE_EXTRAPATH[vardepvalue] = "" # For multilib rpm the allarch packagegroup files can overwrite (in theory they're identical) -SSTATE_DUPWHITELIST = "${DEPLOY_DIR}/licenses/ ${DEPLOY_DIR_RPM}/noarch/" +SSTATE_DUPWHITELIST = "${DEPLOY_DIR}/licenses/" # Avoid docbook/sgml catalog warnings for now SSTATE_DUPWHITELIST += "${STAGING_ETCDIR_NATIVE}/sgml ${STAGING_DATADIR_NATIVE}/sgml" # sdk-provides-dummy-nativesdk and nativesdk-buildtools-perl-dummy overlap for different SDKMACHINE SSTATE_DUPWHITELIST += "${DEPLOY_DIR_RPM}/sdk_provides_dummy_nativesdk/ ${DEPLOY_DIR_IPK}/sdk-provides-dummy-nativesdk/" SSTATE_DUPWHITELIST += "${DEPLOY_DIR_RPM}/buildtools_dummy_nativesdk/ ${DEPLOY_DIR_IPK}/buildtools-dummy-nativesdk/" +# target-sdk-provides-dummy overlaps that allarch is disabled when multilib is used +SSTATE_DUPWHITELIST += "${COMPONENTS_DIR}/sdk-provides-dummy-target/ ${DEPLOY_DIR_RPM}/sdk_provides_dummy_target/ ${DEPLOY_DIR_IPK}/sdk-provides-dummy-target/" # Archive the sources for many architectures in one deploy folder SSTATE_DUPWHITELIST += "${DEPLOY_DIR_SRC}" # ovmf/grub-efi/systemd-boot multilib recipes can generate identical overlapping files -- 2.11.0 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/5] update_font_cache: update script for multilib 2018-08-25 17:13 [PATCH V3 0/5] allarch: disable allarch when multilib is used Kai Kang 2018-08-25 17:13 ` [PATCH 1/5] " Kai Kang 2018-08-25 17:13 ` [PATCH 2/5] sstate.bbclass: update SSTATE_DUPWHITELIST Kai Kang @ 2018-08-25 17:13 ` Kai Kang 2018-08-25 17:38 ` Alexander Kanavin 2018-09-04 9:44 ` Martin Jansa 2018-08-25 17:13 ` [PATCH 4/5] statetests.py: drop test_sstate_allarch_samesigs_multilib Kai Kang ` (2 subsequent siblings) 5 siblings, 2 replies; 15+ messages in thread From: Kai Kang @ 2018-08-25 17:13 UTC (permalink / raw) To: richard.purdie; +Cc: openembedded-core Packages which inherit fontcache.bbclass call postinstall script update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo will call ${bindir}/fc-cache and one of them will fail to run obviously. Duplicate install file fc-cache to ${libexecdir} with ${MLPREFIX} and call proper fc-cache in update_font_cache. Signed-off-by: Kai Kang <kai.kang@windriver.com> --- meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb | 8 +++++++- scripts/postinst-intercepts/update_font_cache | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb index d4cbce80b45..db36c867741 100644 --- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb @@ -35,9 +35,15 @@ do_configure_prepend() { rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf } +do_install_append_class-target() { + # duplicate fc-cache for postinstall script + mkdir -p ${D}${libexecdir} + cp ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache +} + PACKAGES =+ "fontconfig-utils" FILES_${PN} =+ "${datadir}/xml/*" -FILES_fontconfig-utils = "${bindir}/*" +FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" # Work around past breakage in debian.bbclass RPROVIDES_fontconfig-utils = "libfontconfig-utils" diff --git a/scripts/postinst-intercepts/update_font_cache b/scripts/postinst-intercepts/update_font_cache index 20e9048adfc..e0ec471964c 100644 --- a/scripts/postinst-intercepts/update_font_cache +++ b/scripts/postinst-intercepts/update_font_cache @@ -2,5 +2,5 @@ set -e -PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} $D${bindir}/fc-cache --sysroot=$D --system-only ${fontconfigcacheparams} +PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} $D${libexecdir}/${binprefix}fc-cache --sysroot=$D --system-only ${fontconfigcacheparams} chown -R root:root $D${fontconfigcachedir} -- 2.11.0 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] update_font_cache: update script for multilib 2018-08-25 17:13 ` [PATCH 3/5] update_font_cache: update script for multilib Kai Kang @ 2018-08-25 17:38 ` Alexander Kanavin 2018-08-26 2:54 ` Kang Kai 2018-09-04 9:44 ` Martin Jansa 1 sibling, 1 reply; 15+ messages in thread From: Alexander Kanavin @ 2018-08-25 17:38 UTC (permalink / raw) To: Kai Kang; +Cc: OE-core 2018-08-25 19:13 GMT+02:00 Kai Kang <kai.kang@windriver.com>: > Packages which inherit fontcache.bbclass call postinstall script > update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache > by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo > will call ${bindir}/fc-cache and one of them will fail to run obviously. Do other postinst-intercept scripts need similar fixing? Alex ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] update_font_cache: update script for multilib 2018-08-25 17:38 ` Alexander Kanavin @ 2018-08-26 2:54 ` Kang Kai 0 siblings, 0 replies; 15+ messages in thread From: Kang Kai @ 2018-08-26 2:54 UTC (permalink / raw) To: Alexander Kanavin; +Cc: OE-core On 2018年08月26日 01:38, Alexander Kanavin wrote: > 2018-08-25 19:13 GMT+02:00 Kai Kang <kai.kang@windriver.com>: >> Packages which inherit fontcache.bbclass call postinstall script >> update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache >> by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo >> will call ${bindir}/fc-cache and one of them will fail to run obviously. > Do other postinst-intercept scripts need similar fixing? The fix is from update_gio_module_cache, but I missed update_gtk_immodules_cache and others are ok. I'll update update_gtk_immodules_cache. Thanks, Kai > > Alex > -- Regards, Neil | Kai Kang ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] update_font_cache: update script for multilib 2018-08-25 17:13 ` [PATCH 3/5] update_font_cache: update script for multilib Kai Kang 2018-08-25 17:38 ` Alexander Kanavin @ 2018-09-04 9:44 ` Martin Jansa 2018-09-04 10:02 ` Kang Kai 1 sibling, 1 reply; 15+ messages in thread From: Martin Jansa @ 2018-09-04 9:44 UTC (permalink / raw) To: Kai Kang; +Cc: Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 2688 bytes --] Hi Kai, do you have similar fix for update_gio_module_cache intercept? It seems to fail similarly with multilib enabled. Regards, On Sat, Aug 25, 2018 at 7:14 PM Kai Kang <kai.kang@windriver.com> wrote: > Packages which inherit fontcache.bbclass call postinstall script > update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache > by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo > will call ${bindir}/fc-cache and one of them will fail to run obviously. > > Duplicate install file fc-cache to ${libexecdir} with ${MLPREFIX} and > call proper fc-cache in update_font_cache. > > Signed-off-by: Kai Kang <kai.kang@windriver.com> > --- > meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb | 8 +++++++- > scripts/postinst-intercepts/update_font_cache | 2 +- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb > b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb > index d4cbce80b45..db36c867741 100644 > --- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb > +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb > @@ -35,9 +35,15 @@ do_configure_prepend() { > rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf > } > > +do_install_append_class-target() { > + # duplicate fc-cache for postinstall script > + mkdir -p ${D}${libexecdir} > + cp ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache > +} > + > PACKAGES =+ "fontconfig-utils" > FILES_${PN} =+ "${datadir}/xml/*" > -FILES_fontconfig-utils = "${bindir}/*" > +FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" > > # Work around past breakage in debian.bbclass > RPROVIDES_fontconfig-utils = "libfontconfig-utils" > diff --git a/scripts/postinst-intercepts/update_font_cache > b/scripts/postinst-intercepts/update_font_cache > index 20e9048adfc..e0ec471964c 100644 > --- a/scripts/postinst-intercepts/update_font_cache > +++ b/scripts/postinst-intercepts/update_font_cache > @@ -2,5 +2,5 @@ > > set -e > > -PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} > $D${bindir}/fc-cache --sysroot=$D --system-only ${fontconfigcacheparams} > +PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} > $D${libexecdir}/${binprefix}fc-cache --sysroot=$D --system-only > ${fontconfigcacheparams} > chown -R root:root $D${fontconfigcachedir} > -- > 2.11.0 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core > [-- Attachment #2: Type: text/html, Size: 3798 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] update_font_cache: update script for multilib 2018-09-04 9:44 ` Martin Jansa @ 2018-09-04 10:02 ` Kang Kai 2018-09-06 15:27 ` Kang Kai 0 siblings, 1 reply; 15+ messages in thread From: Kang Kai @ 2018-09-04 10:02 UTC (permalink / raw) To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 3501 bytes --] On 2018年09月04日 17:44, Martin Jansa wrote: > Hi Kai, > > do you have similar fix for update_gio_module_cache intercept? It > seems to fail similarly with multilib enabled. The fix is from script update_gio_module_cache, so I thought it works and didn't meet the failure. I'll check it. Thanks, Kai > > Regards, > > On Sat, Aug 25, 2018 at 7:14 PM Kai Kang <kai.kang@windriver.com > <mailto:kai.kang@windriver.com>> wrote: > > Packages which inherit fontcache.bbclass call postinstall script > update_font_cache. And in update_font_cache, it calls > ${bindir}/fc-cache > by qemuwrapper. When multilib is enabled, both packages foo and > lib32-foo > will call ${bindir}/fc-cache and one of them will fail to run > obviously. > > Duplicate install file fc-cache to ${libexecdir} with ${MLPREFIX} and > call proper fc-cache in update_font_cache. > > Signed-off-by: Kai Kang <kai.kang@windriver.com > <mailto:kai.kang@windriver.com>> > --- > meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb > <http://fontconfig_2.12.6.bb> | 8 +++++++- > scripts/postinst-intercepts/update_font_cache | 2 +- > 2 files changed, 8 insertions(+), 2 deletions(-) > > diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb > <http://fontconfig_2.12.6.bb> > b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb > <http://fontconfig_2.12.6.bb> > index d4cbce80b45..db36c867741 100644 > --- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb > <http://fontconfig_2.12.6.bb> > +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb > <http://fontconfig_2.12.6.bb> > @@ -35,9 +35,15 @@ do_configure_prepend() { > rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf > } > > +do_install_append_class-target() { > + # duplicate fc-cache for postinstall script > + mkdir -p ${D}${libexecdir} > + cp ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache > +} > + > PACKAGES =+ "fontconfig-utils" > FILES_${PN} =+ "${datadir}/xml/*" > -FILES_fontconfig-utils = "${bindir}/*" > +FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" > > # Work around past breakage in debian.bbclass > RPROVIDES_fontconfig-utils = "libfontconfig-utils" > diff --git a/scripts/postinst-intercepts/update_font_cache > b/scripts/postinst-intercepts/update_font_cache > index 20e9048adfc..e0ec471964c 100644 > --- a/scripts/postinst-intercepts/update_font_cache > +++ b/scripts/postinst-intercepts/update_font_cache > @@ -2,5 +2,5 @@ > > set -e > > -PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E > ${fontconfigcacheenv} $D${bindir}/fc-cache --sysroot=$D > --system-only ${fontconfigcacheparams} > +PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E > ${fontconfigcacheenv} $D${libexecdir}/${binprefix}fc-cache > --sysroot=$D --system-only ${fontconfigcacheparams} > chown -R root:root $D${fontconfigcachedir} > -- > 2.11.0 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > <mailto:Openembedded-core@lists.openembedded.org> > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- Regards, Neil | Kai Kang [-- Attachment #2: Type: text/html, Size: 6008 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] update_font_cache: update script for multilib 2018-09-04 10:02 ` Kang Kai @ 2018-09-06 15:27 ` Kang Kai 2018-09-09 20:39 ` Martin Jansa 0 siblings, 1 reply; 15+ messages in thread From: Kang Kai @ 2018-09-06 15:27 UTC (permalink / raw) To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 3939 bytes --] On 2018年09月04日 18:02, Kang Kai wrote: > On 2018年09月04日 17:44, Martin Jansa wrote: >> Hi Kai, >> >> do you have similar fix for update_gio_module_cache intercept? It >> seems to fail similarly with multilib enabled. > > The fix is from script update_gio_module_cache, so I thought it works > and didn't meet the failure. I'll check it. Hi Martin, It has been done by http://git.openembedded.org/openembedded-core/commit/?id=1f53140528d79c38d4f3a82cd0a03bd0ddc87275 Add lib23-gconf to image which inherits gio-module-cache, then build image successfully. Regards, Kai > > Thanks, > Kai > >> >> Regards, >> >> On Sat, Aug 25, 2018 at 7:14 PM Kai Kang <kai.kang@windriver.com >> <mailto:kai.kang@windriver.com>> wrote: >> >> Packages which inherit fontcache.bbclass call postinstall script >> update_font_cache. And in update_font_cache, it calls >> ${bindir}/fc-cache >> by qemuwrapper. When multilib is enabled, both packages foo and >> lib32-foo >> will call ${bindir}/fc-cache and one of them will fail to run >> obviously. >> >> Duplicate install file fc-cache to ${libexecdir} with ${MLPREFIX} and >> call proper fc-cache in update_font_cache. >> >> Signed-off-by: Kai Kang <kai.kang@windriver.com >> <mailto:kai.kang@windriver.com>> >> --- >> meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >> <http://fontconfig_2.12.6.bb> | 8 +++++++- >> scripts/postinst-intercepts/update_font_cache | 2 +- >> 2 files changed, 8 insertions(+), 2 deletions(-) >> >> diff --git >> a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >> <http://fontconfig_2.12.6.bb> >> b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >> <http://fontconfig_2.12.6.bb> >> index d4cbce80b45..db36c867741 100644 >> --- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >> <http://fontconfig_2.12.6.bb> >> +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >> <http://fontconfig_2.12.6.bb> >> @@ -35,9 +35,15 @@ do_configure_prepend() { >> rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf >> } >> >> +do_install_append_class-target() { >> + # duplicate fc-cache for postinstall script >> + mkdir -p ${D}${libexecdir} >> + cp ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache >> +} >> + >> PACKAGES =+ "fontconfig-utils" >> FILES_${PN} =+ "${datadir}/xml/*" >> -FILES_fontconfig-utils = "${bindir}/*" >> +FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" >> >> # Work around past breakage in debian.bbclass >> RPROVIDES_fontconfig-utils = "libfontconfig-utils" >> diff --git a/scripts/postinst-intercepts/update_font_cache >> b/scripts/postinst-intercepts/update_font_cache >> index 20e9048adfc..e0ec471964c 100644 >> --- a/scripts/postinst-intercepts/update_font_cache >> +++ b/scripts/postinst-intercepts/update_font_cache >> @@ -2,5 +2,5 @@ >> >> set -e >> >> -PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E >> ${fontconfigcacheenv} $D${bindir}/fc-cache --sysroot=$D >> --system-only ${fontconfigcacheparams} >> +PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E >> ${fontconfigcacheenv} $D${libexecdir}/${binprefix}fc-cache >> --sysroot=$D --system-only ${fontconfigcacheparams} >> chown -R root:root $D${fontconfigcachedir} >> -- >> 2.11.0 >> >> -- >> _______________________________________________ >> Openembedded-core mailing list >> Openembedded-core@lists.openembedded.org >> <mailto:Openembedded-core@lists.openembedded.org> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core >> > > -- > Regards, > Neil | Kai Kang -- Regards, Neil | Kai Kang [-- Attachment #2: Type: text/html, Size: 7186 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] update_font_cache: update script for multilib 2018-09-06 15:27 ` Kang Kai @ 2018-09-09 20:39 ` Martin Jansa 2018-09-09 22:58 ` Martin Jansa 0 siblings, 1 reply; 15+ messages in thread From: Martin Jansa @ 2018-09-09 20:39 UTC (permalink / raw) To: Kai Kang; +Cc: Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 4147 bytes --] I'm still able to reproduce the issue in my builds, I'll find out what's different here. It fails because of missing nativesdk-qemuwrapper here: NOTE: Running intercept scripts: NOTE: > Executing update_gio_module_cache-nativesdk intercept ... NOTE: Exit code 127. Output: SDK/intercept_scripts-b9d7b319af0f1ca17a1619924c1df1e231252a4e81ebd84cfd6b676ebe12fb99/update_gio_module_cache-nativesdk: 10: SDK/intercept_scripts-b9d7b319af0f1ca17a1619924c1df1e231252a4e81ebd84cfd6b676ebe12fb99/update_gio_module_cache-nativesdk: nativesdk-qemuwrapper: not found WARNING: The postinstall intercept hook 'update_gio_module_cache-nativesdk' failed, details in SDK/temp/log.do_populate_sdk On Thu, Sep 6, 2018 at 5:28 PM Kang Kai <Kai.Kang@windriver.com> wrote: > On 2018年09月04日 18:02, Kang Kai wrote: > > On 2018年09月04日 17:44, Martin Jansa wrote: > > Hi Kai, > > do you have similar fix for update_gio_module_cache intercept? It seems to > fail similarly with multilib enabled. > > > The fix is from script update_gio_module_cache, so I thought it works and > didn't meet the failure. I'll check it. > > Hi Martin, > > It has been done by > http://git.openembedded.org/openembedded-core/commit/?id=1f53140528d79c38d4f3a82cd0a03bd0ddc87275 > Add lib23-gconf to image which inherits gio-module-cache, then build image > successfully. > > Regards, > Kai > > > > Thanks, > Kai > > > Regards, > > On Sat, Aug 25, 2018 at 7:14 PM Kai Kang <kai.kang@windriver.com> wrote: > >> Packages which inherit fontcache.bbclass call postinstall script >> update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache >> by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo >> will call ${bindir}/fc-cache and one of them will fail to run obviously. >> >> Duplicate install file fc-cache to ${libexecdir} with ${MLPREFIX} and >> call proper fc-cache in update_font_cache. >> >> Signed-off-by: Kai Kang <kai.kang@windriver.com> >> --- >> meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb | 8 +++++++- >> scripts/postinst-intercepts/update_font_cache | 2 +- >> 2 files changed, 8 insertions(+), 2 deletions(-) >> >> diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >> b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >> index d4cbce80b45..db36c867741 100644 >> --- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >> +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >> @@ -35,9 +35,15 @@ do_configure_prepend() { >> rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf >> } >> >> +do_install_append_class-target() { >> + # duplicate fc-cache for postinstall script >> + mkdir -p ${D}${libexecdir} >> + cp ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache >> +} >> + >> PACKAGES =+ "fontconfig-utils" >> FILES_${PN} =+ "${datadir}/xml/*" >> -FILES_fontconfig-utils = "${bindir}/*" >> +FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" >> >> # Work around past breakage in debian.bbclass >> RPROVIDES_fontconfig-utils = "libfontconfig-utils" >> diff --git a/scripts/postinst-intercepts/update_font_cache >> b/scripts/postinst-intercepts/update_font_cache >> index 20e9048adfc..e0ec471964c 100644 >> --- a/scripts/postinst-intercepts/update_font_cache >> +++ b/scripts/postinst-intercepts/update_font_cache >> @@ -2,5 +2,5 @@ >> >> set -e >> >> -PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} >> $D${bindir}/fc-cache --sysroot=$D --system-only ${fontconfigcacheparams} >> +PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} >> $D${libexecdir}/${binprefix}fc-cache --sysroot=$D --system-only >> ${fontconfigcacheparams} >> chown -R root:root $D${fontconfigcachedir} >> -- >> 2.11.0 >> >> -- >> _______________________________________________ >> Openembedded-core mailing list >> Openembedded-core@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-core >> > > -- > Regards, > Neil | Kai Kang > > > -- > Regards, > Neil | Kai Kang > > [-- Attachment #2: Type: text/html, Size: 7619 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] update_font_cache: update script for multilib 2018-09-09 20:39 ` Martin Jansa @ 2018-09-09 22:58 ` Martin Jansa 2018-09-10 3:44 ` Kang Kai 0 siblings, 1 reply; 15+ messages in thread From: Martin Jansa @ 2018-09-09 22:58 UTC (permalink / raw) To: Kai Kang; +Cc: Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 4937 bytes --] And it fails in regular image build as well, because of qemu segfault: NOTE: > Executing update_gio_module_cache intercept ... NOTE: Exit code 139. Output: + [ True = False ] + qemu-i386 -r 3.2.0 -E LD_LIBRARY_PATH=WORKDIR/rootfs/usr/lib:WORKDIR/rootfs/lib -L WORKDIR/rootfs WORKDIR/rootfs/usr/libexec/gio-querymodules WORKDIR/rootfs/usr/lib/gio/modules/ qemu: uncaught target signal 11 (Segmentation fault) - core dumped Segmentation fault ERROR: The postinstall intercept hook 'update_gio_module_cache' failed, details in WORKDIR/temp/log.do_rootfs On Sun, Sep 9, 2018 at 10:39 PM Martin Jansa <martin.jansa@gmail.com> wrote: > I'm still able to reproduce the issue in my builds, I'll find out what's > different here. > > It fails because of missing nativesdk-qemuwrapper here: > > NOTE: Running intercept scripts: > NOTE: > Executing update_gio_module_cache-nativesdk intercept ... > NOTE: Exit code 127. Output: > SDK/intercept_scripts-b9d7b319af0f1ca17a1619924c1df1e231252a4e81ebd84cfd6b676ebe12fb99/update_gio_module_cache-nativesdk: > 10: > SDK/intercept_scripts-b9d7b319af0f1ca17a1619924c1df1e231252a4e81ebd84cfd6b676ebe12fb99/update_gio_module_cache-nativesdk: > nativesdk-qemuwrapper: not found > > WARNING: The postinstall intercept hook > 'update_gio_module_cache-nativesdk' failed, details in > SDK/temp/log.do_populate_sdk > > > On Thu, Sep 6, 2018 at 5:28 PM Kang Kai <Kai.Kang@windriver.com> wrote: > >> On 2018年09月04日 18:02, Kang Kai wrote: >> >> On 2018年09月04日 17:44, Martin Jansa wrote: >> >> Hi Kai, >> >> do you have similar fix for update_gio_module_cache intercept? It seems >> to fail similarly with multilib enabled. >> >> >> The fix is from script update_gio_module_cache, so I thought it works and >> didn't meet the failure. I'll check it. >> >> Hi Martin, >> >> It has been done by >> http://git.openembedded.org/openembedded-core/commit/?id=1f53140528d79c38d4f3a82cd0a03bd0ddc87275 >> Add lib23-gconf to image which inherits gio-module-cache, then build >> image successfully. >> >> Regards, >> Kai >> >> >> >> Thanks, >> Kai >> >> >> Regards, >> >> On Sat, Aug 25, 2018 at 7:14 PM Kai Kang <kai.kang@windriver.com> wrote: >> >>> Packages which inherit fontcache.bbclass call postinstall script >>> update_font_cache. And in update_font_cache, it calls ${bindir}/fc-cache >>> by qemuwrapper. When multilib is enabled, both packages foo and lib32-foo >>> will call ${bindir}/fc-cache and one of them will fail to run obviously. >>> >>> Duplicate install file fc-cache to ${libexecdir} with ${MLPREFIX} and >>> call proper fc-cache in update_font_cache. >>> >>> Signed-off-by: Kai Kang <kai.kang@windriver.com> >>> --- >>> meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb | 8 +++++++- >>> scripts/postinst-intercepts/update_font_cache | 2 +- >>> 2 files changed, 8 insertions(+), 2 deletions(-) >>> >>> diff --git a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >>> b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >>> index d4cbce80b45..db36c867741 100644 >>> --- a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >>> +++ b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >>> @@ -35,9 +35,15 @@ do_configure_prepend() { >>> rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf >>> } >>> >>> +do_install_append_class-target() { >>> + # duplicate fc-cache for postinstall script >>> + mkdir -p ${D}${libexecdir} >>> + cp ${D}${bindir}/fc-cache ${D}${libexecdir}/${MLPREFIX}fc-cache >>> +} >>> + >>> PACKAGES =+ "fontconfig-utils" >>> FILES_${PN} =+ "${datadir}/xml/*" >>> -FILES_fontconfig-utils = "${bindir}/*" >>> +FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" >>> >>> # Work around past breakage in debian.bbclass >>> RPROVIDES_fontconfig-utils = "libfontconfig-utils" >>> diff --git a/scripts/postinst-intercepts/update_font_cache >>> b/scripts/postinst-intercepts/update_font_cache >>> index 20e9048adfc..e0ec471964c 100644 >>> --- a/scripts/postinst-intercepts/update_font_cache >>> +++ b/scripts/postinst-intercepts/update_font_cache >>> @@ -2,5 +2,5 @@ >>> >>> set -e >>> >>> -PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} >>> $D${bindir}/fc-cache --sysroot=$D --system-only ${fontconfigcacheparams} >>> +PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E ${fontconfigcacheenv} >>> $D${libexecdir}/${binprefix}fc-cache --sysroot=$D --system-only >>> ${fontconfigcacheparams} >>> chown -R root:root $D${fontconfigcachedir} >>> -- >>> 2.11.0 >>> >>> -- >>> _______________________________________________ >>> Openembedded-core mailing list >>> Openembedded-core@lists.openembedded.org >>> http://lists.openembedded.org/mailman/listinfo/openembedded-core >>> >> >> -- >> Regards, >> Neil | Kai Kang >> >> >> -- >> Regards, >> Neil | Kai Kang >> >> [-- Attachment #2: Type: text/html, Size: 8777 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 3/5] update_font_cache: update script for multilib 2018-09-09 22:58 ` Martin Jansa @ 2018-09-10 3:44 ` Kang Kai 0 siblings, 0 replies; 15+ messages in thread From: Kang Kai @ 2018-09-10 3:44 UTC (permalink / raw) To: Martin Jansa; +Cc: Patches and discussions about the oe-core layer [-- Attachment #1: Type: text/plain, Size: 6783 bytes --] On 2018年09月10日 06:58, Martin Jansa wrote: > And it fails in regular image build as well, because of qemu segfault: What do you mean regulare image here? core-image-minimal, -sato or fails with all of them? I can't reproduce the failure, would you like to paste you local.conf here? Regards, Kai > > NOTE: > Executing update_gio_module_cache intercept ... > NOTE: Exit code 139. Output: > + [ True = False ] > + qemu-i386 -r 3.2.0 -E > LD_LIBRARY_PATH=WORKDIR/rootfs/usr/lib:WORKDIR/rootfs/lib -L > WORKDIR/rootfs WORKDIR/rootfs/usr/libexec/gio-querymodules > WORKDIR/rootfs/usr/lib/gio/modules/ > qemu: uncaught target signal 11 (Segmentation fault) - core dumped > Segmentation fault > > ERROR: The postinstall intercept hook 'update_gio_module_cache' > failed, details in WORKDIR/temp/log.do_rootfs > > > On Sun, Sep 9, 2018 at 10:39 PM Martin Jansa <martin.jansa@gmail.com > <mailto:martin.jansa@gmail.com>> wrote: > > I'm still able to reproduce the issue in my builds, I'll find out > what's different here. > > It fails because of missing nativesdk-qemuwrapper here: > > NOTE: Running intercept scripts: > NOTE: > Executing update_gio_module_cache-nativesdk intercept ... > NOTE: Exit code 127. Output: > SDK/intercept_scripts-b9d7b319af0f1ca17a1619924c1df1e231252a4e81ebd84cfd6b676ebe12fb99/update_gio_module_cache-nativesdk: > 10: > SDK/intercept_scripts-b9d7b319af0f1ca17a1619924c1df1e231252a4e81ebd84cfd6b676ebe12fb99/update_gio_module_cache-nativesdk: > nativesdk-qemuwrapper: not found > > WARNING: The postinstall intercept hook > 'update_gio_module_cache-nativesdk' failed, details in > SDK/temp/log.do_populate_sdk > > > On Thu, Sep 6, 2018 at 5:28 PM Kang Kai <Kai.Kang@windriver.com > <mailto:Kai.Kang@windriver.com>> wrote: > > On 2018年09月04日 18:02, Kang Kai wrote: >> On 2018年09月04日 17:44, Martin Jansa wrote: >>> Hi Kai, >>> >>> do you have similar fix for update_gio_module_cache >>> intercept? It seems to fail similarly with multilib enabled. >> >> The fix is from script update_gio_module_cache, so I thought >> it works and didn't meet the failure. I'll check it. > Hi Martin, > > It has been done by > http://git.openembedded.org/openembedded-core/commit/?id=1f53140528d79c38d4f3a82cd0a03bd0ddc87275 > Add lib23-gconf to image which inherits gio-module-cache, then > build image successfully. > > Regards, > Kai > > >> >> Thanks, >> Kai >> >>> >>> Regards, >>> >>> On Sat, Aug 25, 2018 at 7:14 PM Kai Kang >>> <kai.kang@windriver.com <mailto:kai.kang@windriver.com>> wrote: >>> >>> Packages which inherit fontcache.bbclass call >>> postinstall script >>> update_font_cache. And in update_font_cache, it calls >>> ${bindir}/fc-cache >>> by qemuwrapper. When multilib is enabled, both packages >>> foo and lib32-foo >>> will call ${bindir}/fc-cache and one of them will fail >>> to run obviously. >>> >>> Duplicate install file fc-cache to ${libexecdir} with >>> ${MLPREFIX} and >>> call proper fc-cache in update_font_cache. >>> >>> Signed-off-by: Kai Kang <kai.kang@windriver.com >>> <mailto:kai.kang@windriver.com>> >>> --- >>> meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >>> <http://fontconfig_2.12.6.bb> | 8 +++++++- >>> scripts/postinst-intercepts/update_font_cache | 2 +- >>> 2 files changed, 8 insertions(+), 2 deletions(-) >>> >>> diff --git >>> a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >>> <http://fontconfig_2.12.6.bb> >>> b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >>> <http://fontconfig_2.12.6.bb> >>> index d4cbce80b45..db36c867741 100644 >>> --- >>> a/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >>> <http://fontconfig_2.12.6.bb> >>> +++ >>> b/meta/recipes-graphics/fontconfig/fontconfig_2.12.6.bb >>> <http://fontconfig_2.12.6.bb> >>> @@ -35,9 +35,15 @@ do_configure_prepend() { >>> rm -f ${S}/src/fcobjshash.h ${S}/src/fcobjshash.gperf >>> } >>> >>> +do_install_append_class-target() { >>> + # duplicate fc-cache for postinstall script >>> + mkdir -p ${D}${libexecdir} >>> + cp ${D}${bindir}/fc-cache >>> ${D}${libexecdir}/${MLPREFIX}fc-cache >>> +} >>> + >>> PACKAGES =+ "fontconfig-utils" >>> FILES_${PN} =+ "${datadir}/xml/*" >>> -FILES_fontconfig-utils = "${bindir}/*" >>> +FILES_fontconfig-utils = "${bindir}/* ${libexecdir}/*" >>> >>> # Work around past breakage in debian.bbclass >>> RPROVIDES_fontconfig-utils = "libfontconfig-utils" >>> diff --git >>> a/scripts/postinst-intercepts/update_font_cache >>> b/scripts/postinst-intercepts/update_font_cache >>> index 20e9048adfc..e0ec471964c 100644 >>> --- a/scripts/postinst-intercepts/update_font_cache >>> +++ b/scripts/postinst-intercepts/update_font_cache >>> @@ -2,5 +2,5 @@ >>> >>> set -e >>> >>> -PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E >>> ${fontconfigcacheenv} $D${bindir}/fc-cache --sysroot=$D >>> --system-only ${fontconfigcacheparams} >>> +PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D -E >>> ${fontconfigcacheenv} >>> $D${libexecdir}/${binprefix}fc-cache --sysroot=$D >>> --system-only ${fontconfigcacheparams} >>> chown -R root:root $D${fontconfigcachedir} >>> -- >>> 2.11.0 >>> >>> -- >>> _______________________________________________ >>> Openembedded-core mailing list >>> Openembedded-core@lists.openembedded.org >>> <mailto:Openembedded-core@lists.openembedded.org> >>> http://lists.openembedded.org/mailman/listinfo/openembedded-core >>> >> >> -- >> Regards, >> Neil | Kai Kang > > > -- > Regards, > Neil | Kai Kang > -- Regards, Neil | Kai Kang [-- Attachment #2: Type: text/html, Size: 13594 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 4/5] statetests.py: drop test_sstate_allarch_samesigs_multilib 2018-08-25 17:13 [PATCH V3 0/5] allarch: disable allarch when multilib is used Kai Kang ` (2 preceding siblings ...) 2018-08-25 17:13 ` [PATCH 3/5] update_font_cache: update script for multilib Kai Kang @ 2018-08-25 17:13 ` Kai Kang 2018-08-25 17:13 ` [PATCH 5/5] multilib: fix install file conflicts Kai Kang 2018-08-25 17:35 ` ✗ patchtest: failure for allarch: disable allarch when multilib is used (rev3) Patchwork 5 siblings, 0 replies; 15+ messages in thread From: Kai Kang @ 2018-08-25 17:13 UTC (permalink / raw) To: richard.purdie; +Cc: openembedded-core allarch is disabled when multilib is used, so sstate oeqa case test_sstate_allarch_samesigs_multilib is useless. Remove check for allarch part and rename to test_sstate_nativesdk_samesigs_multilib. Signed-off-by: Kai Kang <kai.kang@windriver.com> --- meta/lib/oeqa/selftest/cases/sstatetests.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/meta/lib/oeqa/selftest/cases/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py index 7b008e409f4..7194225c0a6 100644 --- a/meta/lib/oeqa/selftest/cases/sstatetests.py +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py @@ -349,12 +349,9 @@ MACHINE = \"qemuarm\" self.sstate_allarch_samesigs(configA, configB) @OETestID(1645) - def test_sstate_allarch_samesigs_multilib(self): + def test_sstate_nativesdk_samesigs_multilib(self): """ - The sstate checksums of allarch multilib packages should be independent of whichever - MACHINE is set. Check this using bitbake -S. - Also, rather than duplicate the test, check nativesdk stamps are the same between - the two MACHINE values. + check nativesdk stamps are the same between the two MACHINE values. """ configA = """ @@ -392,10 +389,6 @@ MULTILIBS = \"\" (_, task, _, shash) = name.rsplit(".", 3) f[os.path.join(os.path.basename(root), task)] = shash return f - files1 = get_files(self.topdir + "/tmp-sstatesamehash/stamps/all" + self.target_vendor + "-" + self.target_os) - files2 = get_files(self.topdir + "/tmp-sstatesamehash2/stamps/all" + self.target_vendor + "-" + self.target_os) - self.maxDiff = None - self.assertEqual(files1, files2) nativesdkdir = os.path.basename(glob.glob(self.topdir + "/tmp-sstatesamehash/stamps/*-nativesdk*-linux")[0]) -- 2.11.0 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/5] multilib: fix install file conflicts 2018-08-25 17:13 [PATCH V3 0/5] allarch: disable allarch when multilib is used Kai Kang ` (3 preceding siblings ...) 2018-08-25 17:13 ` [PATCH 4/5] statetests.py: drop test_sstate_allarch_samesigs_multilib Kai Kang @ 2018-08-25 17:13 ` Kai Kang 2018-08-25 17:35 ` ✗ patchtest: failure for allarch: disable allarch when multilib is used (rev3) Patchwork 5 siblings, 0 replies; 15+ messages in thread From: Kai Kang @ 2018-08-25 17:13 UTC (permalink / raw) To: richard.purdie; +Cc: openembedded-core Fix install files conflicts between multlib packages: | Error: Transaction check error: | file /usr/bin/g-ir-annotation-tool conflicts between attempted installs of lib32-gobject-introspection-1.56.1-r0.x86 and gobject-introspection-1.56.1-r0.core2_64 | file /usr/bin/g-ir-scanner conflicts between attempted installs of lib32-gobject-introspection-1.56.1-r0.x86 and gobject-introspection-1.56.1-r0.core2_64 | file /usr/bin/cairo-trace conflicts between attempted installs of lib32-libcairo-perf-utils-1.14.12-r0.x86 and libcairo-perf-utils-1.14.12-r0.core2_64 | file /usr/bin/icu-config conflicts between attempted installs of lib32-icu-dev-62.1-r0.x86 and icu-dev-62.1-r0.core2_64 | file /usr/share/gir-1.0/GLib-2.0.gir conflicts between attempted installs of gobject-introspection-dev-1.56.1-r0.core2_64 and lib32-gobject-introspection-dev-1.56.1-r0.x86 | file /usr/bin/gpgrt-config conflicts between attempted installs of lib32-libgpg-error-dev-1.32-r0.x86 and libgpg-error-dev-1.32-r0.core2_64 | file /usr/share/pkgconfig/udev.pc conflicts between attempted installs of eudev-dev-3.2.5-r0.core2_64 and lib32-eudev-dev-3.2.5-r0.x86 Signed-off-by: Kai Kang <kai.kang@windriver.com> --- meta/recipes-core/udev/eudev_3.2.5.bb | 6 ++++-- .../gobject-introspection/gobject-introspection_1.56.1.bb | 6 ++++-- meta/recipes-graphics/cairo/cairo.inc | 4 +++- meta/recipes-graphics/cairo/cairo_1.14.12.bb | 2 +- meta/recipes-support/icu/icu.inc | 4 +++- meta/recipes-support/libgpg-error/libgpg-error_1.32.bb | 5 ++++- 6 files changed, 19 insertions(+), 8 deletions(-) diff --git a/meta/recipes-core/udev/eudev_3.2.5.bb b/meta/recipes-core/udev/eudev_3.2.5.bb index 75617c8d4ec..75130f03efd 100644 --- a/meta/recipes-core/udev/eudev_3.2.5.bb +++ b/meta/recipes-core/udev/eudev_3.2.5.bb @@ -23,7 +23,9 @@ SRC_URI = "http://dev.gentoo.org/~blueness/${BPN}/${BP}.tar.gz \ SRC_URI[md5sum] = "6ca08c0e14380f87df8e8aceac123671" SRC_URI[sha256sum] = "49c2d04105cad2526302627e040fa24b1916a9a3e059539bc8bb919b973890af" -inherit autotools update-rc.d qemu pkgconfig distro_features_check +inherit autotools update-rc.d qemu pkgconfig distro_features_check multilib_script + +MULTILIB_SCRIPTS = "${PN}-dev:${datadir}/pkgconfig/udev.pc" CONFLICT_DISTRO_FEATURES = "systemd" @@ -65,7 +67,7 @@ PACKAGES =+ "eudev-hwdb" FILES_${PN} += "${libexecdir} ${base_libdir}/udev ${bindir}/udevadm" -FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc \ +FILES_${PN}-dev = "${datadir}/pkgconfig/udev.pc* \ ${includedir}/libudev.h ${libdir}/libudev.so \ ${includedir}/udev.h ${libdir}/libudev.la \ ${libdir}/libudev.a ${libdir}/pkgconfig/libudev.pc" diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb index f3479565ea7..887ff580497 100644 --- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb +++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.56.1.bb @@ -23,7 +23,9 @@ SRC_URI[sha256sum] = "5b2875ccff99ff7baab63a34b67f8c920def240e178ff50add809e267d SRC_URI_append_class-native = " file://0001-Relocate-the-repository-directory-for-native-builds.patch" -inherit autotools pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even +inherit autotools pkgconfig gtk-doc python3native qemu gobject-introspection-data upstream-version-is-even multilib_script + +MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner ${PN}-dev:${datadir}/gir-1.0/GLib-2.0.gir" DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native" @@ -177,7 +179,7 @@ FILES_${PN}_append = " ${libdir}/girepository-*/*.typelib" # .gir files go to dev package, as they're needed for developing (but not for running) # things that depends on introspection. -FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir" +FILES_${PN}-dev_append = " ${datadir}/gir-*/*.gir*" FILES_${PN}-dev_append = " ${datadir}/gir-*/*.rnc" # These are used by gobject-based packages diff --git a/meta/recipes-graphics/cairo/cairo.inc b/meta/recipes-graphics/cairo/cairo.inc index 7347f223ff3..0e40fa8198e 100644 --- a/meta/recipes-graphics/cairo/cairo.inc +++ b/meta/recipes-graphics/cairo/cairo.inc @@ -39,7 +39,9 @@ EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} \ --enable-tee \ " -inherit autotools pkgconfig upstream-version-is-even gtk-doc +inherit autotools pkgconfig upstream-version-is-even gtk-doc multilib_script + +MULTILIB_SCRIPTS = "${PN}-perf-utils:${bindir}/cairo-trace" # We don't depend on binutils so we need to disable this export ac_cv_lib_bfd_bfd_openr="no" diff --git a/meta/recipes-graphics/cairo/cairo_1.14.12.bb b/meta/recipes-graphics/cairo/cairo_1.14.12.bb index 075ca1ed349..960b14ba9f5 100644 --- a/meta/recipes-graphics/cairo/cairo_1.14.12.bb +++ b/meta/recipes-graphics/cairo/cairo_1.14.12.bb @@ -35,7 +35,7 @@ FILES_${PN} = "${libdir}/libcairo.so.*" FILES_${PN}-dev += "${libdir}/cairo/*.so" FILES_${PN}-gobject = "${libdir}/libcairo-gobject.so.*" FILES_${PN}-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*" -FILES_${PN}-perf-utils = "${bindir}/cairo-trace ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so.*" +FILES_${PN}-perf-utils = "${bindir}/cairo-trace* ${libdir}/cairo/*.la ${libdir}/cairo/libcairo-trace.so.*" do_install_append () { rm -rf ${D}${bindir}/cairo-sphinx diff --git a/meta/recipes-support/icu/icu.inc b/meta/recipes-support/icu/icu.inc index f0786baa03e..e20085fbf52 100644 --- a/meta/recipes-support/icu/icu.inc +++ b/meta/recipes-support/icu/icu.inc @@ -19,7 +19,9 @@ BINCONFIG = "${bindir}/icu-config" ICU_MAJOR_VER = "${@d.getVar('PV').split('.')[0]}" -inherit autotools pkgconfig binconfig +inherit autotools pkgconfig binconfig multilib_script + +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/icu-config" # ICU needs the native build directory as an argument to its --with-cross-build option when # cross-compiling. Taken the situation that different builds may share a common sstate-cache diff --git a/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb b/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb index 098242ea105..a4c720be9d8 100644 --- a/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb +++ b/meta/recipes-support/libgpg-error/libgpg-error_1.32.bb @@ -20,7 +20,10 @@ SRC_URI[sha256sum] = "c345c5e73cc2332f8d50db84a2280abfb1d8f6d4f1858b9daa30404db4 BINCONFIG = "${bindir}/gpg-error-config" -inherit autotools binconfig-disabled pkgconfig gettext multilib_header +inherit autotools binconfig-disabled pkgconfig gettext multilib_header multilib_script + +MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/gpgrt-config" + CPPFLAGS += "-P" do_compile_prepend() { TARGET_FILE=linux-gnu -- 2.11.0 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* ✗ patchtest: failure for allarch: disable allarch when multilib is used (rev3) 2018-08-25 17:13 [PATCH V3 0/5] allarch: disable allarch when multilib is used Kai Kang ` (4 preceding siblings ...) 2018-08-25 17:13 ` [PATCH 5/5] multilib: fix install file conflicts Kai Kang @ 2018-08-25 17:35 ` Patchwork 5 siblings, 0 replies; 15+ messages in thread From: Patchwork @ 2018-08-25 17:35 UTC (permalink / raw) To: Kang Kai; +Cc: openembedded-core == Series Details == Series: allarch: disable allarch when multilib is used (rev3) Revision: 3 URL : https://patchwork.openembedded.org/series/13457/ State : failure == Summary == Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures: * Issue Series does not apply on top of target branch [test_series_merge_on_head] Suggested fix Rebase your series on top of targeted branch Targeted branch master (currently at 0791c4d39e) If you believe any of these test results are incorrect, please reply to the mailing list (openembedded-core@lists.openembedded.org) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...). --- Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2018-09-10 3:45 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-08-25 17:13 [PATCH V3 0/5] allarch: disable allarch when multilib is used Kai Kang 2018-08-25 17:13 ` [PATCH 1/5] " Kai Kang 2018-08-25 17:13 ` [PATCH 2/5] sstate.bbclass: update SSTATE_DUPWHITELIST Kai Kang 2018-08-25 17:13 ` [PATCH 3/5] update_font_cache: update script for multilib Kai Kang 2018-08-25 17:38 ` Alexander Kanavin 2018-08-26 2:54 ` Kang Kai 2018-09-04 9:44 ` Martin Jansa 2018-09-04 10:02 ` Kang Kai 2018-09-06 15:27 ` Kang Kai 2018-09-09 20:39 ` Martin Jansa 2018-09-09 22:58 ` Martin Jansa 2018-09-10 3:44 ` Kang Kai 2018-08-25 17:13 ` [PATCH 4/5] statetests.py: drop test_sstate_allarch_samesigs_multilib Kai Kang 2018-08-25 17:13 ` [PATCH 5/5] multilib: fix install file conflicts Kai Kang 2018-08-25 17:35 ` ✗ patchtest: failure for allarch: disable allarch when multilib is used (rev3) Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox