From 863b3cdfe0176e426c27010c1b3d2632a05fb12c Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Wed, 2 Dec 2020 19:35:42 -0500 Subject: [PATCH] mumble: Implement force upgrade for 1.3.* Signed-off-by: James Valleroy Reviewed-by: Sunil Mohan Adapa --- plinth/modules/mumble/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/plinth/modules/mumble/__init__.py b/plinth/modules/mumble/__init__.py index 14e59fb3b..aa73ae105 100644 --- a/plinth/modules/mumble/__init__.py +++ b/plinth/modules/mumble/__init__.py @@ -16,6 +16,7 @@ from plinth.modules import names from plinth.modules.firewall.components import Firewall from plinth.modules.letsencrypt.components import LetsEncrypt from plinth.modules.users.components import UsersAndGroups +from plinth.utils import Version from .manifest import backup, clients # noqa, pylint: disable=unused-import @@ -98,6 +99,21 @@ def setup(helper, old_version=None): app.get_component('letsencrypt-mumble').setup_certificates() +def force_upgrade(helper, packages): + """Force upgrade mumble-server to resolve conffile prompts.""" + if 'mumble-server' not in packages: + return False + + # Allow upgrades within 1.3.* + package = packages['mumble-server'] + if Version(package['new_version']) > Version('1.4~'): + return False + + helper.install(['mumble-server'], force_configuration='new') + helper.call('post', actions.superuser_run, 'mumble', ['setup']) + return True + + def get_available_domains(): """Return an iterator with all domains able to have a certificate.""" return (domain.name for domain in names.components.DomainName.list()