mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 00:20:08 +00:00
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:
committed by
Richard Purdie
parent
d011150949
commit
4a015e57cc
@@ -27,12 +27,12 @@ package_update_index_rpm () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Update target packages
|
# Update target packages
|
||||||
base_archs="${PACKAGE_ARCHS}"
|
base_archs="`echo ${PACKAGE_ARCHS} | sed 's/-/_/g'`"
|
||||||
ml_archs="${MULTILIB_PACKAGE_ARCHS}"
|
ml_archs="`echo ${MULTILIB_PACKAGE_ARCHS} | sed 's/-/_/g'`"
|
||||||
package_update_index_rpm_common "${RPMCONF_TARGET_BASE}" base_archs ml_archs
|
package_update_index_rpm_common "${RPMCONF_TARGET_BASE}" base_archs ml_archs
|
||||||
|
|
||||||
# Update SDK packages
|
# 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
|
package_update_index_rpm_common "${RPMCONF_HOST_BASE}" base_archs
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1113,8 +1113,8 @@ python do_package_rpm () {
|
|||||||
rpmbuild = d.getVar('RPMBUILD', True)
|
rpmbuild = d.getVar('RPMBUILD', True)
|
||||||
targetsys = d.getVar('TARGET_SYS', True)
|
targetsys = d.getVar('TARGET_SYS', True)
|
||||||
targetvendor = d.getVar('TARGET_VENDOR', 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() and not package_arch.endswith("-nativesdk"):
|
if package_arch not in "all any noarch".split() and not package_arch.endswith("_nativesdk"):
|
||||||
ml_prefix = (d.getVar('MLPREFIX', True) or "").replace("-", "_")
|
ml_prefix = (d.getVar('MLPREFIX', True) or "").replace("-", "_")
|
||||||
d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch)
|
d.setVar('PACKAGE_ARCH_EXTEND', ml_prefix + package_arch)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ do_archgen () {
|
|||||||
all | any | noarch)
|
all | any | noarch)
|
||||||
continue;;
|
continue;;
|
||||||
esac
|
esac
|
||||||
INSTALL_PLATFORM_ARCHS="$each_arch $INSTALL_PLATFORM_ARCHS"
|
INSTALL_PLATFORM_ARCHS="`echo $each_arch | sed 's/-/_/g'` $INSTALL_PLATFORM_ARCHS"
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "/* Automatically generated by the sat-solver recipe */" > src/core-arch.h
|
echo "/* Automatically generated by the sat-solver recipe */" > src/core-arch.h
|
||||||
|
|||||||
Reference in New Issue
Block a user