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.helpers.run
|
||||||
import pmb.install.blockdevice
|
import pmb.install.blockdevice
|
||||||
import pmb.install.recovery
|
import pmb.install.recovery
|
||||||
|
import pmb.install.ui
|
||||||
import pmb.install
|
import pmb.install
|
||||||
|
|
||||||
|
|
||||||
|
@ -100,36 +101,6 @@ def get_kernel_package(args, device):
|
||||||
return ["device-" + device + "-kernel-" + args.kernel]
|
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):
|
def copy_files_from_chroot(args, suffix):
|
||||||
"""
|
"""
|
||||||
Copy all files from the rootfs chroot to /mnt/install, except
|
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] +
|
["device-" + args.device] +
|
||||||
get_kernel_package(args, args.device) +
|
get_kernel_package(args, args.device) +
|
||||||
get_nonfree_packages(args, args.device) +
|
get_nonfree_packages(args, args.device) +
|
||||||
get_recommends_packages(args))
|
pmb.install.ui.get_recommends(args))
|
||||||
if not args.install_base:
|
if not args.install_base:
|
||||||
install_packages = [p for p in install_packages if p != "postmarketos-base"]
|
install_packages = [p for p in install_packages if p != "postmarketos-base"]
|
||||||
if args.ui.lower() != "none":
|
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/helpers/ui.py
|
||||||
pmb/install/__init__.py
|
pmb/install/__init__.py
|
||||||
pmb/install/recovery.py
|
pmb/install/recovery.py
|
||||||
|
pmb/install/ui.py
|
||||||
pmb/parse/__init__.py
|
pmb/parse/__init__.py
|
||||||
pmb/parse/arch.py
|
pmb/parse/arch.py
|
||||||
pmb/parse/arguments.py
|
pmb/parse/arguments.py
|
||||||
|
|
|
@ -46,9 +46,9 @@ def test_get_nonfree_packages(args):
|
||||||
assert func(args, device) == []
|
assert func(args, device) == []
|
||||||
|
|
||||||
|
|
||||||
def test_get_recommends_packages(args):
|
def test_get_recommends(args):
|
||||||
args.aports = pmb_test.const.testdata + "/pmb_recommends"
|
args.aports = pmb_test.const.testdata + "/pmb_recommends"
|
||||||
func = pmb.install._install.get_recommends_packages
|
func = pmb.install.ui.get_recommends
|
||||||
|
|
||||||
# UI: none
|
# UI: none
|
||||||
args.install_recommends = True
|
args.install_recommends = True
|
||||||
|
|
Loading…
Reference in New Issue