forked from Mirror/pmbootstrap
pmbootstrap init: kernel selection / remove linux-pmos-lts (#1363)
* As discussed in IRC/matrix, we're removing `linux-postmarketos-lts` for now. The kernel isn't used right now, and we save lots of maintenance effort with not updating it every week or so. * new config option `"kernel"` with possible values: `"downstream", "mainline", "stable"` (downstream is always `linux-$devicename`) * ask for the kernel during `pmbootstrap init` if the device package has kernel subpackages and install it in `_install.py` * postmarketos-mkinitfs: display note instead of exit with error when the `deviceinfo_dtb` file is missing (because we expect it to be missing for downstream kernels) * device-sony-amami: * add kernel subpackages for downstream, mainline * set `deviceinfo_dtb` * device-qemu-amd64: add kernel subpackages for stable, lts, mainline * test cases and test data for new functions * test case that checks all aports for right usage of the feature: * don't mix specifying kernels in depends *and* subpackages * 1 kernel in depends is maximum * kernel subpackages must have a valid name * Test if devices packages reference at least one kernel * Remove `_build_device_depends_note()` which informs the user that `--ignore-depends` can be used with device packages to avoid building the kernel. The idea was to make the transition easier after a change we did months ago, and now the kernel doesn't always get built before building the device package so it's not relevant anymore. * pmb/chroot/other.py: * Add autoinstall=True to kernel_flavors_installed(). When the flag is set, the function makes sure that at least one kernel for the device is installed. * Remove kernel_flavor_autodetect() function, wherever it was used, it has been replaced with kernel_flavors_installed()[0]. * pmb.helpers.frontend.py: remove code to install at least one kernel, kernel_flavors_installed() takes care of that now.
This commit is contained in:
parent
b7d4e2c11e
commit
b66b5dcc34
23 changed files with 334 additions and 17042 deletions
|
@ -110,6 +110,7 @@ def test_questions_device(args, monkeypatch):
|
|||
args.device = "lg-mako"
|
||||
args.nonfree_firmware = True
|
||||
args.nonfree_userland = False
|
||||
args.kernel = "downstream"
|
||||
|
||||
# Do not generate aports
|
||||
def fake_generate(args, pkgname):
|
||||
|
@ -120,15 +121,36 @@ def test_questions_device(args, monkeypatch):
|
|||
func = pmb.config.init.ask_for_device
|
||||
nonfree = {"firmware": True, "userland": False}
|
||||
fake_answers(monkeypatch, ["lg-mako"])
|
||||
assert func(args) == ("lg-mako", True, nonfree)
|
||||
kernel = args.kernel
|
||||
assert func(args) == ("lg-mako", True, kernel, nonfree)
|
||||
|
||||
# Non-existing device, go back, existing device
|
||||
fake_answers(monkeypatch, ["whoops-typo", "n", "lg-mako"])
|
||||
assert func(args) == ("lg-mako", True, nonfree)
|
||||
assert func(args) == ("lg-mako", True, kernel, nonfree)
|
||||
|
||||
# New device
|
||||
fake_answers(monkeypatch, ["new-device", "y"])
|
||||
assert func(args) == ("new-device", False, nonfree)
|
||||
assert func(args) == ("new-device", False, kernel, nonfree)
|
||||
|
||||
|
||||
def test_questions_device_kernel(args, monkeypatch):
|
||||
# Prepare args
|
||||
args.aports = pmb_src + "/test/testdata/init_questions_device/aports"
|
||||
args.kernel = "downstream"
|
||||
|
||||
# Kernel hardcoded in depends
|
||||
func = pmb.config.init.ask_for_device_kernel
|
||||
device = "lg-mako"
|
||||
assert func(args, device) == args.kernel
|
||||
|
||||
# Choose "mainline"
|
||||
device = "sony-amami"
|
||||
fake_answers(monkeypatch, ["mainline"])
|
||||
assert func(args, device) == "mainline"
|
||||
|
||||
# Choose "downstream"
|
||||
fake_answers(monkeypatch, ["downstream"])
|
||||
assert func(args, device) == "downstream"
|
||||
|
||||
|
||||
def test_questions_device_nonfree(args, monkeypatch):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue