install.ui: move get_recommends to new file (MR 2010)
This commit is contained in:
parent
10abb10dcf
commit
8455c82eee
|
@ -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":
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue