mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-08-26 12:46:08 +00:00
upgrades: Stop quassel during dist upgrade
Fixes: #2098. Tests: - Install quassel in bullseye system. - Start dist upgrade. Check that quassel service is stopped during the dist upgrade. - Finish dist upgrade. Quassel service is running again. Signed-off-by: James Valleroy <jvalleroy@mailbox.org> Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
parent
4ab27eaee9
commit
695138d4d6
@ -12,7 +12,8 @@ from typing import List, Tuple, Union
|
|||||||
from plinth.action_utils import (apt_hold, apt_hold_flag, apt_hold_freedombox,
|
from plinth.action_utils import (apt_hold, apt_hold_flag, apt_hold_freedombox,
|
||||||
apt_unhold_freedombox, debconf_set_selections,
|
apt_unhold_freedombox, debconf_set_selections,
|
||||||
is_package_manager_busy, run_apt_command,
|
is_package_manager_busy, run_apt_command,
|
||||||
service_daemon_reload, service_restart)
|
service_daemon_reload, service_is_running,
|
||||||
|
service_restart, service_start, service_stop)
|
||||||
from plinth.actions import privileged
|
from plinth.actions import privileged
|
||||||
from plinth.modules.apache.components import check_url
|
from plinth.modules.apache.components import check_url
|
||||||
from plinth.modules.snapshot import is_apt_snapshots_enabled
|
from plinth.modules.snapshot import is_apt_snapshots_enabled
|
||||||
@ -469,6 +470,15 @@ def _perform_dist_upgrade():
|
|||||||
reenable_snapshots = _take_snapshot_and_disable()
|
reenable_snapshots = _take_snapshot_and_disable()
|
||||||
reenable_searx = _disable_searx()
|
reenable_searx = _disable_searx()
|
||||||
|
|
||||||
|
# If quassel is running during dist upgrade, it may be restarted
|
||||||
|
# several times. This causes IRC users to rapidly leave/join
|
||||||
|
# channels. Stop quassel for the duration of the dist upgrade.
|
||||||
|
quassel_service = 'quasselcore'
|
||||||
|
quassel_was_running = service_is_running(quassel_service)
|
||||||
|
if quassel_was_running:
|
||||||
|
print('Stopping quassel service before dist upgrade...', flush=True)
|
||||||
|
service_stop(quassel_service)
|
||||||
|
|
||||||
# Hold freedombox package during entire dist upgrade.
|
# Hold freedombox package during entire dist upgrade.
|
||||||
print('Holding freedombox package...', flush=True)
|
print('Holding freedombox package...', flush=True)
|
||||||
with apt_hold_freedombox():
|
with apt_hold_freedombox():
|
||||||
@ -512,6 +522,11 @@ def _perform_dist_upgrade():
|
|||||||
|
|
||||||
_update_searx(reenable_searx)
|
_update_searx(reenable_searx)
|
||||||
|
|
||||||
|
if quassel_was_running:
|
||||||
|
print('Re-starting quassel service after dist upgrade...',
|
||||||
|
flush=True)
|
||||||
|
service_start(quassel_service)
|
||||||
|
|
||||||
print('Running apt autoremove...', flush=True)
|
print('Running apt autoremove...', flush=True)
|
||||||
run_apt_command(['autoremove'])
|
run_apt_command(['autoremove'])
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user