Merge branch 'master' into ubuntu_bionic
This commit is contained in:
commit
a3add03706
5 changed files with 47 additions and 8 deletions
11
CHANGELOG.md
11
CHANGELOG.md
|
@ -1,14 +1,19 @@
|
||||||
CHANGELOG
|
CHANGELOG
|
||||||
=========
|
=========
|
||||||
|
|
||||||
This branch supports Ubuntu 18.04 **only**. When upgrading, **always** upgrade your **existing** Ubuntu 14.04 machine to version the latest release supporting Ubuntu 14.04 --- v0.28. If you are running an older version of Mail-in-a-Box which has an old version of ownCloud or Nextcloud, you will *not* be able to upgrade your data because older versions of ownCloud and Nextcloud that are required to perform the upgrade *cannot* be run on Ubuntu 18.04.
|
|
||||||
|
|
||||||
In Development
|
In Development
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
|
This is the first release for Ubuntu 18.04. Mail-in-a-Box can now **only** be installed on Ubuntu 18.04.
|
||||||
|
|
||||||
|
When **upgrading**, you **must** upgrade your existing Ubuntu 14.04 Mail-in-a-Box box to the latest release supporting Ubuntu 14.04 --- that's v0.30 --- first. If you are running an older version of Mail-in-a-Box which has an old version of ownCloud or Nextcloud, you will *not* be able to upgrade your data because older versions of ownCloud and Nextcloud that are required to perform the upgrade *cannot* be run on Ubuntu 18.04.
|
||||||
|
|
||||||
|
v0.30 (January 9, 2019)
|
||||||
|
-----------------------
|
||||||
|
|
||||||
Setup:
|
Setup:
|
||||||
|
|
||||||
* Update to Roundcube 1.3.8.
|
* Update to Roundcube 1.3.8 and the CardDAV plugin to 3.0.3.
|
||||||
* Add missing rsyslog package to install line since some OS images don't have it installed by default.
|
* Add missing rsyslog package to install line since some OS images don't have it installed by default.
|
||||||
* A log file for nsd was added.
|
* A log file for nsd was added.
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ by me:
|
||||||
$ curl -s https://keybase.io/joshdata/key.asc | gpg --import
|
$ curl -s https://keybase.io/joshdata/key.asc | gpg --import
|
||||||
gpg: key C10BDD81: public key "Joshua Tauberer <jt@occams.info>" imported
|
gpg: key C10BDD81: public key "Joshua Tauberer <jt@occams.info>" imported
|
||||||
|
|
||||||
$ git verify-tag v0.29
|
$ git verify-tag v0.30
|
||||||
gpg: Signature made ..... using RSA key ID C10BDD81
|
gpg: Signature made ..... using RSA key ID C10BDD81
|
||||||
gpg: Good signature from "Joshua Tauberer <jt@occams.info>"
|
gpg: Good signature from "Joshua Tauberer <jt@occams.info>"
|
||||||
gpg: WARNING: This key is not certified with a trusted signature!
|
gpg: WARNING: This key is not certified with a trusted signature!
|
||||||
|
@ -71,7 +71,7 @@ and on my [personal homepage](https://razor.occams.info/). (Of course, if this r
|
||||||
|
|
||||||
Checkout the tag corresponding to the most recent release:
|
Checkout the tag corresponding to the most recent release:
|
||||||
|
|
||||||
$ git checkout v0.29
|
$ git checkout v0.30
|
||||||
|
|
||||||
Begin the installation.
|
Begin the installation.
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
#########################################################
|
#########################################################
|
||||||
|
|
||||||
if [ -z "$TAG" ]; then
|
if [ -z "$TAG" ]; then
|
||||||
TAG=v0.29
|
TAG=v0.30
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Are we running as root?
|
# Are we running as root?
|
||||||
|
|
|
@ -148,6 +148,40 @@ def migration_11(env):
|
||||||
# meh
|
# meh
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def migration_12(env):
|
||||||
|
# Upgrading to Carddav Roundcube plugin to version 3+, it requires the carddav_*
|
||||||
|
# tables to be dropped.
|
||||||
|
# Checking that the roundcube database already exists.
|
||||||
|
if os.path.exists(os.path.join(env["STORAGE_ROOT"], "mail/roundcube/roundcube.sqlite")):
|
||||||
|
import sqlite3
|
||||||
|
conn = sqlite3.connect(os.path.join(env["STORAGE_ROOT"], "mail/roundcube/roundcube.sqlite"))
|
||||||
|
c = conn.cursor()
|
||||||
|
# Get a list of all the tables that begin with 'carddav_'
|
||||||
|
c.execute("SELECT name FROM sqlite_master WHERE type = ? AND name LIKE ?", ('table', 'carddav_%'))
|
||||||
|
carddav_tables = c.fetchall()
|
||||||
|
# If there were tables that begin with 'carddav_', drop them
|
||||||
|
if carddav_tables:
|
||||||
|
for table in carddav_tables:
|
||||||
|
try:
|
||||||
|
table = table[0]
|
||||||
|
c = conn.cursor()
|
||||||
|
dropcmd = "DROP TABLE %s" % table
|
||||||
|
c.execute(dropcmd)
|
||||||
|
except:
|
||||||
|
print("Failed to drop table", table, e)
|
||||||
|
# Save.
|
||||||
|
conn.commit()
|
||||||
|
conn.close()
|
||||||
|
|
||||||
|
# Delete all sessions, requring users to login again to recreate carddav_*
|
||||||
|
# databases
|
||||||
|
conn = sqlite3.connect(os.path.join(env["STORAGE_ROOT"], "mail/roundcube/roundcube.sqlite"))
|
||||||
|
c = conn.cursor()
|
||||||
|
c.execute("delete from session;")
|
||||||
|
conn.commit()
|
||||||
|
conn.close()
|
||||||
|
|
||||||
|
|
||||||
def get_current_migration():
|
def get_current_migration():
|
||||||
ver = 0
|
ver = 0
|
||||||
while True:
|
while True:
|
||||||
|
|
|
@ -32,8 +32,8 @@ VERSION=1.3.8
|
||||||
HASH=90c7900ccf7b2f46fe49c650d5adb9b85ee9cc22
|
HASH=90c7900ccf7b2f46fe49c650d5adb9b85ee9cc22
|
||||||
PERSISTENT_LOGIN_VERSION=dc5ca3d3f4415cc41edb2fde533c8a8628a94c76
|
PERSISTENT_LOGIN_VERSION=dc5ca3d3f4415cc41edb2fde533c8a8628a94c76
|
||||||
HTML5_NOTIFIER_VERSION=4b370e3cd60dabd2f428a26f45b677ad1b7118d5
|
HTML5_NOTIFIER_VERSION=4b370e3cd60dabd2f428a26f45b677ad1b7118d5
|
||||||
CARDDAV_VERSION=2.0.4
|
CARDDAV_VERSION=3.0.3
|
||||||
CARDDAV_HASH=d93f3cfb3038a519e71c7c3212c1d16f5da609a4
|
CARDDAV_HASH=d1e3b0d851ffa2c6bd42bf0c04f70d0e1d0d78f8
|
||||||
|
|
||||||
UPDATE_KEY=$VERSION:$PERSISTENT_LOGIN_VERSION:$HTML5_NOTIFIER_VERSION:$CARDDAV_VERSION
|
UPDATE_KEY=$VERSION:$PERSISTENT_LOGIN_VERSION:$HTML5_NOTIFIER_VERSION:$CARDDAV_VERSION
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue