I've attached two patches.
The first once changes grep to exclude the *_path options in
lib/imapoptions. This ensures cyrus-db-types.txt is generated correctly.
Next, cyrus-common-2.4.postinst was only setting RET if upgrade-db
failed. So RET was null in the case statement, triggering the failure
message when upgrade-db actually succeeded.
Thank you.
--- rules 2011-06-06 13:20:46.000000000 -0700
+++ rules-new 2011-06-08 08:15:19.127986268 -0700
@@ -109,7 +109,7 @@
# store database configuration for possible automatic
# upgrading later
echo "DBENGINE $(DBENGINE)" >>debian/cyrus-db-types.txt
- grep _db lib/imapoptions \
+ grep '_db"' lib/imapoptions \
| cut -d, -f1-2 | sed -e 's/{ "//;s/_db", "/ /;s/"$$//' \
| sed -e 's/^tls.* /TLS /;s/^subs.* /SUBS /;s/^seen.* /SEEN /;s/^pts.* /PTS /;s/^mbox.* /MBOX /'\
| awk '{printf("%s %s\n",toupper($$1),$$2);}' \
--- cyrus-common-2.4.postinst 2011-06-06 13:20:46.000000000 -0700
+++ cyrus-common-2.4.postinst-new 2011-06-08 08:59:30.159982191 -0700
@@ -29,7 +29,8 @@
case "$1" in
configure)
if [ -f /usr/lib/cyrus/cyrus-db-types.active ]; then
- /usr/lib/cyrus/bin/upgrade-db || RET="$?"
+ /usr/lib/cyrus/bin/upgrade-db
+ RET="$?"
case "$RET" in
0) ;;
2)