Hello Ondrej,

I tried with 2.4.18-2

But, I had this warning:

    db5.1_archive: DB_ENV->log_archive: DB_NOTFOUND: No matching key/data pair 
found

And, this error:

/usr/lib/cyrus/bin/upgrade-db: 54: /usr/lib/cyrus/bin/upgrade-db: /usr/sbin/cvt_cyrusdb: not found

The output in debug was:

    + export PATH=/sbin:/usr/sbin:/bin:/usr/bin
    + LC_ALL=C gawk /^configdirectory:[[:blank:]]/ { print $2 }
    + CONFIG_DIR=/var/lib/cyrus
    + date +%Y%m%d-%H%M%S
    + BACKUP_DIR=/var/backup/cyrus-imapd/20151229-095634
    + mkdir -p /var/backup/cyrus-imapd/20151229-095634
    + upgradealldb /usr/lib/cyrus/cyrus-db-types.txt 
/usr/lib/cyrus/cyrus-db-types.active
    + OLD_LIST=/usr/lib/cyrus/cyrus-db-types.active
    + NEW_LIST=/usr/lib/cyrus/cyrus-db-types.txt
    + sed -e s/BerkeleyDB//
    + LC_ALL=C gawk /^DBENGINE[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.active
    + OLD_DBVERSION=5.1
    + sed -e s/BerkeleyDB//
    + LC_ALL=C gawk /^DBENGINE[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVERSION=5.3
    + [ 5.1 != 5.3 ]
    + DB_UTIL_NOT_FOUND=
    + [ ! -x /usr/bin/db5.1_recover ]
    + [ ! -x /usr/bin/db5.3_upgrade ]
    + [ -n  ]
    + backupbdb 5.1
    + mkdir -p /var/backup/cyrus-imapd/20151229-095634/db
    + su cyrus -c db5.1_recover -h /var/lib/cyrus/db
    + read log_file
    + su cyrus -c db5.1_archive -h /var/lib/cyrus/db -l
    db5.1_archive: DB_ENV->log_archive: DB_NOTFOUND: No matching key/data pair 
found
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^ANNOTATION[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=skiplist
    + [ -z skiplist ]
    + DO_UPGRADE_DB=
    + [ skiplist != skiplist ]
    + DBFILE=
    + DBFILE=annotations.db
    + [ -n  ]
    + [ -f /var/lib/cyrus/annotations.db ]
    + [ -n  -o 5.1 != 5.3 ]
    + backupdb annotations.db skiplist
    + cp -a /var/lib/cyrus/annotations.db 
/var/backup/cyrus-imapd/20151229-095634
    + upgradedb annotations.db skiplist skiplist
    + mktemp /tmp/annotations.db.XXXXXXXX
    + TMPFILE=/tmp/annotations.db.w2eglUaq
+ /usr/sbin/cvt_cyrusdb /var/lib/cyrus/annotations.db skiplist /tmp/annotations.db.w2eglUaq skiplist /usr/lib/cyrus/bin/upgrade-db: 55: /usr/lib/cyrus/bin/upgrade-db: /usr/sbin/cvt_cyrusdb: not found
    dpkg: error al procesar el paquete cyrus-common (--configure):

With this modification:

54c54
<     /usr/lib/cyrus/cvt_cyrusdb $CONFIG_DIR/$1 $2 $TMPFILE $3
---
>     /usr/sbin/cvt_cyrusdb $CONFIG_DIR/$1 $2 $TMPFILE $3

The output was:

    + set -e
    + export PATH=/sbin:/usr/sbin:/bin:/usr/bin
    + LC_ALL=C gawk /^configdirectory:[[:blank:]]/ { print $2 }
    + CONFIG_DIR=/var/lib/cyrus
    + date +%Y%m%d-%H%M%S
    + BACKUP_DIR=/var/backup/cyrus-imapd/20151229-100507
    + mkdir -p /var/backup/cyrus-imapd/20151229-100507
    + upgradealldb /usr/lib/cyrus/cyrus-db-types.txt 
/usr/lib/cyrus/cyrus-db-types.active
    + OLD_LIST=/usr/lib/cyrus/cyrus-db-types.active
    + NEW_LIST=/usr/lib/cyrus/cyrus-db-types.txt
    + sed -e s/BerkeleyDB//
    + LC_ALL=C gawk /^DBENGINE[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.active
    + OLD_DBVERSION=5.1
    + sed -e s/BerkeleyDB//
    + LC_ALL=C gawk /^DBENGINE[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVERSION=5.3
    + [ 5.1 != 5.3 ]
    + DB_UTIL_NOT_FOUND=
    + [ ! -x /usr/bin/db5.1_recover ]
    + [ ! -x /usr/bin/db5.3_upgrade ]
    + [ -n  ]
    + backupbdb 5.1
    + mkdir -p /var/backup/cyrus-imapd/20151229-100507/db
    + su cyrus -c db5.1_recover -h /var/lib/cyrus/db
    + read log_file
    + su cyrus -c db5.1_archive -h /var/lib/cyrus/db -l
    db5.1_archive: DB_ENV->log_archive: DB_NOTFOUND: No matching key/data pair 
found
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^ANNOTATION[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=skiplist
    + [ -z skiplist ]
    + DO_UPGRADE_DB=
    + [ skiplist != skiplist ]
    + DBFILE=
    + DBFILE=annotations.db
    + [ -n  ]
    + [ -f /var/lib/cyrus/annotations.db ]
    + [ -n  -o 5.1 != 5.3 ]
    + backupdb annotations.db skiplist
    + cp -a /var/lib/cyrus/annotations.db 
/var/backup/cyrus-imapd/20151229-100507
    + upgradedb annotations.db skiplist skiplist
    + mktemp /tmp/annotations.db.XXXXXXXX
    + TMPFILE=/tmp/annotations.db.Pariro4V
+ /usr/lib/cyrus/cvt_cyrusdb /var/lib/cyrus/annotations.db skiplist /tmp/annotations.db.Pariro4V skiplist /usr/lib/cyrus/bin/upgrade-db: 54: /usr/lib/cyrus/bin/upgrade-db: /usr/lib/cyrus/cvt_cyrusdb: not found
    dpkg: error al procesar el paquete cyrus-common (--configure):
el subproceso instalado el script post-installation devolvió el código de salida de error 127


And with this modifications:

54c54
<     /usr/lib/cyrus/cvt_cyrusdb $CONFIG_DIR/$1 $2 $TMPFILE $3
---
>     /usr/sbin/cvt_cyrusdb $CONFIG_DIR/$1 $2 $TMPFILE $3
170,172c170
<               if [ -n "${DO_UPGRADE_DB}" ]; then
<                   upgradedb $DBFILE $OLD_DBVALUE $NEW_DBVALUE
<               fi
---
>               upgradedb $DBFILE $OLD_DBVALUE $NEW_DBVALUE

The upgrade ran successfully, and the output was:

    + set -e
    + export PATH=/sbin:/usr/sbin:/bin:/usr/bin
    + LC_ALL=C gawk /^configdirectory:[[:blank:]]/ { print $2 }
    + CONFIG_DIR=/var/lib/cyrus
    + date +%Y%m%d-%H%M%S
    + BACKUP_DIR=/var/backup/cyrus-imapd/20151229-101550
    + mkdir -p /var/backup/cyrus-imapd/20151229-101550
    + upgradealldb /usr/lib/cyrus/cyrus-db-types.txt 
/usr/lib/cyrus/cyrus-db-types.active
    + OLD_LIST=/usr/lib/cyrus/cyrus-db-types.active
    + NEW_LIST=/usr/lib/cyrus/cyrus-db-types.txt
    + sed -e s/BerkeleyDB//
    + LC_ALL=C gawk /^DBENGINE[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.active
    + OLD_DBVERSION=5.1
    + sed -e s/BerkeleyDB//
    + LC_ALL=C gawk /^DBENGINE[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVERSION=5.3
    + [ 5.1 != 5.3 ]
    + DB_UTIL_NOT_FOUND=
    + [ ! -x /usr/bin/db5.1_recover ]
    + [ ! -x /usr/bin/db5.3_upgrade ]
    + [ -n  ]
    + backupbdb 5.1
    + mkdir -p /var/backup/cyrus-imapd/20151229-101550/db
    + su cyrus -c db5.1_recover -h /var/lib/cyrus/db
    + read log_file
    + su cyrus -c db5.1_archive -h /var/lib/cyrus/db -l
    db5.1_archive: DB_ENV->log_archive: DB_NOTFOUND: No matching key/data pair 
found
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^ANNOTATION[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=skiplist
    + [ -z skiplist ]
    + DO_UPGRADE_DB=
    + [ skiplist != skiplist ]
    + DBFILE=
    + DBFILE=annotations.db
    + [ -n  ]
    + [ -f /var/lib/cyrus/annotations.db ]
    + [ -n  -o 5.1 != 5.3 ]
    + backupdb annotations.db skiplist
    + cp -a /var/lib/cyrus/annotations.db 
/var/backup/cyrus-imapd/20151229-101550
    + [ -n  ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^DBENGINE[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=BerkeleyDB5.3
    + [ -z BerkeleyDB5.3 ]
    + DO_UPGRADE_DB=
    + [ BerkeleyDB5.3 != BerkeleyDB5.1 ]
    + DO_UPGRADE_DB=yes
    + DBFILE=
    + continue
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^DUPLICATE[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=skiplist
    + [ -z skiplist ]
    + DO_UPGRADE_DB=
    + [ skiplist != skiplist ]
    + DBFILE=
    + DBFILE=deliver.db
    + [ -n  ]
    + [ -f /var/lib/cyrus/deliver.db ]
    + [ -n  -o 5.1 != 5.3 ]
    + backupdb deliver.db skiplist
    + cp -a /var/lib/cyrus/deliver.db /var/backup/cyrus-imapd/20151229-101550
    + [ -n  ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^MBOX[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=skiplist
    + [ -z skiplist ]
    + DO_UPGRADE_DB=
    + [ skiplist != skiplist ]
    + DBFILE=
    + DBFILE=mailboxes.db
    + [ -n  ]
    + [ -f /var/lib/cyrus/mailboxes.db ]
    + [ -n  -o 5.1 != 5.3 ]
    + backupdb mailboxes.db skiplist
    + cp -a /var/lib/cyrus/mailboxes.db /var/backup/cyrus-imapd/20151229-101550
    + [ -n  ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^PTS[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=skiplist
    + [ -z skiplist ]
    + DO_UPGRADE_DB=
    + [ skiplist != skiplist ]
    + DBFILE=
    + [ -n  ]
    + [ -f /var/lib/cyrus/ ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^QUOTA[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=quotalegacy
    + [ -z quotalegacy ]
    + DO_UPGRADE_DB=
    + [ quotalegacy != quotalegacy ]
    + DBFILE=
    + [ -n  ]
    + [ -n  ]
    + [ -f /var/lib/cyrus/ ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^SEEN[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=skiplist
    + [ -z skiplist ]
    + DO_UPGRADE_DB=
    + [ skiplist != skiplist ]
    + DBFILE=
    + [ -n  ]
    + [ -n  ]
    + [ -f /var/lib/cyrus/ ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^STATUSCACHE[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=skiplist
    + [ -z skiplist ]
    + DO_UPGRADE_DB=
    + [ skiplist != skiplist ]
    + DBFILE=
    + [ -n  ]
    + [ -f /var/lib/cyrus/ ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^SUBS[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=flat
    + [ -z flat ]
    + DO_UPGRADE_DB=
    + [ flat != flat ]
    + DBFILE=
    + [ -n  ]
    + [ -n  ]
    + [ -f /var/lib/cyrus/ ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^TLS[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=skiplist
    + [ -z skiplist ]
    + DO_UPGRADE_DB=
    + [ skiplist != skiplist ]
    + DBFILE=
    + [ -n  ]
    + [ -f /var/lib/cyrus/ ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + LC_ALL=C gawk /^USERDENY[[:blank:]]/ { print $2 } 
/usr/lib/cyrus/cyrus-db-types.txt
    + NEW_DBVALUE=flat
    + [ -z flat ]
    + DO_UPGRADE_DB=
    + [ flat != flat ]
    + DBFILE=
    + DBFILE=user_deny.db
    + [ -n  ]
    + [ -f /var/lib/cyrus/user_deny.db ]
    + [ -n  -o 5.1 != 5.3 ]
    + backupdb user_deny.db flat
    + cp -a /var/lib/cyrus/user_deny.db /var/backup/cyrus-imapd/20151229-101550
    + [ -n  ]
    + read -r OLD_DBKEY OLD_DBVALUE
    + [ 5.1 != 5.3 ]
    + checkpointbdb 5.3
    + su cyrus -c db5.3_checkpoint -h /var/lib/cyrus/db -1
    + su cyrus -c db5.3_archive -h /var/lib/cyrus/db -d
    + return 0
    + RET=0
    + [ 0 -eq 0 ]
    + cp -p /usr/lib/cyrus/cyrus-db-types.txt 
/usr/lib/cyrus/cyrus-db-types.active
    + exit 0
    Configurando cyrus-imapd (2.4.18-2) ...
    Configurando cyrus-imapd-2.4 (2.4.18-2) ...
    Configurando cyrus-pop3d (2.4.18-2) ...
    Configurando cyrus-pop3d-2.4 (2.4.18-2) ...

I hope it helps,
Thank you very much,
Agu

PD: And feel free to ask me to try something...



El 23/12/2015 a las 11:12 a.m., Ondřej Surý escribió:
Hmm, I see. It basically means I have to trigger the BDB update if the
environment is found or I'll use the solution you have suggested :)

Cheers,
Ondrej

On Wed, Dec 23, 2015, at 13:32, Agustín Eijo wrote:
Hi Ondrej,

This patch does not work. The script ends with the following error (in
both cases: wheezy
-> jessie and wheezy -> sid ) :

db5.3_checkpoint: BDB1538 Program version 5.3 doesn't match environment
version 5.1
db5.3_checkpoint: DB_ENV->open: BDB0091 DB_VERSION_MISMATCH: Database
environment version
mismatch

I attach the output script with set -x  ( debug-upgrade-db.txt )

Agu


El 23/12/2015 a las 04:59 a.m., Ondřej Surý escribió:
Hi Augustín,

are you able to retry the upgrade with following patch?

diff --git a/debian/cyrus-upgrade-db b/debian/cyrus-upgrade-db
index 82a9d8e..2077a1f 100755
--- a/debian/cyrus-upgrade-db
+++ b/debian/cyrus-upgrade-db
@@ -182,13 +182,8 @@ upgradealldb() {
# Create Berkeley DB checkpoint and remove old logs
       if [ -n "${DO_UPGRADE_BDB}" -a -d $CONFIG_DIR/db ]; then
-       if [ -f /usr/lib/cyrus/berkeley-db-found.txt ]; then
-           # Create new checkpoint
-           checkpointbdb $NEW_DBVERSION
-       else
-           # Remove empty environment
-           rm -rf $CONFIG_DIR/db
-       fi
+       # Create new checkpoint
+       checkpointbdb $NEW_DBVERSION
       fi
[ -f /usr/lib/cyrus/berkeley-db-found.txt ] && \

(aka never remove the BerkeleyDB environment, just checkpoint it every
time)

Cheers,
Ondrej

On Tue, Dec 22, 2015, at 22:30, Agustín Eijo wrote:
Hello,

I tried to make the upgrade from wheezy to sid, but I have the same
problem with 2.4.18-1.

The script  /usr/lib/cyrus/bin/upgrade-db delete /var/lib/cyrus/db
directory

I tried changing:

190c190
<           rm -rf $CONFIG_DIR/db
---
   >           rm -rf $CONFIG_DIR/db/*

And the upgrade works well...

Agustín.


El 21/12/2015 a las 09:24 a.m., Debian Bug Tracking System escribió:
This is an automatic notification regarding your Bug report
which was filed against the cyrus-common package:

#803976: cyrus-common: /usr/lib/cyrus/bin/upgrade-db delete /var/lib/cyrus/db 
on upgrade from wheezy to jessie

It has been closed by Ondřej Surý <ond...@debian.org>.

Their explanation is attached below along with your original report.
If this explanation is unsatisfactory and you have not received a
better one in a separate message then please contact Ondřej Surý 
<ond...@debian.org> by
replying to this email.


Email had 1 attachment:
+ debug-upgrade-db.txt
   6k (text/plain)


Reply via email to