forked from Mirror/pmbootstrap
pmb: Make RunOutputTypeDefault and RunOutputTypePopen enums
This allows us to get rid of some of the validation in sanity_checks() as mypy handles this validation at "build time", and any typos in the enum instantiation would be a runtime error rather than a silent failure. Additionally, it allows us to encode some of the behaviour of the different output types into the type definition itself by using methods. Part-of: https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/-/merge_requests/2642
This commit is contained in:
parent
77b2717d66
commit
7d2f055bcb
20 changed files with 167 additions and 84 deletions
|
@ -11,7 +11,7 @@ from pmb.core import Context
|
|||
from pmb.core.arch import Arch
|
||||
from pmb.core.chroot import Chroot
|
||||
from pmb.helpers import logging
|
||||
from pmb.types import Apkbuild, CrossCompile, Env
|
||||
from pmb.types import Apkbuild, CrossCompile, Env, RunOutputTypeDefault
|
||||
|
||||
|
||||
class BootstrapStage(enum.IntEnum):
|
||||
|
@ -316,4 +316,6 @@ def run_abuild(
|
|||
finally:
|
||||
handle_csum_failure(apkbuild, buildchroot)
|
||||
|
||||
pmb.helpers.run.root(["umount", buildchroot / "/mnt/sysroot"], output="null", check=False)
|
||||
pmb.helpers.run.root(
|
||||
["umount", buildchroot / "/mnt/sysroot"], output=RunOutputTypeDefault.NULL, check=False
|
||||
)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue