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>
This commit is contained in:
parent
d011150949
commit
4a015e57cc
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -1113,8 +1113,8 @@ 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 ""
|
||||
if package_arch not in "all any noarch".split() and not package_arch.endswith("-nativesdk"):
|
||||
package_arch = (d.getVar('PACKAGE_ARCH', True) or "").replace("-", "_")
|
||||
if package_arch not in "all any noarch".split() and not package_arch.endswith("_nativesdk"):
|
||||
ml_prefix = (d.getVar('MLPREFIX', True) or "").replace("-", "_")
|
||||
d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch)
|
||||
else:
|
||||
|
|
|
@ -47,7 +47,7 @@ do_archgen () {
|
|||
all | any | noarch)
|
||||
continue;;
|
||||
esac
|
||||
INSTALL_PLATFORM_ARCHS="$each_arch $INSTALL_PLATFORM_ARCHS"
|
||||
INSTALL_PLATFORM_ARCHS="`echo $each_arch | sed 's/-/_/g'` $INSTALL_PLATFORM_ARCHS"
|
||||
done
|
||||
|
||||
echo "/* Automatically generated by the sat-solver recipe */" > src/core-arch.h
|
||||
|
|
Loading…
Reference in New Issue