upgrades: Enable backports for testing only in development mode

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
James Valleroy 2020-07-05 22:54:44 -04:00 committed by Sunil Mohan Adapa
parent 2176ab97ad
commit 6ac3d85bae
No known key found for this signature in database
GPG Key ID: 43EA1CFF0AA7C5F2
2 changed files with 16 additions and 8 deletions

View File

@ -76,8 +76,12 @@ def parse_arguments():
subparsers.add_parser('get-log', help='Print the automatic upgrades log') subparsers.add_parser('get-log', help='Print the automatic upgrades log')
subparsers.add_parser('setup', help='Setup apt preferences') subparsers.add_parser('setup', help='Setup apt preferences')
subparsers.add_parser('setup-repositories', setup_repositories = subparsers.add_parser(
help='Setup software repositories for FreedomBox') 'setup-repositories',
help='Setup software repositories for FreedomBox')
setup_repositories.add_argument('--develop', required=False, default=False,
action='store_true',
help='Development mode')
subparsers.required = True subparsers.required = True
return parser.parse_args() return parser.parse_args()
@ -187,7 +191,7 @@ deb-src {protocol}://deb.debian.org/debian {dist}-backports main
file_handle.write(sources) file_handle.write(sources)
def _check_and_backports_sources(): def _check_and_backports_sources(develop=False):
"""Add backports sources after checking if it is available.""" """Add backports sources after checking if it is available."""
old_sources_list = '/etc/apt/sources.list.d/freedombox.list' old_sources_list = '/etc/apt/sources.list.d/freedombox.list'
if os.path.exists(old_sources_list): if os.path.exists(old_sources_list):
@ -214,7 +218,7 @@ def _check_and_backports_sources():
release = subprocess.check_output(['lsb_release', '--release', release = subprocess.check_output(['lsb_release', '--release',
'--short']).decode().strip() '--short']).decode().strip()
if release in ['testing', 'unstable']: if release == 'unstable' or (release == 'testing' and not develop):
print(f'System release is {release}. Skip enabling backports.') print(f'System release is {release}. Skip enabling backports.')
return return
@ -261,14 +265,14 @@ def subcommand_setup(_):
_add_apt_preferences() _add_apt_preferences()
def subcommand_setup_repositories(_): def subcommand_setup_repositories(arguments):
"""Setup software repositories needed for FreedomBox. """Setup software repositories needed for FreedomBox.
Repositories list for now only contains the backports. If the file exists, Repositories list for now only contains the backports. If the file exists,
assume that it contains backports. assume that it contains backports.
""" """
_check_and_backports_sources() _check_and_backports_sources(arguments.develop)
def main(): def main():

View File

@ -136,7 +136,11 @@ def disable():
def setup_repositories(data): def setup_repositories(data):
"""Setup apt backport repositories.""" """Setup apt backport repositories."""
actions.superuser_run('upgrades', ['setup-repositories']) command = ['setup-repositories']
if cfg.develop:
command += ['--develop']
actions.superuser_run('upgrades', command)
def is_backports_enabled(): def is_backports_enabled():
@ -166,7 +170,7 @@ def can_activate_backports():
release = subprocess.check_output(['lsb_release', '--release', release = subprocess.check_output(['lsb_release', '--release',
'--short']).decode().strip() '--short']).decode().strip()
if release in ['testing', 'unstable']: if release == 'unstable' or (release == 'testing' and not cfg.develop):
return False return False
return True return True