Bug#803976: closed by Ondřej Surý <ondrej at debian.org> (Bug#803976: fixed in cyrus-imapd-2.4 2.4.18-1)

Agustín Eijo aeijo at mpba.gov.ar
Wed Dec 23 12:32:31 UTC 2015


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ý <ondrej at 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ý <ondrej at debian.org> by
>>> replying to this email.
>>>
>>>
>

-------------- next part --------------
+ 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/20151223-091951
+ mkdir -p /var/backup/cyrus-imapd/20151223-091951
+ 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
+ DO_UPGRADE_BDB=
+ 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 ]
+ DO_UPGRADE_BDB=yes
+ DB_UTIL_NOT_FOUND=
+ [ ! -x /usr/bin/db5.1_recover ]
+ [ ! -x /usr/bin/db5.3_upgrade ]
+ [ -n  ]
+ 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 -n yes ]
+ backupdb annotations.db skiplist 5.1
+ cp -a /var/lib/cyrus/annotations.db /var/backup/cyrus-imapd/20151223-091951
+ [ -n yes ]
+ [ -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 -n yes ]
+ backupdb deliver.db skiplist 5.1
+ cp -a /var/lib/cyrus/deliver.db /var/backup/cyrus-imapd/20151223-091951
+ [ -n yes ]
+ [ -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 -n yes ]
+ backupdb mailboxes.db skiplist 5.1
+ cp -a /var/lib/cyrus/mailboxes.db /var/backup/cyrus-imapd/20151223-091951
+ [ -n yes ]
+ [ -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 -n yes ]
+ backupdb user_deny.db flat 5.1
+ cp -a /var/lib/cyrus/user_deny.db /var/backup/cyrus-imapd/20151223-091951
+ [ -n yes ]
+ [ -n  ]
+ read -r OLD_DBKEY OLD_DBVALUE
+ [ -n yes -a -d /var/lib/cyrus/db ]
+ checkpointbdb 5.3
+ su cyrus -c db5.3_checkpoint -h /var/lib/cyrus/db -1
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


More information about the Pkg-Cyrus-imapd-Debian-devel mailing list