mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 12:49:46 +00:00
package/rootfs_rpm: Implement RPM multilib package handling
This is a first pass at adding multilib support to the RPM package and image handling code. (From OE-Core rev: 1939a4395997098862912e013a2b13ed2f385f9f) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
fae195515f
commit
44b3590509
@@ -21,67 +21,71 @@ RPMCONF_HOST_BASE = "${DEPLOY_DIR_RPM}/solvedb-sdk"
|
|||||||
# Update the Packages depsolver db in ${DEPLOY_DIR_RPM}
|
# Update the Packages depsolver db in ${DEPLOY_DIR_RPM}
|
||||||
#
|
#
|
||||||
package_update_index_rpm () {
|
package_update_index_rpm () {
|
||||||
rpmarchs="${PACKAGE_ARCHS}"
|
|
||||||
|
|
||||||
if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
|
if [ ! -z "${DEPLOY_KEEP_PACKAGES}" ]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
packagedirs=""
|
base_package_archs="${PACKAGE_ARCHS}"
|
||||||
packagedirs_sdk=""
|
ml_package_archs="${MULTILIB_PACKAGE_ARCHS}"
|
||||||
for arch in $rpmarchs ; do
|
|
||||||
sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
|
|
||||||
extension="-nativesdk"
|
|
||||||
if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
|
|
||||||
extension=""
|
|
||||||
fi
|
|
||||||
packagedirs="${DEPLOY_DIR_RPM}/$arch $packagedirs"
|
|
||||||
packagedirs_sdk="${DEPLOY_DIR_RPM}/$sdkarch$extension $packagedirs_sdk"
|
|
||||||
|
|
||||||
rm -rf ${DEPLOY_DIR_RPM}/$arch/solvedb
|
for archvar in base_package_archs ml_package_archs; do
|
||||||
rm -rf ${DEPLOY_DIR_RPM}/$sdkarch$extension/solvedb
|
eval archs=\${${archvar}}
|
||||||
done
|
packagedirs=""
|
||||||
|
packagedirs_sdk=""
|
||||||
cat /dev/null > ${RPMCONF_TARGET_BASE}.conf
|
for arch in $archs; do
|
||||||
for pkgdir in $packagedirs; do
|
sdkarch=`echo $arch | sed -e 's/${HOST_ARCH}/${SDK_ARCH}/'`
|
||||||
if [ -e $pkgdir/ ]; then
|
extension="-nativesdk"
|
||||||
echo "Generating solve db for $pkgdir..."
|
if [ "$sdkarch" = "all" -o "$sdkarch" = "any" -o "$sdkarch" = "noarch" ]; then
|
||||||
echo $pkgdir/solvedb >> ${RPMCONF_TARGET_BASE}.conf
|
extension=""
|
||||||
if [ -d $pkgdir/solvedb ]; then
|
|
||||||
# We've already processed this and it's a duplicate
|
|
||||||
continue
|
|
||||||
fi
|
fi
|
||||||
mkdir -p $pkgdir/solvedb
|
packagedirs="${DEPLOY_DIR_RPM}/$arch $packagedirs"
|
||||||
echo "# Dynamically generated solve manifest" >> $pkgdir/solvedb/manifest
|
packagedirs_sdk="${DEPLOY_DIR_RPM}/$sdkarch$extension $packagedirs_sdk"
|
||||||
find $pkgdir -maxdepth 1 -type f >> $pkgdir/solvedb/manifest
|
|
||||||
${RPM} -i --replacepkgs --replacefiles --oldpackage \
|
|
||||||
-D "_dbpath $pkgdir/solvedb" --justdb \
|
|
||||||
--noaid --nodeps --noorder --noscripts --notriggers --noparentdirs --nolinktos --stats \
|
|
||||||
--ignoresize --nosignature --nodigest \
|
|
||||||
-D "__dbi_txn create nofsync" \
|
|
||||||
$pkgdir/solvedb/manifest
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
cat /dev/null > ${RPMCONF_HOST_BASE}.conf
|
rm -rf ${DEPLOY_DIR_RPM}/$arch/solvedb
|
||||||
for pkgdir in $packagedirs_sdk; do
|
rm -rf ${DEPLOY_DIR_RPM}/$sdkarch$extension/solvedb
|
||||||
if [ -e $pkgdir/ ]; then
|
done
|
||||||
echo "Generating solve db for $pkgdir..."
|
|
||||||
echo $pkgdir/solvedb >> ${RPMCONF_HOST_BASE}.conf
|
cat /dev/null > ${RPMCONF_TARGET_BASE}-${archvar}.conf
|
||||||
if [ -d $pkgdir/solvedb ]; then
|
for pkgdir in $packagedirs; do
|
||||||
# We've already processed this and it's a duplicate
|
if [ -e $pkgdir/ ]; then
|
||||||
continue
|
echo "Generating solve db for $pkgdir..."
|
||||||
fi
|
echo $pkgdir/solvedb >> ${RPMCONF_TARGET_BASE}-${archvar}.conf
|
||||||
mkdir -p $pkgdir/solvedb
|
if [ -d $pkgdir/solvedb ]; then
|
||||||
echo "# Dynamically generated solve manifest" >> $pkgdir/solvedb/manifest
|
# We've already processed this and it's a duplicate
|
||||||
find $pkgdir -maxdepth 1 -type f >> $pkgdir/solvedb/manifest
|
continue
|
||||||
${RPM} -i --replacepkgs --replacefiles --oldpackage \
|
fi
|
||||||
-D "_dbpath $pkgdir/solvedb" --justdb \
|
mkdir -p $pkgdir/solvedb
|
||||||
--noaid --nodeps --noorder --noscripts --notriggers --noparentdirs --nolinktos --stats \
|
echo "# Dynamically generated solve manifest" >> $pkgdir/solvedb/manifest
|
||||||
--ignoresize --nosignature --nodigest \
|
find $pkgdir -maxdepth 1 -type f >> $pkgdir/solvedb/manifest
|
||||||
-D "__dbi_txn create nofsync" \
|
${RPM} -i --replacepkgs --replacefiles --oldpackage \
|
||||||
$pkgdir/solvedb/manifest
|
-D "_dbpath $pkgdir/solvedb" --justdb \
|
||||||
fi
|
--noaid --nodeps --noorder --noscripts --notriggers --noparentdirs --nolinktos --stats \
|
||||||
|
--ignoresize --nosignature --nodigest \
|
||||||
|
-D "__dbi_txn create nofsync" \
|
||||||
|
$pkgdir/solvedb/manifest
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
cat /dev/null > ${RPMCONF_HOST_BASE}.conf
|
||||||
|
for pkgdir in $packagedirs_sdk; do
|
||||||
|
if [ -e $pkgdir/ ]; then
|
||||||
|
echo "Generating solve db for $pkgdir..."
|
||||||
|
echo $pkgdir/solvedb >> ${RPMCONF_HOST_BASE}-${archvar}.conf
|
||||||
|
if [ -d $pkgdir/solvedb ]; then
|
||||||
|
# We've already processed this and it's a duplicate
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
mkdir -p $pkgdir/solvedb
|
||||||
|
echo "# Dynamically generated solve manifest" >> $pkgdir/solvedb/manifest
|
||||||
|
find $pkgdir -maxdepth 1 -type f >> $pkgdir/solvedb/manifest
|
||||||
|
${RPM} -i --replacepkgs --replacefiles --oldpackage \
|
||||||
|
-D "_dbpath $pkgdir/solvedb" --justdb \
|
||||||
|
--noaid --nodeps --noorder --noscripts --notriggers --noparentdirs --nolinktos --stats \
|
||||||
|
--ignoresize --nosignature --nodigest \
|
||||||
|
-D "__dbi_txn create nofsync" \
|
||||||
|
$pkgdir/solvedb/manifest
|
||||||
|
fi
|
||||||
|
done
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,25 +95,43 @@ package_update_index_rpm () {
|
|||||||
#
|
#
|
||||||
package_generate_rpm_conf () {
|
package_generate_rpm_conf () {
|
||||||
printf "_solve_dbpath " > ${RPMCONF_TARGET_BASE}.macro
|
printf "_solve_dbpath " > ${RPMCONF_TARGET_BASE}.macro
|
||||||
colon=false
|
o_colon_t=false
|
||||||
for each in `cat ${RPMCONF_TARGET_BASE}.conf` ; do
|
o_colon_h=false
|
||||||
if [ "$colon" == true ]; then
|
|
||||||
printf ":" >> ${RPMCONF_TARGET_BASE}.macro
|
for archvar in base_package_archs ml_package_archs; do
|
||||||
fi
|
printf "_solve_dbpath " > ${RPMCONF_TARGET_BASE}-${archvar}.macro
|
||||||
printf "%s" $each >> ${RPMCONF_TARGET_BASE}.macro
|
colon=false
|
||||||
colon=true
|
for each in `cat ${RPMCONF_TARGET_BASE}-${archvar}.conf` ; do
|
||||||
|
if [ "$o_colon_t" == true ]; then
|
||||||
|
printf ":" >> ${RPMCONF_TARGET_BASE}.macro
|
||||||
|
fi
|
||||||
|
if [ "$colon" == true ]; then
|
||||||
|
printf ":" >> ${RPMCONF_TARGET_BASE}-${archvar}.macro
|
||||||
|
fi
|
||||||
|
printf "%s" $each >> ${RPMCONF_TARGET_BASE}.macro
|
||||||
|
o_colon_t=true
|
||||||
|
printf "%s" $each >> ${RPMCONF_TARGET_BASE}-${archvar}.macro
|
||||||
|
colon=true
|
||||||
|
done
|
||||||
|
printf "\n" >> ${RPMCONF_TARGET_BASE}-${archvar}.macro
|
||||||
|
|
||||||
|
printf "_solve_dbpath " > ${RPMCONF_HOST_BASE}-${archvar}.macro
|
||||||
|
colon=false
|
||||||
|
for each in `cat ${RPMCONF_HOST_BASE}-${archvar}.conf` ; do
|
||||||
|
if [ "$o_colon_h" == true ]; then
|
||||||
|
printf ":" >> ${RPMCONF_HOST_BASE}.macro
|
||||||
|
fi
|
||||||
|
if [ "$colon" == true ]; then
|
||||||
|
printf ":" >> ${RPMCONF_HOST_BASE}-${archvar}.macro
|
||||||
|
fi
|
||||||
|
printf "%s" $each >> ${RPMCONF_HOST_BASE}.macro
|
||||||
|
o_colon_h=true
|
||||||
|
printf "%s" $each >> ${RPMCONF_HOST_BASE}-${archvar}.macro
|
||||||
|
colon=true
|
||||||
|
done
|
||||||
|
printf "\n" >> ${RPMCONF_HOST_BASE}-${archvar}.macro
|
||||||
done
|
done
|
||||||
printf "\n" >> ${RPMCONF_TARGET_BASE}.macro
|
printf "\n" >> ${RPMCONF_TARGET_BASE}.macro
|
||||||
|
|
||||||
printf "_solve_dbpath " > ${RPMCONF_HOST_BASE}.macro
|
|
||||||
colon=false
|
|
||||||
for each in `cat ${RPMCONF_HOST_BASE}.conf` ; do
|
|
||||||
if [ "$colon" == true ]; then
|
|
||||||
printf ":" >> ${RPMCONF_HOST_BASE}.macro
|
|
||||||
fi
|
|
||||||
printf "%s" $each >> ${RPMCONF_HOST_BASE}.macro
|
|
||||||
colon=true
|
|
||||||
done
|
|
||||||
printf "\n" >> ${RPMCONF_HOST_BASE}.macro
|
printf "\n" >> ${RPMCONF_HOST_BASE}.macro
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,11 +161,11 @@ rpm_log_check() {
|
|||||||
# resolve_pacakge <pkgname> <solvdb conffile>
|
# resolve_pacakge <pkgname> <solvdb conffile>
|
||||||
#
|
#
|
||||||
resolve_package_rpm () {
|
resolve_package_rpm () {
|
||||||
local pkg="$1"
|
local conffile="$1"
|
||||||
local conffile="$2"
|
shift
|
||||||
local pkg_name=""
|
local pkg_name=""
|
||||||
for solve in `cat ${conffile}`; do
|
for solve in `cat ${conffile}`; do
|
||||||
pkg_name=$(${RPM} -D "_dbpath $solve" -D "__dbi_txn create nofsync" -q --yaml $pkg | grep -i 'Packageorigin' | cut -d : -f 2)
|
pkg_name=$(${RPM} -D "_dbpath $solve" -D "__dbi_txn create nofsync" -q --yaml $@ | grep -i 'Packageorigin' | cut -d : -f 2)
|
||||||
if [ -n "$pkg_name" ]; then
|
if [ -n "$pkg_name" ]; then
|
||||||
break;
|
break;
|
||||||
fi
|
fi
|
||||||
@@ -178,10 +200,10 @@ package_install_internal_rpm () {
|
|||||||
|
|
||||||
# Setup base system configuration
|
# Setup base system configuration
|
||||||
mkdir -p ${target_rootfs}/etc/rpm/
|
mkdir -p ${target_rootfs}/etc/rpm/
|
||||||
echo "${platform}-poky-linux-gnu" > ${target_rootfs}/etc/rpm/platform
|
echo "${platform}${TARGET_VENDOR}-${TARGET_OS}" > ${target_rootfs}/etc/rpm/platform
|
||||||
if [ ! -z "$platform_extra" ]; then
|
if [ ! -z "$platform_extra" ]; then
|
||||||
for pt in $platform_extra ; do
|
for pt in $platform_extra ; do
|
||||||
echo "$pt-.*-linux.*" >> ${target_rootfs}/etc/rpm/platform
|
echo "$pt-.*-${TARGET_OS}" >> ${target_rootfs}/etc/rpm/platform
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -204,9 +226,16 @@ package_install_internal_rpm () {
|
|||||||
if [ ! -z "${package_lingusa}" ]; then
|
if [ ! -z "${package_lingusa}" ]; then
|
||||||
for pkg in ${package_lingusa}; do
|
for pkg in ${package_lingusa}; do
|
||||||
echo "Processing $pkg..."
|
echo "Processing $pkg..."
|
||||||
pkg_name=$(resolve_package_rpm $pkg ${confbase}.conf)
|
|
||||||
|
archvar=base_package_archs
|
||||||
|
ml_pkg=$(echo ${pkg} | sed "s,^${MLPREFIX}\(.*\),\1,")
|
||||||
|
if [ "${ml_pkg}" != "${pkg}" ]; then
|
||||||
|
archvar=ml_package_archs
|
||||||
|
fi
|
||||||
|
|
||||||
|
pkg_name=$(resolve_package_rpm ${confbase}-${archvar}.conf ${ml_pkg})
|
||||||
if [ -z "$pkg_name" ]; then
|
if [ -z "$pkg_name" ]; then
|
||||||
echo "Unable to find package $pkg!"
|
echo "Unable to find package $pkg ($ml_pkg)!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo $pkg_name >> ${IMAGE_ROOTFS}/install/install.manifest
|
echo $pkg_name >> ${IMAGE_ROOTFS}/install/install.manifest
|
||||||
@@ -217,12 +246,19 @@ package_install_internal_rpm () {
|
|||||||
if [ ! -z "${package_to_install}" ]; then
|
if [ ! -z "${package_to_install}" ]; then
|
||||||
for pkg in ${package_to_install} ; do
|
for pkg in ${package_to_install} ; do
|
||||||
echo "Processing $pkg..."
|
echo "Processing $pkg..."
|
||||||
pkg_name=$(resolve_package_rpm $pkg ${confbase}.conf)
|
|
||||||
|
archvar=base_package_archs
|
||||||
|
ml_pkg=$(echo ${pkg} | sed "s,$^{MLPREFIX}\(.*\),\1,")
|
||||||
|
if [ "${ml_pkg}" != "${pkg}" ]; then
|
||||||
|
archvar=ml_package_archs
|
||||||
|
fi
|
||||||
|
|
||||||
|
pkg_name=$(resolve_package_rpm ${confbase}-${archvar}.conf ${ml_pkg})
|
||||||
if [ -z "$pkg_name" ]; then
|
if [ -z "$pkg_name" ]; then
|
||||||
echo "Unable to find package $pkg!"
|
echo "Unable to find package $pkg ($ml_pkg)!"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo $pkg_name >> ${target_rootfs}/install/install.manifest
|
echo $pkg_name >> ${IMAGE_ROOTFS}/install/install.manifest
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -318,6 +354,21 @@ python write_specfile () {
|
|||||||
import textwrap
|
import textwrap
|
||||||
import oe.packagedata
|
import oe.packagedata
|
||||||
|
|
||||||
|
# We need a simple way to remove the MLPREFIX from the package name,
|
||||||
|
# and dependency information...
|
||||||
|
def strip_multilib(name, d):
|
||||||
|
multilibs = d.getVar('MULTILIBS', True) or ""
|
||||||
|
for ext in multilibs.split():
|
||||||
|
eext = ext.split(':')
|
||||||
|
if len(eext) > 1 and eext[0] == 'multilib' and name and name.find(eext[1] + '-') == 0:
|
||||||
|
name = (eext[1] + '-').join(name.split(eext[1] + '-', 1)[1:])
|
||||||
|
return name
|
||||||
|
|
||||||
|
# ml = bb.data.getVar("MLPREFIX", d, True)
|
||||||
|
# if ml and name and len(ml) != 0 and name.find(ml) == 0:
|
||||||
|
# return ml.join(name.split(ml, 1)[1:])
|
||||||
|
# return name
|
||||||
|
|
||||||
# In RPM, dependencies are of the format: pkg <>= Epoch:Version-Release
|
# In RPM, dependencies are of the format: pkg <>= Epoch:Version-Release
|
||||||
# This format is similar to OE, however there are restrictions on the
|
# This format is similar to OE, however there are restrictions on the
|
||||||
# characters that can be in a field. In the Version field, "-"
|
# characters that can be in a field. In the Version field, "-"
|
||||||
@@ -346,7 +397,7 @@ python write_specfile () {
|
|||||||
pv = subd['PKGV']
|
pv = subd['PKGV']
|
||||||
reppv = pv.replace('-', '+')
|
reppv = pv.replace('-', '+')
|
||||||
ver = ver.replace(pv, reppv)
|
ver = ver.replace(pv, reppv)
|
||||||
newdeps_dict[dep] = ver
|
newdeps_dict[strip_multilib(dep, d)] = ver
|
||||||
depends = bb.utils.join_deps(newdeps_dict)
|
depends = bb.utils.join_deps(newdeps_dict)
|
||||||
bb.data.setVar(varname, depends.strip(), d)
|
bb.data.setVar(varname, depends.strip(), d)
|
||||||
|
|
||||||
@@ -394,7 +445,7 @@ python write_specfile () {
|
|||||||
return
|
return
|
||||||
|
|
||||||
# Construct the SPEC file...
|
# Construct the SPEC file...
|
||||||
srcname = bb.data.getVar('PN', d, True)
|
srcname = strip_multilib(bb.data.getVar('PN', d, True), d)
|
||||||
srcsummary = (bb.data.getVar('SUMMARY', d, True) or bb.data.getVar('DESCRIPTION', d, True) or ".")
|
srcsummary = (bb.data.getVar('SUMMARY', d, True) or bb.data.getVar('DESCRIPTION', d, True) or ".")
|
||||||
srcversion = bb.data.getVar('PKGV', d, True).replace('-', '+')
|
srcversion = bb.data.getVar('PKGV', d, True).replace('-', '+')
|
||||||
srcrelease = bb.data.getVar('PKGR', d, True)
|
srcrelease = bb.data.getVar('PKGR', d, True)
|
||||||
@@ -405,7 +456,7 @@ python write_specfile () {
|
|||||||
srchomepage = bb.data.getVar('HOMEPAGE', d, True)
|
srchomepage = bb.data.getVar('HOMEPAGE', d, True)
|
||||||
srcdescription = bb.data.getVar('DESCRIPTION', d, True) or "."
|
srcdescription = bb.data.getVar('DESCRIPTION', d, True) or "."
|
||||||
|
|
||||||
srcdepends = bb.data.getVar('DEPENDS', d, True)
|
srcdepends = strip_multilib(bb.data.getVar('DEPENDS', d, True), d)
|
||||||
srcrdepends = []
|
srcrdepends = []
|
||||||
srcrrecommends = []
|
srcrrecommends = []
|
||||||
srcrsuggests = []
|
srcrsuggests = []
|
||||||
@@ -448,7 +499,7 @@ python write_specfile () {
|
|||||||
|
|
||||||
conffiles = (bb.data.getVar('CONFFILES', localdata, True) or "").split()
|
conffiles = (bb.data.getVar('CONFFILES', localdata, True) or "").split()
|
||||||
|
|
||||||
splitname = pkgname
|
splitname = strip_multilib(pkgname, d)
|
||||||
|
|
||||||
splitsummary = (bb.data.getVar('SUMMARY', localdata, True) or bb.data.getVar('DESCRIPTION', localdata, True) or ".")
|
splitsummary = (bb.data.getVar('SUMMARY', localdata, True) or bb.data.getVar('DESCRIPTION', localdata, True) or ".")
|
||||||
splitversion = (bb.data.getVar('PKGV', localdata, True) or "").replace('-', '+')
|
splitversion = (bb.data.getVar('PKGV', localdata, True) or "").replace('-', '+')
|
||||||
@@ -699,6 +750,14 @@ python write_specfile () {
|
|||||||
python do_package_rpm () {
|
python do_package_rpm () {
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
# We need a simple way to remove the MLPREFIX from the package name,
|
||||||
|
# and dependency information...
|
||||||
|
def strip_multilib(name, d):
|
||||||
|
ml = bb.data.getVar("MLPREFIX", d, True)
|
||||||
|
if ml and name and len(ml) != 0 and name.find(ml) == 0:
|
||||||
|
return ml.join(name.split(ml, 1)[1:])
|
||||||
|
return name
|
||||||
|
|
||||||
workdir = bb.data.getVar('WORKDIR', d, True)
|
workdir = bb.data.getVar('WORKDIR', d, True)
|
||||||
outdir = bb.data.getVar('DEPLOY_DIR_IPK', d, True)
|
outdir = bb.data.getVar('DEPLOY_DIR_IPK', d, True)
|
||||||
tmpdir = bb.data.getVar('TMPDIR', d, True)
|
tmpdir = bb.data.getVar('TMPDIR', d, True)
|
||||||
@@ -714,7 +773,7 @@ python do_package_rpm () {
|
|||||||
return
|
return
|
||||||
|
|
||||||
# Construct the spec file...
|
# Construct the spec file...
|
||||||
srcname = bb.data.getVar('PN', d, True)
|
srcname = strip_multilib(bb.data.getVar('PN', d, True), d)
|
||||||
outspecfile = workdir + "/" + srcname + ".spec"
|
outspecfile = workdir + "/" + srcname + ".spec"
|
||||||
bb.data.setVar('OUTSPECFILE', outspecfile, d)
|
bb.data.setVar('OUTSPECFILE', outspecfile, d)
|
||||||
bb.build.exec_func('write_specfile', d)
|
bb.build.exec_func('write_specfile', d)
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ EOF
|
|||||||
|
|
||||||
# List must be prefered to least preferred order
|
# List must be prefered to least preferred order
|
||||||
INSTALL_PLATFORM_EXTRA_RPM=""
|
INSTALL_PLATFORM_EXTRA_RPM=""
|
||||||
for each_arch in ${PACKAGE_ARCHS} ; do
|
for each_arch in ${MULTILIB_PACKAGE_ARCHS} ${PACKAGE_ARCHS}; do
|
||||||
INSTALL_PLATFORM_EXTRA_RPM="$each_arch $INSTALL_PLATFORM_EXTRA_RPM"
|
INSTALL_PLATFORM_EXTRA_RPM="$each_arch $INSTALL_PLATFORM_EXTRA_RPM"
|
||||||
done
|
done
|
||||||
export INSTALL_PLATFORM_RPM
|
export INSTALL_PLATFORM_RPM
|
||||||
@@ -207,4 +207,19 @@ python () {
|
|||||||
bb.data.setVarFlag('do_rootfs', 'recrdeptask', flags, d)
|
bb.data.setVarFlag('do_rootfs', 'recrdeptask', flags, d)
|
||||||
bb.data.setVar('RPM_PREPROCESS_COMMANDS', '', d)
|
bb.data.setVar('RPM_PREPROCESS_COMMANDS', '', d)
|
||||||
bb.data.setVar('RPM_POSTPROCESS_COMMANDS', '', d)
|
bb.data.setVar('RPM_POSTPROCESS_COMMANDS', '', d)
|
||||||
|
|
||||||
|
ml_package_archs = ""
|
||||||
|
multilibs = d.getVar('MULTILIBS', True) or ""
|
||||||
|
for ext in multilibs.split():
|
||||||
|
eext = ext.split(':')
|
||||||
|
if len(eext) > 1 and eext[0] == 'multilib':
|
||||||
|
localdata = bb.data.createCopy(d)
|
||||||
|
overrides = localdata.getVar("OVERRIDES", False) + ":virtclass-multilib-" + eext[1]
|
||||||
|
localdata.setVar("OVERRIDES", overrides)
|
||||||
|
# TEMP: OVERRIDES isn't working right
|
||||||
|
localdata.setVar("TUNENAME", localdata.getVar("TUNENAME_virtclass-multilib-" + eext[1], False) or "")
|
||||||
|
ml_package_archs += localdata.getVar("PACKAGE_ARCHS", True) or ""
|
||||||
|
bb.note("ML_PACKAGE_ARCHS %s %s %s" % (eext[1], localdata.getVar("PACKAGE_ARCHS", True) or "(none)", overrides))
|
||||||
|
bb.data.setVar('MULTILIB_PACKAGE_ARCHS', ml_package_archs, d)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user