From 9135d351ba7cb21e50239d2b310565680bd4fdca Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 23 Jul 2012 10:43:22 +0100 Subject: classes/rootfs_rpm: improve speed of RPM rootfs construction Improve the performance of the RPM backend during do_rootfs by performing most of the package name to file resolution in a separate utility written in C, processing the entire list of packages at once rather than running rpm on the command line which loads the RPM database for every package. Signed-off-by: Paul Eggleton --- meta/recipes-devtools/rpm/rpmresolve_1.0.bb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 meta/recipes-devtools/rpm/rpmresolve_1.0.bb (limited to 'meta/recipes-devtools/rpm/rpmresolve_1.0.bb') diff --git a/meta/recipes-devtools/rpm/rpmresolve_1.0.bb b/meta/recipes-devtools/rpm/rpmresolve_1.0.bb new file mode 100644 index 0000000000..f8750e02ba --- /dev/null +++ b/meta/recipes-devtools/rpm/rpmresolve_1.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "OpenEmbedded RPM resolver utility" +DESCRIPTION = "OpenEmbedded RPM resolver - performs RPM database lookups in batches to avoid \ + repeated invocations of rpm on the command line." +DEPENDS = "rpm" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" +PR = "r0" + +SRC_URI = "file://rpmresolve.c" + +S = "${WORKDIR}" + +do_compile() { + ${CC} ${CFLAGS} -ggdb -I${STAGING_INCDIR}/rpm ${LDFLAGS} rpmresolve.c -o rpmresolve -lrpmbuild -lrpm -lrpmio -lrpmdb -lpopt +} + +do_install() { + install -d ${D}${bindir} + install -m 0755 rpmresolve ${D}${bindir} +} + +BBCLASSEXTEND = "native" -- cgit 1.2.3-korg