This replace() hack was added to fix Yocto bug #946 [1] with commit id
69b3a11. It is time to fix this properly. It should not be an issue
anymore with libzypp after 4.5 years, but if the initial bug still
exists, then a more intelligent solution should be used to fix it.

If a package build fails because it expects _ instead of - inside
MACHINE_ARCH, then the problem is with the package build, not with the
global variable used by all machines.

*IF* the offending package build cannot be easily fixed, then there
are better workarounds than globally replacing. For example overwriting
MACHINE_ARCH in the <machine-name>.conf which is causing the offending
package to fail (thus not screwing all), or using conditional overrides
MACHINE_ARCH_qemux86-64 = "qemux86_64"

Mangling the variable globally for all machines causes other components
that expect the sane MACHINE_ARCH value to fail.

[1] https://bugzilla.yoctoproject.org/show_bug.cgi?id=946

Signed-off-by: Ioan-Adrian Ratiu <adrian.ra...@ni.com>
---
 meta/conf/bitbake.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index 730ab80..19e7ddf 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -136,7 +136,7 @@ SDK_AS_ARCH = "${BUILD_AS_ARCH}"
 
 TUNE_PKGARCH ??= ""
 PACKAGE_ARCH ??= "${TUNE_PKGARCH}"
-MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH', True), d.getVar('MACHINE', 
True)][bool(d.getVar('MACHINE', True))].replace('-', '_')}"
+MACHINE_ARCH = "${@[d.getVar('TUNE_PKGARCH', True), d.getVar('MACHINE', 
True)][bool(d.getVar('MACHINE', True))]}"
 PACKAGE_EXTRA_ARCHS ??= "${PACKAGE_EXTRA_ARCHS_tune-${DEFAULTTUNE}}"
 PACKAGE_ARCHS = "all any noarch ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}"
 # MACHINE_ARCH shouldn't be included here as a variable dependency
-- 
2.1.4

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

Reply via email to