From c70db203c387e7faed390e5807e46c759b2eee4f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20R=C4=99korajski?= Date: Sun, 1 Nov 2020 10:44:09 +0100 Subject: [PATCH] - reset/cleanup rpmdb only if the current backend is bdb, sqlite backend uses different layout --- dbupgrade.sh | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/dbupgrade.sh b/dbupgrade.sh index a000935..575aeb2 100755 --- a/dbupgrade.sh +++ b/dbupgrade.sh @@ -12,26 +12,29 @@ if [ "$1" = "-r" ]; then fi fi -if ! /usr/lib/rpm/rpmdb_reset -r lsn "$ROOTDIR"/var/lib/rpm/Packages ; then - echo - echo "rpm database conversion failed!" - echo - echo "You have to run:" - echo - echo " /usr/lib/rpm/rpmdb_reset -r lsn /var/lib/rpm/Packages" - echo " /bin/rm -f /var/lib/rpm/__db.00*" - echo " /bin/rm -rf /var/lib/rpm/log" - echo " /usr/bin/rpmdb --rebuilddb" - echo -else - /bin/rm --interactive=never -f "$ROOTDIR"/var/lib/rpm/__db.00* >/dev/null 2>/dev/null || : - /bin/rm --interactive=never -rf "$ROOTDIR"/var/lib/rpm/log >/dev/null 2>/dev/null || : - /bin/rm --interactive=never -rf "$ROOTDIR"/var/lib/rpm/tmp >/dev/null 2>/dev/null || : - - if ! /usr/bin/rpmdb --rebuilddb ${ROOTDIR:+--root="$ROOTDIR"}; then +if [ -f "$ROOTDIR"/var/lib/rpm/Packages ]; then + if ! /usr/lib/rpm/rpmdb_reset -r lsn "$ROOTDIR"/var/lib/rpm/Packages ; then echo echo "rpm database conversion failed!" - echo "You have to run /usr/bin/rpmdb manually" echo + echo "You have to run:" + echo + echo " /usr/lib/rpm/rpmdb_reset -r lsn /var/lib/rpm/Packages" + echo " /bin/rm -f /var/lib/rpm/__db.00*" + echo " /bin/rm -rf /var/lib/rpm/log" + echo " /usr/bin/rpmdb --rebuilddb" + echo + exit fi + + /bin/rm --interactive=never -f "$ROOTDIR"/var/lib/rpm/__db.00* >/dev/null 2>/dev/null || : + /bin/rm --interactive=never -rf "$ROOTDIR"/var/lib/rpm/log >/dev/null 2>/dev/null || : + /bin/rm --interactive=never -rf "$ROOTDIR"/var/lib/rpm/tmp >/dev/null 2>/dev/null || : +fi + +if ! /usr/bin/rpmdb --rebuilddb ${ROOTDIR:+--root="$ROOTDIR"}; then + echo + echo "rpm database conversion failed!" + echo "You have to run /usr/bin/rpmdb manually" + echo fi -- 2.43.0