From 8455c82eee12fe631cae1544e6f187e6b2b60cd4 Mon Sep 17 00:00:00 2001 From: Dylan Van Assche Date: Sun, 24 Jan 2021 10:00:22 +0100 Subject: [PATCH] install.ui: move get_recommends to new file (MR 2010) --- pmb/install/_install.py | 33 ++------------------------------ pmb/install/ui.py | 37 ++++++++++++++++++++++++++++++++++++ test/static_code_analysis.sh | 1 + test/test_install.py | 4 ++-- 4 files changed, 42 insertions(+), 33 deletions(-) create mode 100644 pmb/install/ui.py diff --git a/pmb/install/_install.py b/pmb/install/_install.py index 75690c31..59156c4b 100644 --- a/pmb/install/_install.py +++ b/pmb/install/_install.py @@ -16,6 +16,7 @@ import pmb.helpers.devices import pmb.helpers.run import pmb.install.blockdevice import pmb.install.recovery +import pmb.install.ui import pmb.install @@ -100,36 +101,6 @@ def get_kernel_package(args, device): return ["device-" + device + "-kernel-" + args.kernel] -def get_recommends_packages(args): - """ Get all packages listed in _pmb_recommends of the UI and UI-extras - package, unless running with pmbootstrap install --no-recommends. - - :returns: list of pkgnames, e.g. ["chatty", "gnome-contacts"] """ - ret = [] - if not args.install_recommends or args.ui == "none": - return ret - - # UI package - meta = f"postmarketos-ui-{args.ui}" - apkbuild = pmb.helpers.pmaports.get(args, meta) - recommends = apkbuild["_pmb_recommends"] - if recommends: - logging.debug(f"{meta}: install _pmb_recommends:" - f" {', '.join(recommends)}") - ret += recommends - - # UI-extras subpackage - meta_extras = f"{meta}-extras" - if args.ui_extras and meta_extras in apkbuild["subpackages"]: - recommends = apkbuild["subpackages"][meta_extras]["_pmb_recommends"] - if recommends: - logging.debug(f"{meta_extras}: install _pmb_recommends:" - f" {', '.join(recommends)}") - ret += recommends - - return ret - - def copy_files_from_chroot(args, suffix): """ Copy all files from the rootfs chroot to /mnt/install, except @@ -687,7 +658,7 @@ def create_device_rootfs(args, step, steps): ["device-" + args.device] + get_kernel_package(args, args.device) + get_nonfree_packages(args, args.device) + - get_recommends_packages(args)) + pmb.install.ui.get_recommends(args)) if not args.install_base: install_packages = [p for p in install_packages if p != "postmarketos-base"] if args.ui.lower() != "none": diff --git a/pmb/install/ui.py b/pmb/install/ui.py new file mode 100644 index 00000000..b47d28b2 --- /dev/null +++ b/pmb/install/ui.py @@ -0,0 +1,37 @@ +# Copyright 2021 Dylan Van Assche +# SPDX-License-Identifier: GPL-3.0-or-later +import logging + +import pmb.helpers.pmaports + + +def get_recommends(args): + """ Get all packages listed in _pmb_recommends of the UI and UI-extras + package, unless running with pmbootstrap install --no-recommends. + + :returns: list of pkgnames, e.g. ["chatty", "gnome-contacts"] """ + ret = [] + if not args.install_recommends or args.ui == "none": + return ret + + # UI package + meta = f"postmarketos-ui-{args.ui}" + apkbuild = pmb.helpers.pmaports.get(args, meta) + recommends = apkbuild["_pmb_recommends"] + if recommends: + logging.debug(f"{meta}: install _pmb_recommends:" + f" {', '.join(recommends)}") + ret += recommends + + # UI-extras subpackage + meta_extras = f"{meta}-extras" + if args.ui_extras and meta_extras in apkbuild["subpackages"]: + recommends = apkbuild["subpackages"][meta_extras]["_pmb_recommends"] + if recommends: + logging.debug(f"{meta_extras}: install _pmb_recommends:" + f" {', '.join(recommends)}") + ret += recommends + + return ret + + diff --git a/test/static_code_analysis.sh b/test/static_code_analysis.sh index 8db38790..44c2923c 100755 --- a/test/static_code_analysis.sh +++ b/test/static_code_analysis.sh @@ -89,6 +89,7 @@ py_files=" pmb/helpers/ui.py pmb/install/__init__.py pmb/install/recovery.py + pmb/install/ui.py pmb/parse/__init__.py pmb/parse/arch.py pmb/parse/arguments.py diff --git a/test/test_install.py b/test/test_install.py index 4eeb2862..9f4d736b 100644 --- a/test/test_install.py +++ b/test/test_install.py @@ -46,9 +46,9 @@ def test_get_nonfree_packages(args): assert func(args, device) == [] -def test_get_recommends_packages(args): +def test_get_recommends(args): args.aports = pmb_test.const.testdata + "/pmb_recommends" - func = pmb.install._install.get_recommends_packages + func = pmb.install.ui.get_recommends # UI: none args.install_recommends = True