diff options
author | Robert Yang <liezhi.yang@windriver.com> | 2012-09-10 15:58:52 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-09-10 13:01:45 +0100 |
commit | 4a015e57ccee4fec8ab1da6717f4e2d5c4bb9ff5 (patch) | |
tree | fb297c69d483bad33d48bb9c6ac1c247166794b7 /meta/classes/package_rpm.bbclass | |
parent | d01115094918a3a1759669756a6fce0c78836ca0 (diff) | |
download | poky-4a015e57ccee4fec8ab1da6717f4e2d5c4bb9ff5.tar.gz |
package_rpm.bbclass: fix the arch (replace "-" with "_")
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]
(From OE-Core rev: fc985f511da86400e4fa7d17555216c12eb51666)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/package_rpm.bbclass')
-rw-r--r-- | meta/classes/package_rpm.bbclass | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass index 742f292307..43cdd572c3 100644 --- a/meta/classes/package_rpm.bbclass +++ b/meta/classes/package_rpm.bbclass | |||
@@ -27,12 +27,12 @@ package_update_index_rpm () { | |||
27 | fi | 27 | fi |
28 | 28 | ||
29 | # Update target packages | 29 | # Update target packages |
30 | base_archs="${PACKAGE_ARCHS}" | 30 | base_archs="`echo ${PACKAGE_ARCHS} | sed 's/-/_/g'`" |
31 | ml_archs="${MULTILIB_PACKAGE_ARCHS}" | 31 | ml_archs="`echo ${MULTILIB_PACKAGE_ARCHS} | sed 's/-/_/g'`" |
32 | package_update_index_rpm_common "${RPMCONF_TARGET_BASE}" base_archs ml_archs | 32 | package_update_index_rpm_common "${RPMCONF_TARGET_BASE}" base_archs ml_archs |
33 | 33 | ||
34 | # Update SDK packages | 34 | # Update SDK packages |
35 | base_archs="${SDK_PACKAGE_ARCHS}" | 35 | base_archs="`echo ${SDK_PACKAGE_ARCHS} | sed 's/-/_/g'`" |
36 | package_update_index_rpm_common "${RPMCONF_HOST_BASE}" base_archs | 36 | package_update_index_rpm_common "${RPMCONF_HOST_BASE}" base_archs |
37 | } | 37 | } |
38 | 38 | ||
@@ -1113,8 +1113,8 @@ python do_package_rpm () { | |||
1113 | rpmbuild = d.getVar('RPMBUILD', True) | 1113 | rpmbuild = d.getVar('RPMBUILD', True) |
1114 | targetsys = d.getVar('TARGET_SYS', True) | 1114 | targetsys = d.getVar('TARGET_SYS', True) |
1115 | targetvendor = d.getVar('TARGET_VENDOR', True) | 1115 | targetvendor = d.getVar('TARGET_VENDOR', True) |
1116 | package_arch = d.getVar('PACKAGE_ARCH', True) or "" | 1116 | package_arch = (d.getVar('PACKAGE_ARCH', True) or "").replace("-", "_") |
1117 | if package_arch not in "all any noarch".split() and not package_arch.endswith("-nativesdk"): | 1117 | if package_arch not in "all any noarch".split() and not package_arch.endswith("_nativesdk"): |
1118 | ml_prefix = (d.getVar('MLPREFIX', True) or "").replace("-", "_") | 1118 | ml_prefix = (d.getVar('MLPREFIX', True) or "").replace("-", "_") |
1119 | d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch) | 1119 | d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch) |
1120 | else: | 1120 | else: |