[OE-core] [PATCH 0/1] Automatically generate package repos for rpm and deb [bug #1024]

Cui, Dexuan dexuan.cui at intel.com
Fri May 13 01:21:02 UTC 2011


Wold, Saul wrote:
> On 05/12/2011 04:38 AM, Cui, Dexuan wrote:
>> Dexuan Cui wrote:
>>> From: Dexuan Cui<dexuan.cui at intel.com>
>>> 
>>> This was made to address
>>> http://bugzilla.yoctoproject.org/show_bug.cgi?id=1024. Please
>>> comment. 
>>> 
>>> Pull URL: git://git.pokylinux.org/poky-contrib.git
>>>    Branch: dcui/master
>>>    Browse:
>>> http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=dcui/master
>> 
>> This is an improved and simple version that keeps 1  package-index
>> recipe and updates the 3 kinds of packages at the same time:
>> http://git.pokylinux.org/cgit/cgit.cgi/poky-contrib/commit/?h=dcui/package-index&id=fb26e81dcb6e27e2908294e406a3011baed0120d
>> This avoids forcing the user to remember which package type they
>> enabled when running "bitbake package-index". (I also past the new
>> version at the end of this mail for easy reviewing)  
>> 
> Dexuan,
> 
> I am not sure that this is the correct approach.  I think that you
> should look at how the packages get generated based on which package
> classes are included via PACKAGE_CLASSES, then in each of those
> classes set it up so that when the package-index task is called you
> know which indexer to run. This would be moving what you have in the
> package-index-<packager>.bb files to their respective
> package_<packager>.bbclass files and use
> 
> do_package_index[recrdeptask] += package_index_<packager>
> 
> in the case of ipk it would be in package_ipk.bbclass
> 
> do_package_index[recrdeptask] += "package_update_index_ipk"
> 
> You will also need to move the do_package_index[depends]
OK, thanks very much for the detailed suggestion! I'll change to this better method.

> Another thing to verify is the current package_update_index_* correct
> for the different package types? Looking at package_update_index_rpm,
> I am not sure since it does not call createrepo, there might be a
> reason for this that Mark H or Qing can comment on.
My understanding about package_update_index_rpm vs. createrepo is:
both can be used to generate rpm repo;
package_update_index_rpm generates the metadata about the packages in solvedb to have rpm install the packages into target rootfs. This is the current method used in do_rootfs for rpm. This is complex and the generated repo is not suitable to be exported (e.g., via http) for general use;
createrepo generated the metadata in .xml files and the generated repo can be easily exported via http and can be used easily by standard zypper (and yum) tools.
So in package-index.bb, I adopt createrepo for rpm.

Let me Cc Qing and Mark for comments about this.

Thanks!
-- Dexuan
 




More information about the Openembedded-core mailing list