]> code.ossystems Code Review - openembedded-core.git/commitdiff
classes/package_rpm: fix bitbake package-index for RPM
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Thu, 26 Sep 2013 16:00:33 +0000 (17:00 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 26 Sep 2013 16:09:11 +0000 (17:09 +0100)
The function that "bitbake package-index" relies upon when using the RPM
package backend (package_update_index_rpm()) uses MULTILIB_PREFIX_LIST
to get the list of package architectures to be indexed, but that
variable is only set when populate_sdk_rpm or rootfs_rpm are inherited,
which is not the case for the package-index recipe. Until we're able to
refactor this properly, for minimal impact just use the value of
ALL_MULTILIB_PACKAGE_ARCHS if MULTILIB_PREFIX_LIST does not give us any
architectures (the equivalent function in the ipk backend uses the
former variable).

Having "bitbake package-index" working is important because it's the
only practical way of indexing RPM packages for use as a feed; host
versions of createrepo won't work properly because they won't support
indexing recommends relationships.

Stopgap fix for [YOCTO #5278].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/package_rpm.bbclass

index fd861e980deec19769a874e40e68d3b8bddc5613..05de1ff46d772cdf97ff28eceb8316ccbdd17010 100644 (file)
@@ -35,6 +35,11 @@ package_update_index_rpm () {
                done
        done
 
+       # FIXME stopgap for broken "bitbake package-index" since MULTILIB_PREFIX_LIST isn't set for that
+       if [ "$target_archs" = "" ] ; then
+               target_archs="${ALL_MULTILIB_PACKAGE_ARCHS}"
+       fi
+
        target_archs=`echo "$target_archs" | tr - _`
 
        archs=`for arch in $target_archs $sdk_archs ; do