aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm/rpmresolve_1.0.bb
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2012-07-23 10:43:22 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-28 11:13:51 +0100
commit9135d351ba7cb21e50239d2b310565680bd4fdca (patch)
tree09f01db01e59305d101484e90b19b9580f01da1a /meta/recipes-devtools/rpm/rpmresolve_1.0.bb
parent3861dc6f52c8c3abe925302dadba15d90efbd6b5 (diff)
downloadopenembedded-core-contrib-9135d351ba7cb21e50239d2b310565680bd4fdca.tar.gz
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 <paul.eggleton@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/rpm/rpmresolve_1.0.bb')
-rw-r--r--meta/recipes-devtools/rpm/rpmresolve_1.0.bb22
1 files changed, 22 insertions, 0 deletions
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"