[PATCH 1/1] package_rpm.bbclass: fix the arch (replace "-" with "_")
From: Robert Yang <hidden>
Date: 2012-08-28 15:52:13
Subsystem:
the rest · Maintainer:
Linus Torvalds
rpm can't use the "-" as the arch, which causes problem, e.g., when MACHINE = "beagleboard": * The arch should be armv7a-vfp-neon, but rpm only takes the armv7a, this is incorrect since it is mixed with real arch armv7a. * The nativesdk's arch should be i686-nativesdk (or x86_64-nativesdk), but rpm only takes the i686 (or x86_64), this in incorrect since it is mixed with the arch i686 (or x86_64). Replace "-" with "_" when rpm package and the rootfs generation would fix the problem, I think this is fine since it doesn't change the tune's arch, the package manager doesn't care about the arch's name, but it needs a unify arch system to avoid confusing. This is similar to what we have done on the deb which fixed the arch i486, i586 and so on to i386. [YOCTO #2328] Signed-off-by: Robert Yang <redacted> --- meta/classes/package_rpm.bbclass | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 9abad5e..87dd367 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass@@ -27,12 +27,12 @@ package_update_index_rpm () { fi # Update target packages - base_archs="${PACKAGE_ARCHS}" - ml_archs="${MULTILIB_PACKAGE_ARCHS}" + base_archs="`echo ${PACKAGE_ARCHS} | sed 's/-/_/g'`" + ml_archs="`echo ${MULTILIB_PACKAGE_ARCHS} | sed 's/-/_/g'`" package_update_index_rpm_common "${RPMCONF_TARGET_BASE}" base_archs ml_archs # Update SDK packages - base_archs="${SDK_PACKAGE_ARCHS}" + base_archs="`echo ${SDK_PACKAGE_ARCHS} | sed 's/-/_/g'`" package_update_index_rpm_common "${RPMCONF_HOST_BASE}" base_archs }
@@ -1118,7 +1118,7 @@ python do_package_rpm () { rpmbuild = d.getVar('RPMBUILD', True) targetsys = d.getVar('TARGET_SYS', True) targetvendor = d.getVar('TARGET_VENDOR', True) - package_arch = d.getVar('PACKAGE_ARCH', True) or "" + package_arch = (d.getVar('PACKAGE_ARCH', True) or "").replace("-", "_") if package_arch not in "all any noarch".split(): ml_prefix = (d.getVar('MLPREFIX', True) or "").replace("-", "_") d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch)
--
1.7.11.2