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>
This commit is contained in:
Mark Hatle 2010-08-31 18:57:06 -05:00 committed by Richard Purdie
parent 84f7f70308
commit 379ba0e9d7
2 changed files with 5 additions and 1 deletions

View 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

View 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