Icedove profile migration broke read-only persistence
Originally created by @alant on #10431 (Redmine)
During 1.7-rc1 testing, we found that RO persistence works if there is no “Claws mail” preset but fails if there is one.
This is likely due to the following code in
config/chroot_local-includes/usr/local/sbin/live-persist
that is
logically wrong:
if [ "$PERSISTENCE_READONLY" = true ]
then
warning "Persistence configuration needs to be migrated, but read only was selected; please retry in read-write mode"
fi
echo "$NEW_PRESET source=$NEW_PRESET_SOURCE" \
>> "$CONFIG" \
|| error "Failed to make $NEW_PRESET: $?"
warning "Successfully made $NEW_PRESET persistent"
fi
}
The code issues a warning, but the continues to try to do impossible things. If we want to error() we should to it immediately in the if-statement above. We also should notify users when this happens, since few will read syslog.
By the way, this code is very poorly indented, which may be the cause of introducing this error.
Feature Branch: bugfix/10431-fix-read-only-persistence