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

Cui, Dexuan dexuan.cui at intel.com
Thu May 12 11:38:16 UTC 2011


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)

Thanks!
-- Dexuan

commit fb26e81dcb6e27e2908294e406a3011baed0120d
Author: Dexuan Cui <dexuan.cui at intel.com>
Date:   Thu May 12 19:15:59 2011 +0800

    package-index.bb: also add the support for rpm/deb

    [YOCTO #1024]

    -------------------------------
    (I'll make a new patch to add the below description to the manual).

    How to generate and use repos:

    1) run "bitbake package-index" after building some target;
    2) export ${DEPLOY_DIR_RPM} and ${DEPLOY_DIR_IPK} by a webserver on the host
    (let's assume the host IP is 192.168.7.1) at
    http://192.168.7.1/rpm
    http://192.168.7.1/ipk
    3) inside the target, according to the packaging system (ipk, rpm, deb) used
    when we generate the target image, we can use different ways to manage
    packages:
        3.1) RPM:  "zypper addrepo http://192.168.7.1/rpm main; zypper refresh"
    to retrieve info about the repo; next, we can use zypper install/remove to
    manage packages.
        3.2) IPK:  add the repo info into opkg config file, i.e., in
    /etc/opkg/arch.conf, we can add something like
    src i586 http://192.168.7.1/ipk/i586, and next we run "opkg update" to make
    opkg update the list of available packages, and next we can use
    opkg install/remove to manage packages.
        3.3) DEB:(To be added)

    Signed-off-by: Dexuan Cui <dexuan.cui at intel.com>

diff --git a/meta/recipes-core/meta/package-index.bb b/meta/recipes-core/meta/package-index.bb
index 3c642cb..969430b 100644
--- a/meta/recipes-core/meta/package-index.bb
+++ b/meta/recipes-core/meta/package-index.bb
@@ -22,10 +22,14 @@ do_package_index[nostamp] = "1"
 do_package_index[dirs] = "${DEPLOY_DIR_IPK}"
 do_package_index[depends] += "opkg-utils-native:do_populate_sysroot"
 do_package_index[depends] += "opkg-native:do_populate_sysroot"
+do_package_index[depends] += "createrepo-native:do_populate_sysroot"
+do_package_index[depends] += "dpkg-native:do_populate_sysroot apt-native:do_populate_sysroot"

 do_package_index() {
    set -ex
    package_update_index_ipk
+   createrepo "${DEPLOY_DIR_RPM}"
+   package_update_index_deb
    set +ex
 }
 addtask do_package_index before do_build



More information about the Openembedded-core mailing list