[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