From 64fdb4ddc11ca0a7664e4fa8e9984a00d8776a41 Mon Sep 17 00:00:00 2001 From: Toilal Date: Wed, 4 Mar 2015 11:25:06 +0100 Subject: [PATCH] Behave nicely when mailinabox.version file is missing --- setup/migrate.py | 15 ++++++++++++--- setup/start.sh | 4 ++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/setup/migrate.py b/setup/migrate.py index cbc4b361..b7e78756 100755 --- a/setup/migrate.py +++ b/setup/migrate.py @@ -84,13 +84,22 @@ def run_migrations(): env = load_environment() migration_id_file = os.path.join(env['STORAGE_ROOT'], 'mailinabox.version') + migration_id = None if os.path.exists(migration_id_file): with open(migration_id_file) as f: - ourver = int(f.read().strip()) - else: + migration_id = f.read().strip(); + + if migration_id is None: # Load the legacy location of the migration ID. We'll drop support # for this eventually. - ourver = int(env.get("MIGRATIONID", "0")) + migration_id = env.get("MIGRATIONID") + + if migration_id is None: + print() + print("%s file doesn't exists. Skipping migration..." % (migration_id_file,)) + return + + ourver = int(migration_id) while True: next_ver = (ourver + 1) diff --git a/setup/start.sh b/setup/start.sh index 9817f49a..fa84b03d 100755 --- a/setup/start.sh +++ b/setup/start.sh @@ -109,6 +109,10 @@ fi # Create the STORAGE_ROOT if it not exists if [ ! -d $STORAGE_ROOT ]; then mkdir -p $STORAGE_ROOT +fi + +# Create mailinabox.version file if not exists +if [ ! -f $STORAGE_ROOT/mailinabox.version ]; then echo $(setup/migrate.py --current) > $STORAGE_ROOT/mailinabox.version chown $STORAGE_USER.$STORAGE_USER $STORAGE_ROOT/mailinabox.version fi