summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@windriver.com>2010-08-31 18:57:06 -0500
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-02 10:01:22 +0100
commit379ba0e9d73a96f72982070a71532e035878fee0 (patch)
treebc9726a7d0ab128b1a90652a3c103924a5746ba4
parent84f7f70308eed0ac96abeb5a762e9b7765e5db91 (diff)
downloadopenembedded-core-379ba0e9d73a96f72982070a71532e035878fee0.tar.gz
openembedded-core-379ba0e9d73a96f72982070a71532e035878fee0.tar.bz2
openembedded-core-379ba0e9d73a96f72982070a71532e035878fee0.zip
rootfs_rpm: Optimize rpm database processing
Optimize the creation of the solverdb by disabling fsyncs and database caches that are not used when generating a solution. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
-rw-r--r--meta/classes/package_rpm.bbclass4
-rw-r--r--meta/classes/rootfs_rpm.bbclass2
2 files changed, 5 insertions, 1 deletions
diff --git a/meta/classes/package_rpm.bbclass b/meta/classes/package_rpm.bbclass
index 36eb8e308b..89e8fe891a 100644
--- a/meta/classes/package_rpm.bbclass
+++ b/meta/classes/package_rpm.bbclass
@@ -36,6 +36,7 @@ package_update_index_rpm () {
cat /dev/null > ${DEPLOY_DIR_RPM}/solvedb.conf
for pkgdir in $packagedirs; do
if [ -e $pkgdir/ ]; then
+ echo "Generating solve db for $pkgdir..."
rm -rf $pkgdir/solvedb
mkdir -p $pkgdir/solvedb
echo "# Dynamically generated solve manifest" >> $pkgdir/solvedb/manifest
@@ -43,6 +44,9 @@ package_update_index_rpm () {
${RPM} -i --replacepkgs --replacefiles --oldpackage \
-D "_dbpath $pkgdir/solvedb" --justdb \
--noaid --nodeps --noorder --noscripts --notriggers --noparentdirs --nolinktos --stats \
+ --ignoresize --nosignature --nodigest \
+ -D "_dbi_tags_3 Packages:Name:Basenames:Providename:Nvra" \
+ -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync" \
$pkgdir/solvedb/manifest
echo $pkgdir/solvedb >> ${DEPLOY_DIR_RPM}/solvedb.conf
fi
diff --git a/meta/classes/rootfs_rpm.bbclass b/meta/classes/rootfs_rpm.bbclass
index 9cbfdd3db3..f56acada7c 100644
--- a/meta/classes/rootfs_rpm.bbclass
+++ b/meta/classes/rootfs_rpm.bbclass
@@ -49,7 +49,7 @@ fakeroot rootfs_rpm_do_rootfs () {
for pkg in ${PACKAGE_INSTALL} ; do
echo "Processing $pkg..."
for solve in `cat ${DEPLOY_DIR_RPM}/solvedb.conf`; do
- pkg_name=$(${RPM} -D "_dbpath $solve" -q --yaml $pkg | grep -i 'Packageorigin' | cut -d : -f 2)
+ pkg_name=$(${RPM} -D "_dbpath $solve" -D "_dbi_tags_3 Packages:Name:Basenames:Providename:Nvra" -D "__dbi_cdb create mp_mmapsize=128Mb mp_size=1Mb nofsync" -q --yaml $pkg | grep -i 'Packageorigin' | cut -d : -f 2)
if [ -n "$pkg_name" ]; then
break;
fi