[yocto] Using the yocto version of createrepo (want the MISSINGOK flag)

Ash Charles ashcharles at gmail.com
Fri Apr 17 14:43:29 PDT 2015


Hi,

I'm hosting an RPM based package repository on a different server than
the build machine; I've been use the distro's version of the
createrepo tool to keep the package index up to date.  The Yocto
version of the createrepo tool has some customizations notably adding
a 'missingok' flag to handle 'RRECOMMENDED' packages which is really
useful.

How might I use the Yocto version of createrepo on my package server
(or have I just got this all backwards)?  These three options jumped
to mind:

1. Do a minimal yocto install on the server and use the createrepo
tool from the build.  If so, is there a way to use the native/host
tools built by Yocto?  I've used a toolchain before but never python
tools like createrepo.  At this point, I figured I'd just tweak the
run.do_package_index script (if I can figure out what nativepython is
;-) ).

2. BBCLASSEXTEND nativesdk for createrepo and add it to the
buildtools-tarball.bb recipe.  This feels like the best option.  But
the python environment doesn't get picked up properly...e.g.
Traceback (most recent call last):
  File "/opt/poky/1.7.1/sysroots/x86_64-pokysdk-linux/usr/share/createrepo/genpkgmetadata.py",
line 26, in <module>
    import rpm
ImportError: No module named rpm


3.  Totally outside of Yocto, patch and use a source version
createrepo (or a speedy version like createrepo_c).  I think this
means also patching RPM support on the system to detect the
RPMSENSE_MISSINGOK flag.


Thanks for any advice and suggestions!
--Ash



More information about the yocto mailing list