]> code.ossystems Code Review - openembedded-core.git/commitdiff
rootfs_rpm: Optimize rpm database processing
authorMark Hatle <mark.hatle@windriver.com>
Tue, 31 Aug 2010 23:57:06 +0000 (18:57 -0500)
committerRichard Purdie <rpurdie@linux.intel.com>
Thu, 2 Sep 2010 09:01:22 +0000 (10:01 +0100)
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>
meta/classes/package_rpm.bbclass
meta/classes/rootfs_rpm.bbclass

index 36eb8e308b90159ee851dba2c6aedbde62cb1d55..89e8fe891a00e32aadc68a6ee572cdf44dfa1cb3 100644 (file)
@@ -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
index 9cbfdd3db355f4112dbcd6d14a10a431965294cd..f56acada7ccb7c642dd9526e63bc05c2a15b26ab 100644 (file)
@@ -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