mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-20 10:34:30 +00:00
upgrades: Set a flag so interrupted dist-upgrade can be continued
Signed-off-by: James Valleroy <jvalleroy@mailbox.org> Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
parent
0308d783e3
commit
bacfc4bcee
@ -75,6 +75,9 @@ Pin: release a=buster-backports
|
|||||||
Pin-Priority: 500
|
Pin-Priority: 500
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
dist_upgrade_flag = pathlib.Path(
|
||||||
|
'/var/lib/freedombox/dist-upgrade-in-progress')
|
||||||
|
|
||||||
|
|
||||||
def parse_arguments():
|
def parse_arguments():
|
||||||
"""Return parsed command line arguments as dictionary"""
|
"""Return parsed command line arguments as dictionary"""
|
||||||
@ -292,6 +295,11 @@ def _check_and_dist_upgrade(develop=False, test_upgrade=False):
|
|||||||
If develop is True, check for possible upgrade from stable to testing.
|
If develop is True, check for possible upgrade from stable to testing.
|
||||||
If test_upgrade is True, also perform the upgrade to testing.
|
If test_upgrade is True, also perform the upgrade to testing.
|
||||||
"""
|
"""
|
||||||
|
if dist_upgrade_flag.exists():
|
||||||
|
print('Continuing previously interrupted dist-upgrade.')
|
||||||
|
_perform_dist_upgrade()
|
||||||
|
return
|
||||||
|
|
||||||
release, dist = get_current_release()
|
release, dist = get_current_release()
|
||||||
if release in ['unstable', 'testing']:
|
if release in ['unstable', 'testing']:
|
||||||
print(f'System release is {release}. Skip checking for new stable '
|
print(f'System release is {release}. Skip checking for new stable '
|
||||||
@ -350,6 +358,13 @@ def _check_and_dist_upgrade(develop=False, test_upgrade=False):
|
|||||||
|
|
||||||
sources_list.write(new_line)
|
sources_list.write(new_line)
|
||||||
|
|
||||||
|
print('Dist upgrade in progress. Setting flag.')
|
||||||
|
dist_upgrade_flag.touch(mode=0o660)
|
||||||
|
_perform_dist_upgrade()
|
||||||
|
|
||||||
|
|
||||||
|
def _perform_dist_upgrade():
|
||||||
|
"""Perform upgrade to next release of Debian."""
|
||||||
run_apt_command(['update'])
|
run_apt_command(['update'])
|
||||||
run_apt_command(['install', 'base-files'])
|
run_apt_command(['install', 'base-files'])
|
||||||
run_apt_command(['install', 'unattended-upgrades'])
|
run_apt_command(['install', 'unattended-upgrades'])
|
||||||
@ -370,6 +385,10 @@ def _check_and_dist_upgrade(develop=False, test_upgrade=False):
|
|||||||
|
|
||||||
run_apt_command(['autoremove'])
|
run_apt_command(['autoremove'])
|
||||||
|
|
||||||
|
print('Dist upgrade complete. Removing flag.')
|
||||||
|
if dist_upgrade_flag.exists():
|
||||||
|
dist_upgrade_flag.unlink()
|
||||||
|
|
||||||
# FreedomBox Service may have tried to restart several times
|
# FreedomBox Service may have tried to restart several times
|
||||||
# during the upgrade, but failed. It will stop trying after 5
|
# during the upgrade, but failed. It will stop trying after 5
|
||||||
# retries. Restart it once more to ensure it is running.
|
# retries. Restart it once more to ensure it is running.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user