-
Notifications
You must be signed in to change notification settings - Fork 18
How to upgrade ejabberd [or what to do when an APT upgrade breaks ejabberd]
The best way to keep ejabberd up to date is to also upgrade aenigma regularly. New features roll out often and aenigma always keeps up to date with every ejabberd release, and makes the most out of each one of them by:
- changing the config file to remove any deprecated options [and change the installation workflow accordingly if necessary]
- merging the new default config released with such version with the aenigma-customized one to ensure we always employ the latest best-practices proposed by the ejabberd team, and differ from the default config only enough to make aenigma perfect out of the box, without any extra old stuff dragged behind from previous versions
- activating new features by default
To upgrade aenigma, simply run aenigma-upgrade
or - if that doesn't work - bash openspace42/aenigma/tools/aenigma-upgrade
. You can always simply re-clone aenigma from scratch and run the installation exactly as you did when you installed it.
If - during an APT upgrade - [a standard, standalone apt-get upgrade
, external to the aenigma script] ejabberd get updated as well, this means that a newer version of ejabberd was published in the apt.jabber.at
repo [that aenigma uses when installing ejabberd], and therefore your system upgraded it as well along all of the other packages that had updates available.
You will likely be asked if you want to keep the current, aenigma-customized config file, or rather install the default config file that the newer version ships with. Always keep the locally installed config file when prompted for a choice.
If during such operation ejabberd fails when the unpacking of the new version occurs, this means that the newer version of ejabberd doesn't accept the existing config file as valid, and therefore fails. ejabberd has a tendency to deprecate options without notice and the latest versions always fail early if anything unexpected is found.
If this happens, simply run the aenigma-upgrade script. APT operations will fail all the way up until the point where aenigma upgrades ejabberd, and things will be fixed automatically. Simply answer yes
to continue every time APT operations fail to indicate you want to continue anyway.