mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-05-27 10:44:33 +00:00
upgrades: Check that backports is for current release
- If backports is for older release, then it can be activated again to upgrade to latest release. (Plan is to make this automatic, but leave the manual option as a fallback.) - Security notice still shown if older backports are enabled. Tests: - On Buster system, change distribution in /etc/apt/sources.list.d/freedombox2.list to stretch-backports. Updates page shows button to activate backports again. Activate and check the source list to confirm that it has buster-backports again. Signed-off-by: James Valleroy <jvalleroy@mailbox.org> Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
parent
6b0744c1c7
commit
ca91120fdc
@ -13,7 +13,7 @@ import sys
|
|||||||
|
|
||||||
from plinth.action_utils import run_apt_command
|
from plinth.action_utils import run_apt_command
|
||||||
from plinth.modules.apache.components import check_url
|
from plinth.modules.apache.components import check_url
|
||||||
from plinth.modules.upgrades import is_backports_enabled, SOURCES_LIST
|
from plinth.modules.upgrades import is_backports_current, SOURCES_LIST
|
||||||
|
|
||||||
AUTO_CONF_FILE = '/etc/apt/apt.conf.d/20auto-upgrades'
|
AUTO_CONF_FILE = '/etc/apt/apt.conf.d/20auto-upgrades'
|
||||||
LOG_FILE = '/var/log/unattended-upgrades/unattended-upgrades.log'
|
LOG_FILE = '/var/log/unattended-upgrades/unattended-upgrades.log'
|
||||||
@ -193,7 +193,7 @@ def _check_and_backports_sources():
|
|||||||
if os.path.exists(old_sources_list):
|
if os.path.exists(old_sources_list):
|
||||||
os.remove(old_sources_list)
|
os.remove(old_sources_list)
|
||||||
|
|
||||||
if is_backports_enabled():
|
if is_backports_current():
|
||||||
print('Repositories list up-to-date. Skipping update.')
|
print('Repositories list up-to-date. Skipping update.')
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@
|
|||||||
FreedomBox app for upgrades.
|
FreedomBox app for upgrades.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from aptsources import sourceslist
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
|
|
||||||
@ -143,9 +144,24 @@ def is_backports_enabled():
|
|||||||
return os.path.exists(SOURCES_LIST)
|
return os.path.exists(SOURCES_LIST)
|
||||||
|
|
||||||
|
|
||||||
|
def is_backports_current():
|
||||||
|
"""Return whether backports are enabled for the current release."""
|
||||||
|
if not is_backports_enabled:
|
||||||
|
return False
|
||||||
|
|
||||||
|
dist = subprocess.check_output(['lsb_release', '--codename', '--short'
|
||||||
|
]).decode().strip() + '-backports'
|
||||||
|
sources = sourceslist.SourcesList()
|
||||||
|
for source in sources:
|
||||||
|
if source.dist == dist:
|
||||||
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
def can_activate_backports():
|
def can_activate_backports():
|
||||||
"""Return whether backports can be activated."""
|
"""Return whether backports can be activated."""
|
||||||
if is_backports_enabled():
|
if is_backports_current():
|
||||||
return False
|
return False
|
||||||
|
|
||||||
release = subprocess.check_output(['lsb_release', '--release',
|
release = subprocess.check_output(['lsb_release', '--release',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user