<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>11843</bug_id>
          
          <creation_ts>2017-07-27 09:09:56 +0000</creation_ts>
          <short_desc>RPM package feed layout doesn&apos;t match the documentation or target feed setup</short_desc>
          <delta_ts>2017-07-28 13:34:24 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>11</classification_id>
          <classification>Runtime</classification>
          <product>Package Management Issues</product>
          <component>RPM</component>
          <version>2.3.1</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kai Ruhnau">kai.ruhnau</reporter>
          <assigned_to name="Kai Ruhnau">kai.ruhnau</assigned_to>
          <cc>alex.kanavin</cc>
    
    <cc>mark.hatle</cc>
    
    <cc>randy.macleod</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Yes (doc changes required)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>75331</commentid>
    <comment_count>0</comment_count>
    <who name="Kai Ruhnau">kai.ruhnau</who>
    <bug_when>2017-07-27 09:09:56 +0000</bug_when>
    <thetext>I have set up the build environment according to the documentation for RPM package management. There&apos;s a bunch of packages in tmp/depoly/rpm/*/*.rpm after the build. I&apos;ve also set up the package feed generation by setting up the PACKAGE_FEED_URIS, PACKAGE_FEED_BASE_PATHS and PACKAGE_FEED_ARCHS variables. The latter is set to contain the names of the three folders in tmp/deploy/rpm.

The built image then contains a /etc/yum.repos.d/oe-remote-repo-rpm.repo with three sections for the three feeds, and when I run `dnf upgrade` on the target, it queries the remote as expected for example for /rpm/cortexa9hf_neon/repodata/repomd.xml

However, running `bitbake package-index` on the build system doesn&apos;t create the three expected repodata folders, but instead generates just one tmp/deploy/rpm/repodata/ folder that contains information combined for all three arches at once.

The same setup with Morty generates a consistent layout (with three repodata folders) between the built package-index and the image configuration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75336</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2017-07-27 13:10:34 +0000</bug_when>
    <thetext>I believe the newer environment moved to a single index.  I prefer the three indexes myself as they allow me to combine different builds/architectures into the same &apos;release set&apos; and then configure the user of the feed with the right ones to use.

Assigning to Alexander as he has taken over this work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75337</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Hatle">mark.hatle</who>
    <bug_when>2017-07-27 13:11:38 +0000</bug_when>
    <thetext>I forgot to mention, you can still get the older behavior by running createrepo-c yourself.  It just means that you have to manually do what the package-index target does with the raw commands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75339</commentid>
    <comment_count>3</comment_count>
    <who name="Alexander Kanavin">alex.kanavin</who>
    <bug_when>2017-07-27 14:02:45 +0000</bug_when>
    <thetext>Createrepo_c is capable of recursing into subdirectories, and I utilized that feauture to avoid having to deal with architectures altogether when building images. The old smartpm-based code that handled them was basically impenetrable. To make this new behaviour compatible with the remote feed setup, drop the PACAKGE_FEED_ARCHS setting, and you should get a repo config that matches what the indexer does.

If you want per-arch indexes, write a recipe that iterates over directories and calls createrepo on each of them - the helper classes are all available to use in  meta/lib/oe/package_manager.py.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75344</commentid>
    <comment_count>4</comment_count>
    <who name="Kai Ruhnau">kai.ruhnau</who>
    <bug_when>2017-07-27 14:53:08 +0000</bug_when>
    <thetext>I had tried setting PACKAGE_FEED_ARCHS to the empty string &quot;&quot;. This resulted in an empty oe-remote-repo-rpm.repo. When it&apos;s unset, the generated package feed configuration looks good, indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75390</commentid>
    <comment_count>5</comment_count>
    <who name="Alexander Kanavin">alex.kanavin</who>
    <bug_when>2017-07-28 13:34:24 +0000</bug_when>
    <thetext>-</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>