forked from Mirror/pmbootstrap
Add some missing type hints (MR 2338)
Functions with no explicit return type are considered to return `Any`.
This commit is contained in:
parent
e6eb0d8795
commit
84c512ea6a
8 changed files with 67 additions and 57 deletions
|
@ -76,7 +76,8 @@ def main() -> int:
|
||||||
|
|
||||||
# Initialize or require config
|
# Initialize or require config
|
||||||
if args.action == "init":
|
if args.action == "init":
|
||||||
return config_init.frontend(args)
|
config_init.frontend(args)
|
||||||
|
return 0
|
||||||
elif not os.path.exists(args.config):
|
elif not os.path.exists(args.config):
|
||||||
if args.config != config.defaults["config"]:
|
if args.config != config.defaults["config"]:
|
||||||
raise NonBugError(f"Couldn't find file passed with --config: {args.config}")
|
raise NonBugError(f"Couldn't find file passed with --config: {args.config}")
|
||||||
|
|
|
@ -11,7 +11,7 @@ from pmb.core import Chroot
|
||||||
from pmb.core.context import get_context
|
from pmb.core.context import get_context
|
||||||
|
|
||||||
|
|
||||||
def generate(pkgname: str):
|
def generate(pkgname: str) -> None:
|
||||||
arch = pkgname.split("-")[2]
|
arch = pkgname.split("-")[2]
|
||||||
context = get_context()
|
context = get_context()
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import pmb.install
|
||||||
from pmb.core import Chroot
|
from pmb.core import Chroot
|
||||||
|
|
||||||
|
|
||||||
def kernel_flavor_installed(chroot: Chroot, autoinstall=True):
|
def kernel_flavor_installed(chroot: Chroot, autoinstall=True) -> str | None:
|
||||||
"""
|
"""
|
||||||
Get installed kernel flavor. Optionally install the device's kernel
|
Get installed kernel flavor. Optionally install the device's kernel
|
||||||
beforehand.
|
beforehand.
|
||||||
|
@ -34,7 +34,7 @@ def kernel_flavor_installed(chroot: Chroot, autoinstall=True):
|
||||||
return glob_result[0].name if glob_result else None
|
return glob_result[0].name if glob_result else None
|
||||||
|
|
||||||
|
|
||||||
def copy_xauthority(args: PmbArgs):
|
def copy_xauthority(args: PmbArgs) -> None:
|
||||||
"""
|
"""
|
||||||
Copy the host system's Xauthority file to the pmos user inside the chroot,
|
Copy the host system's Xauthority file to the pmos user inside the chroot,
|
||||||
so we can start X11 applications from there.
|
so we can start X11 applications from there.
|
||||||
|
|
|
@ -32,7 +32,7 @@ from pmb.parse.deviceinfo import Deviceinfo
|
||||||
import pmb.parse._apkbuild
|
import pmb.parse._apkbuild
|
||||||
|
|
||||||
|
|
||||||
def require_programs():
|
def require_programs() -> None:
|
||||||
missing = []
|
missing = []
|
||||||
for program in pmb.config.required_programs:
|
for program in pmb.config.required_programs:
|
||||||
if not shutil.which(program):
|
if not shutil.which(program):
|
||||||
|
@ -273,7 +273,7 @@ def ask_for_timezone():
|
||||||
return "GMT"
|
return "GMT"
|
||||||
|
|
||||||
|
|
||||||
def ask_for_provider_select(apkbuild, providers_cfg):
|
def ask_for_provider_select(apkbuild, providers_cfg) -> None:
|
||||||
"""Ask for selectable providers that are specified using "_pmb_select" in a APKBUILD.
|
"""Ask for selectable providers that are specified using "_pmb_select" in a APKBUILD.
|
||||||
|
|
||||||
:param apkbuild: the APKBUILD with the _pmb_select
|
:param apkbuild: the APKBUILD with the _pmb_select
|
||||||
|
@ -331,7 +331,7 @@ def ask_for_provider_select(apkbuild, providers_cfg):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def ask_for_provider_select_pkg(pkgname, providers_cfg):
|
def ask_for_provider_select_pkg(pkgname, providers_cfg) -> None:
|
||||||
"""Look up the APKBUILD for the specified pkgname and ask for selectable
|
"""Look up the APKBUILD for the specified pkgname and ask for selectable
|
||||||
providers that are specified using "_pmb_select".
|
providers that are specified using "_pmb_select".
|
||||||
|
|
||||||
|
@ -466,7 +466,7 @@ def ask_for_device(context: Context):
|
||||||
return (device, device_path is not None, kernel)
|
return (device, device_path is not None, kernel)
|
||||||
|
|
||||||
|
|
||||||
def ask_for_additional_options(config):
|
def ask_for_additional_options(config) -> None:
|
||||||
context = pmb.core.context.get_context()
|
context = pmb.core.context.get_context()
|
||||||
# Allow to skip additional options
|
# Allow to skip additional options
|
||||||
logging.info(
|
logging.info(
|
||||||
|
@ -646,7 +646,7 @@ def get_locales():
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def ask_for_locale(current_locale: str):
|
def ask_for_locale(current_locale: str) -> str:
|
||||||
locales = get_locales()
|
locales = get_locales()
|
||||||
logging.info(
|
logging.info(
|
||||||
"Choose your preferred locale, like e.g. en_US. Only UTF-8"
|
"Choose your preferred locale, like e.g. en_US. Only UTF-8"
|
||||||
|
@ -672,7 +672,7 @@ def ask_for_locale(current_locale: str):
|
||||||
return f"{ret}.UTF-8"
|
return f"{ret}.UTF-8"
|
||||||
|
|
||||||
|
|
||||||
def frontend(args: PmbArgs):
|
def frontend(args: PmbArgs) -> None:
|
||||||
require_programs()
|
require_programs()
|
||||||
|
|
||||||
# Work folder (needs to be first, so we can create chroots early)
|
# Work folder (needs to be first, so we can create chroots early)
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
# Copyright 2023 Oliver Smith
|
# Copyright 2023 Oliver Smith
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
from pmb.core.context import get_context
|
from pmb.core.context import get_context
|
||||||
from pmb.helpers import logging
|
from pmb.helpers import logging
|
||||||
|
|
||||||
|
@ -17,7 +19,12 @@ import pmb.parse.kconfig
|
||||||
from pmb.core import Chroot, ChrootType
|
from pmb.core import Chroot, ChrootType
|
||||||
|
|
||||||
|
|
||||||
def kernel(deviceinfo: Deviceinfo, method: str, boot: bool = False, autoinstall: bool = False):
|
def kernel(
|
||||||
|
deviceinfo: Deviceinfo,
|
||||||
|
method: str,
|
||||||
|
boot: bool = False,
|
||||||
|
autoinstall: bool = False,
|
||||||
|
) -> None:
|
||||||
# Rebuild the initramfs, just to make sure (see #69)
|
# Rebuild the initramfs, just to make sure (see #69)
|
||||||
flavor = pmb.helpers.frontend._parse_flavor(deviceinfo.codename, autoinstall)
|
flavor = pmb.helpers.frontend._parse_flavor(deviceinfo.codename, autoinstall)
|
||||||
if autoinstall:
|
if autoinstall:
|
||||||
|
@ -43,13 +50,13 @@ def kernel(deviceinfo: Deviceinfo, method: str, boot: bool = False, autoinstall:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def list_flavors(device: str):
|
def list_flavors(device: str) -> None:
|
||||||
chroot = Chroot(ChrootType.ROOTFS, device)
|
chroot = Chroot(ChrootType.ROOTFS, device)
|
||||||
logging.info(f"({chroot}) installed kernel flavors:")
|
logging.info(f"({chroot}) installed kernel flavors:")
|
||||||
logging.info("* " + pmb.chroot.other.kernel_flavor_installed(chroot))
|
logging.info("* " + str(pmb.chroot.other.kernel_flavor_installed(chroot)))
|
||||||
|
|
||||||
|
|
||||||
def rootfs(deviceinfo: Deviceinfo, method: str):
|
def rootfs(deviceinfo: Deviceinfo, method: str) -> None:
|
||||||
# Generate rootfs, install flasher
|
# Generate rootfs, install flasher
|
||||||
suffix = ".img"
|
suffix = ".img"
|
||||||
if pmb.config.flashers.get(method, {}).get("split", False):
|
if pmb.config.flashers.get(method, {}).get("split", False):
|
||||||
|
@ -73,11 +80,11 @@ def rootfs(deviceinfo: Deviceinfo, method: str):
|
||||||
pmb.flasher.run(deviceinfo, method, "flash_rootfs")
|
pmb.flasher.run(deviceinfo, method, "flash_rootfs")
|
||||||
|
|
||||||
|
|
||||||
def list_devices(deviceinfo: Deviceinfo, method: str):
|
def list_devices(deviceinfo: Deviceinfo, method: str) -> None:
|
||||||
pmb.flasher.run(deviceinfo, method, "list_devices")
|
pmb.flasher.run(deviceinfo, method, "list_devices")
|
||||||
|
|
||||||
|
|
||||||
def sideload(deviceinfo: Deviceinfo, method: str):
|
def sideload(deviceinfo: Deviceinfo, method: str) -> None:
|
||||||
# Install depends
|
# Install depends
|
||||||
pmb.flasher.install_depends(method)
|
pmb.flasher.install_depends(method)
|
||||||
|
|
||||||
|
@ -102,7 +109,7 @@ def sideload(deviceinfo: Deviceinfo, method: str):
|
||||||
pmb.flasher.run(deviceinfo, method, "sideload")
|
pmb.flasher.run(deviceinfo, method, "sideload")
|
||||||
|
|
||||||
|
|
||||||
def flash_lk2nd(deviceinfo: Deviceinfo, method: str):
|
def flash_lk2nd(deviceinfo: Deviceinfo, method: str) -> None:
|
||||||
if method == "fastboot":
|
if method == "fastboot":
|
||||||
# In the future this could be expanded to use "fastboot flash lk2nd $img"
|
# In the future this could be expanded to use "fastboot flash lk2nd $img"
|
||||||
# which reflashes/updates lk2nd from itself. For now let the user handle this
|
# which reflashes/updates lk2nd from itself. For now let the user handle this
|
||||||
|
@ -141,7 +148,7 @@ def flash_lk2nd(deviceinfo: Deviceinfo, method: str):
|
||||||
pmb.flasher.run(deviceinfo, method, "flash_lk2nd")
|
pmb.flasher.run(deviceinfo, method, "flash_lk2nd")
|
||||||
|
|
||||||
|
|
||||||
def frontend(args: PmbArgs):
|
def frontend(args: PmbArgs) -> None:
|
||||||
context = get_context()
|
context = get_context()
|
||||||
action = args.action_flasher
|
action = args.action_flasher
|
||||||
device = context.config.device
|
device = context.config.device
|
||||||
|
|
|
@ -7,7 +7,7 @@ from pmb.helpers import logging
|
||||||
import os
|
import os
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
import sys
|
import sys
|
||||||
from typing import Any
|
from typing import Any, NoReturn
|
||||||
|
|
||||||
import pmb.aportgen
|
import pmb.aportgen
|
||||||
import pmb.build
|
import pmb.build
|
||||||
|
@ -43,7 +43,7 @@ from pmb.core import ChrootType, Chroot
|
||||||
from pmb.core.context import get_context
|
from pmb.core.context import get_context
|
||||||
|
|
||||||
|
|
||||||
def _parse_flavor(device: str, autoinstall=True):
|
def _parse_flavor(device: str, autoinstall=True) -> str:
|
||||||
"""Verify the flavor argument if specified, or return a default value.
|
"""Verify the flavor argument if specified, or return a default value.
|
||||||
|
|
||||||
:param autoinstall: make sure that at least one kernel flavor is installed
|
:param autoinstall: make sure that at least one kernel flavor is installed
|
||||||
|
@ -83,7 +83,7 @@ def _parse_suffix(args: PmbArgs) -> Chroot:
|
||||||
return Chroot(ChrootType.NATIVE)
|
return Chroot(ChrootType.NATIVE)
|
||||||
|
|
||||||
|
|
||||||
def _install_ondev_verify_no_rootfs(device: str, ondev_cp: list[tuple[str, str]]):
|
def _install_ondev_verify_no_rootfs(device: str, ondev_cp: list[tuple[str, str]]) -> None:
|
||||||
chroot_dest = "/var/lib/rootfs.img"
|
chroot_dest = "/var/lib/rootfs.img"
|
||||||
dest = Chroot(ChrootType.INSTALLER, device) / chroot_dest
|
dest = Chroot(ChrootType.INSTALLER, device) / chroot_dest
|
||||||
if dest.exists():
|
if dest.exists():
|
||||||
|
@ -103,13 +103,13 @@ def _install_ondev_verify_no_rootfs(device: str, ondev_cp: list[tuple[str, str]]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def aportgen(args: PmbArgs):
|
def aportgen(args: PmbArgs) -> None:
|
||||||
for package in args.packages:
|
for package in args.packages:
|
||||||
logging.info("Generate aport: " + package)
|
logging.info("Generate aport: " + package)
|
||||||
pmb.aportgen.generate(package, args.fork_alpine)
|
pmb.aportgen.generate(package, args.fork_alpine)
|
||||||
|
|
||||||
|
|
||||||
def build(args: PmbArgs):
|
def build(args: PmbArgs) -> None:
|
||||||
# Strict mode: zap everything
|
# Strict mode: zap everything
|
||||||
if args.strict:
|
if args.strict:
|
||||||
pmb.chroot.zap(False)
|
pmb.chroot.zap(False)
|
||||||
|
@ -144,12 +144,12 @@ def build(args: PmbArgs):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def build_init(args: PmbArgs):
|
def build_init(args: PmbArgs) -> None:
|
||||||
chroot = _parse_suffix(args)
|
chroot = _parse_suffix(args)
|
||||||
pmb.build.init(chroot)
|
pmb.build.init(chroot)
|
||||||
|
|
||||||
|
|
||||||
def checksum(args: PmbArgs):
|
def checksum(args: PmbArgs) -> None:
|
||||||
pmb.chroot.init(Chroot.native())
|
pmb.chroot.init(Chroot.native())
|
||||||
for package in args.packages:
|
for package in args.packages:
|
||||||
if args.verify:
|
if args.verify:
|
||||||
|
@ -158,20 +158,20 @@ def checksum(args: PmbArgs):
|
||||||
pmb.build.checksum.update(package)
|
pmb.build.checksum.update(package)
|
||||||
|
|
||||||
|
|
||||||
def sideload(args: PmbArgs):
|
def sideload(args: PmbArgs) -> None:
|
||||||
arch = args.arch
|
arch = args.arch
|
||||||
user = get_context().config.user
|
user = get_context().config.user
|
||||||
host = args.host
|
host = args.host
|
||||||
pmb.sideload.sideload(args, user, host, args.port, arch, args.install_key, args.packages)
|
pmb.sideload.sideload(args, user, host, args.port, arch, args.install_key, args.packages)
|
||||||
|
|
||||||
|
|
||||||
def netboot(args: PmbArgs):
|
def netboot(args: PmbArgs) -> None:
|
||||||
if args.action_netboot == "serve":
|
if args.action_netboot == "serve":
|
||||||
device = get_context().config.device
|
device = get_context().config.device
|
||||||
pmb.netboot.start_nbd_server(device, args.replace)
|
pmb.netboot.start_nbd_server(device, args.replace)
|
||||||
|
|
||||||
|
|
||||||
def chroot(args: PmbArgs):
|
def chroot(args: PmbArgs) -> None:
|
||||||
# Suffix
|
# Suffix
|
||||||
chroot = _parse_suffix(args)
|
chroot = _parse_suffix(args)
|
||||||
user = args.user
|
user = args.user
|
||||||
|
@ -225,7 +225,7 @@ def chroot(args: PmbArgs):
|
||||||
pmb.chroot.root(args.command, chroot, output=args.output, env=env)
|
pmb.chroot.root(args.command, chroot, output=args.output, env=env)
|
||||||
|
|
||||||
|
|
||||||
def config(args: PmbArgs):
|
def config(args: PmbArgs) -> None:
|
||||||
keys = Config.keys()
|
keys = Config.keys()
|
||||||
if args.name and args.name not in keys:
|
if args.name and args.name not in keys:
|
||||||
logging.info("NOTE: Valid config keys: " + ", ".join(keys))
|
logging.info("NOTE: Valid config keys: " + ", ".join(keys))
|
||||||
|
@ -284,16 +284,16 @@ def config(args: PmbArgs):
|
||||||
pmb.helpers.logging.disable()
|
pmb.helpers.logging.disable()
|
||||||
|
|
||||||
|
|
||||||
def repo_missing(args: PmbArgs):
|
def repo_missing(args: PmbArgs) -> None:
|
||||||
missing = pmb.helpers.repo_missing.generate(args.arch, args.overview, args.package, args.built)
|
missing = pmb.helpers.repo_missing.generate(args.arch, args.overview, args.package, args.built)
|
||||||
print(json.dumps(missing, indent=4))
|
print(json.dumps(missing, indent=4))
|
||||||
|
|
||||||
|
|
||||||
def initfs(args: PmbArgs):
|
def initfs(args: PmbArgs) -> None:
|
||||||
pmb.chroot.initfs.frontend(args)
|
pmb.chroot.initfs.frontend(args)
|
||||||
|
|
||||||
|
|
||||||
def install(args: PmbArgs):
|
def install(args: PmbArgs) -> None:
|
||||||
config = get_context().config
|
config = get_context().config
|
||||||
device = config.device
|
device = config.device
|
||||||
deviceinfo = pmb.parse.deviceinfo(device)
|
deviceinfo = pmb.parse.deviceinfo(device)
|
||||||
|
@ -409,15 +409,15 @@ def install(args: PmbArgs):
|
||||||
pmb.install.install(args)
|
pmb.install.install(args)
|
||||||
|
|
||||||
|
|
||||||
def flasher(args: PmbArgs):
|
def flasher(args: PmbArgs) -> None:
|
||||||
pmb.flasher.frontend(args)
|
pmb.flasher.frontend(args)
|
||||||
|
|
||||||
|
|
||||||
def export(args: PmbArgs):
|
def export(args: PmbArgs) -> None:
|
||||||
pmb.export.frontend(args)
|
pmb.export.frontend(args)
|
||||||
|
|
||||||
|
|
||||||
def update(args: PmbArgs):
|
def update(args: PmbArgs) -> None:
|
||||||
existing_only = not args.non_existing
|
existing_only = not args.non_existing
|
||||||
if not pmb.helpers.repo.update(args.arch, True, existing_only):
|
if not pmb.helpers.repo.update(args.arch, True, existing_only):
|
||||||
logging.info(
|
logging.info(
|
||||||
|
@ -432,7 +432,7 @@ def update(args: PmbArgs):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def newapkbuild(args: PmbArgs):
|
def newapkbuild(args: PmbArgs) -> None:
|
||||||
# Check for SRCURL usage
|
# Check for SRCURL usage
|
||||||
is_url = False
|
is_url = False
|
||||||
for prefix in ["http://", "https://", "ftp://"]:
|
for prefix in ["http://", "https://", "ftp://"]:
|
||||||
|
@ -466,7 +466,7 @@ def newapkbuild(args: PmbArgs):
|
||||||
pmb.build.newapkbuild(args.folder, pass_through, args.force)
|
pmb.build.newapkbuild(args.folder, pass_through, args.force)
|
||||||
|
|
||||||
|
|
||||||
def deviceinfo_parse(args: PmbArgs):
|
def deviceinfo_parse(args: PmbArgs) -> None:
|
||||||
# Default to all devices
|
# Default to all devices
|
||||||
devices = args.devices
|
devices = args.devices
|
||||||
if not devices:
|
if not devices:
|
||||||
|
@ -479,7 +479,7 @@ def deviceinfo_parse(args: PmbArgs):
|
||||||
print(json.dumps(pmb.parse.deviceinfo(device, kernel), indent=4, sort_keys=True))
|
print(json.dumps(pmb.parse.deviceinfo(device, kernel), indent=4, sort_keys=True))
|
||||||
|
|
||||||
|
|
||||||
def apkbuild_parse(args: PmbArgs):
|
def apkbuild_parse(args: PmbArgs) -> None:
|
||||||
# Default to all packages
|
# Default to all packages
|
||||||
packages: Sequence[str] = args.packages
|
packages: Sequence[str] = args.packages
|
||||||
if not packages:
|
if not packages:
|
||||||
|
@ -492,7 +492,7 @@ def apkbuild_parse(args: PmbArgs):
|
||||||
print(json.dumps(pmb.parse.apkbuild(aport), indent=4, sort_keys=True))
|
print(json.dumps(pmb.parse.apkbuild(aport), indent=4, sort_keys=True))
|
||||||
|
|
||||||
|
|
||||||
def apkindex_parse(args: PmbArgs):
|
def apkindex_parse(args: PmbArgs) -> None:
|
||||||
result = pmb.parse.apkindex.parse(args.apkindex_path)
|
result = pmb.parse.apkindex.parse(args.apkindex_path)
|
||||||
if args.package:
|
if args.package:
|
||||||
if args.package not in result:
|
if args.package not in result:
|
||||||
|
@ -501,10 +501,10 @@ def apkindex_parse(args: PmbArgs):
|
||||||
print(json.dumps(result, indent=4))
|
print(json.dumps(result, indent=4))
|
||||||
|
|
||||||
|
|
||||||
def pkgrel_bump(args: PmbArgs):
|
def pkgrel_bump(args: PmbArgs) -> None:
|
||||||
would_bump = True
|
would_bump = True
|
||||||
if args.auto:
|
if args.auto:
|
||||||
would_bump = pmb.helpers.pkgrel_bump.auto(args, args.dry)
|
would_bump = bool(pmb.helpers.pkgrel_bump.auto(args, args.dry))
|
||||||
else:
|
else:
|
||||||
# Each package must exist
|
# Each package must exist
|
||||||
for package in args.packages:
|
for package in args.packages:
|
||||||
|
@ -519,7 +519,7 @@ def pkgrel_bump(args: PmbArgs):
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
def aportupgrade(args: PmbArgs):
|
def aportupgrade(args: PmbArgs) -> None:
|
||||||
if args.all or args.all_stable or args.all_git:
|
if args.all or args.all_stable or args.all_git:
|
||||||
pmb.helpers.aportupgrade.upgrade_all(args)
|
pmb.helpers.aportupgrade.upgrade_all(args)
|
||||||
else:
|
else:
|
||||||
|
@ -532,11 +532,11 @@ def aportupgrade(args: PmbArgs):
|
||||||
pmb.helpers.aportupgrade.upgrade(args, package)
|
pmb.helpers.aportupgrade.upgrade(args, package)
|
||||||
|
|
||||||
|
|
||||||
def qemu(args: PmbArgs):
|
def qemu(args: PmbArgs) -> None:
|
||||||
pmb.qemu.run(args)
|
pmb.qemu.run(args)
|
||||||
|
|
||||||
|
|
||||||
def stats(args: PmbArgs):
|
def stats(args: PmbArgs) -> None:
|
||||||
# Chroot suffix
|
# Chroot suffix
|
||||||
chroot = Chroot.buildroot(args.arch or Arch.native())
|
chroot = Chroot.buildroot(args.arch or Arch.native())
|
||||||
|
|
||||||
|
@ -546,12 +546,12 @@ def stats(args: PmbArgs):
|
||||||
pmb.chroot.user(["ccache", "-s"], chroot, output="stdout")
|
pmb.chroot.user(["ccache", "-s"], chroot, output="stdout")
|
||||||
|
|
||||||
|
|
||||||
def work_migrate(args: PmbArgs):
|
def work_migrate(args: PmbArgs) -> None:
|
||||||
# do nothing (pmb/__init__.py already did the migration)
|
# do nothing (pmb/__init__.py already did the migration)
|
||||||
pmb.helpers.logging.disable()
|
pmb.helpers.logging.disable()
|
||||||
|
|
||||||
|
|
||||||
def zap(args: PmbArgs):
|
def zap(args: PmbArgs) -> None:
|
||||||
pmb.chroot.zap(
|
pmb.chroot.zap(
|
||||||
dry=args.dry,
|
dry=args.dry,
|
||||||
http=args.http,
|
http=args.http,
|
||||||
|
@ -567,7 +567,7 @@ def zap(args: PmbArgs):
|
||||||
pmb.helpers.logging.disable()
|
pmb.helpers.logging.disable()
|
||||||
|
|
||||||
|
|
||||||
def bootimg_analyze(args: PmbArgs):
|
def bootimg_analyze(args: PmbArgs) -> None:
|
||||||
bootimg = pmb.parse.bootimg(args.path)
|
bootimg = pmb.parse.bootimg(args.path)
|
||||||
tmp_output = "Put these variables in the deviceinfo file of your device:\n"
|
tmp_output = "Put these variables in the deviceinfo file of your device:\n"
|
||||||
for line in pmb.aportgen.device.generate_deviceinfo_fastboot_content(bootimg).split("\n"):
|
for line in pmb.aportgen.device.generate_deviceinfo_fastboot_content(bootimg).split("\n"):
|
||||||
|
@ -575,7 +575,7 @@ def bootimg_analyze(args: PmbArgs):
|
||||||
logging.info(tmp_output)
|
logging.info(tmp_output)
|
||||||
|
|
||||||
|
|
||||||
def lint(args: PmbArgs):
|
def lint(args: PmbArgs) -> None:
|
||||||
packages: Sequence[str] = args.packages
|
packages: Sequence[str] = args.packages
|
||||||
if not packages:
|
if not packages:
|
||||||
packages = pmb.helpers.pmaports.get_list()
|
packages = pmb.helpers.pmaports.get_list()
|
||||||
|
@ -583,14 +583,14 @@ def lint(args: PmbArgs):
|
||||||
pmb.helpers.lint.check(packages)
|
pmb.helpers.lint.check(packages)
|
||||||
|
|
||||||
|
|
||||||
def status(args: PmbArgs) -> None:
|
def status(args: PmbArgs) -> NoReturn:
|
||||||
pmb.helpers.status.print_status(args)
|
pmb.helpers.status.print_status(args)
|
||||||
|
|
||||||
# Do not print the DONE! line
|
# Do not print the DONE! line
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
def ci(args: PmbArgs):
|
def ci(args: PmbArgs) -> None:
|
||||||
topdir = pmb.helpers.git.get_topdir(Path.cwd())
|
topdir = pmb.helpers.git.get_topdir(Path.cwd())
|
||||||
if not os.path.exists(topdir):
|
if not os.path.exists(topdir):
|
||||||
logging.error(
|
logging.error(
|
||||||
|
|
|
@ -11,7 +11,7 @@ import pmb.parse
|
||||||
import pmb.parse.apkindex
|
import pmb.parse.apkindex
|
||||||
|
|
||||||
|
|
||||||
def package(args: PmbArgs, pkgname, reason="", dry=False):
|
def package(args: PmbArgs, pkgname: str, reason="", dry: bool = False) -> None:
|
||||||
"""Increase the pkgrel in the APKBUILD of a specific package.
|
"""Increase the pkgrel in the APKBUILD of a specific package.
|
||||||
|
|
||||||
:param pkgname: name of the package
|
:param pkgname: name of the package
|
||||||
|
@ -54,7 +54,7 @@ def package(args: PmbArgs, pkgname, reason="", dry=False):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def auto_apkindex_package(args: PmbArgs, arch, aport, apk, dry=False):
|
def auto_apkindex_package(args: PmbArgs, arch, aport, apk, dry: bool = False) -> bool:
|
||||||
"""Bump the pkgrel of a specific package if it is outdated in the given APKINDEX.
|
"""Bump the pkgrel of a specific package if it is outdated in the given APKINDEX.
|
||||||
|
|
||||||
:param arch: the architecture, e.g. "armhf"
|
:param arch: the architecture, e.g. "armhf"
|
||||||
|
@ -76,13 +76,13 @@ def auto_apkindex_package(args: PmbArgs, arch, aport, apk, dry=False):
|
||||||
f"{pkgname}: skipping, because the aport version {version_aport} is lower"
|
f"{pkgname}: skipping, because the aport version {version_aport} is lower"
|
||||||
f" than the binary version {version_apk}"
|
f" than the binary version {version_apk}"
|
||||||
)
|
)
|
||||||
return
|
return False
|
||||||
if compare == 1:
|
if compare == 1:
|
||||||
logging.verbose(
|
logging.verbose(
|
||||||
f"{pkgname}: skipping, because the aport version {version_aport} is higher"
|
f"{pkgname}: skipping, because the aport version {version_aport} is higher"
|
||||||
f" than the binary version {version_apk}"
|
f" than the binary version {version_apk}"
|
||||||
)
|
)
|
||||||
return
|
return False
|
||||||
|
|
||||||
# Find missing depends
|
# Find missing depends
|
||||||
depends = apk["depends"]
|
depends = apk["depends"]
|
||||||
|
@ -106,8 +106,10 @@ def auto_apkindex_package(args: PmbArgs, arch, aport, apk, dry=False):
|
||||||
package(args, pkgname, reason=", missing depend(s): " + ", ".join(missing), dry=dry)
|
package(args, pkgname, reason=", missing depend(s): " + ", ".join(missing), dry=dry)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
return False
|
||||||
|
|
||||||
def auto(args: PmbArgs, dry=False):
|
|
||||||
|
def auto(args: PmbArgs, dry=False) -> list[str]:
|
||||||
""":returns: list of aport names, where the pkgrel needed to be changed"""
|
""":returns: list of aport names, where the pkgrel needed to be changed"""
|
||||||
ret = []
|
ret = []
|
||||||
for arch in Arch.supported():
|
for arch in Arch.supported():
|
||||||
|
|
|
@ -64,13 +64,13 @@ def ssh_find_arch(args: PmbArgs, user: str, host: str, port: str) -> Arch:
|
||||||
return alpine_architecture
|
return alpine_architecture
|
||||||
|
|
||||||
|
|
||||||
def ssh_install_apks(args: PmbArgs, user, host, port, paths) -> None:
|
def ssh_install_apks(args: PmbArgs, user, host, port, paths: list) -> None:
|
||||||
"""Copy binary packages via SCP and install them via SSH.
|
"""Copy binary packages via SCP and install them via SSH.
|
||||||
:param user: target device ssh username
|
:param user: target device ssh username
|
||||||
:param host: target device ssh hostname
|
:param host: target device ssh hostname
|
||||||
:param port: target device ssh port
|
:param port: target device ssh port
|
||||||
:param paths: list of absolute paths to locally stored apks
|
:param paths: list of absolute paths to locally stored apks
|
||||||
:type paths: list"""
|
"""
|
||||||
|
|
||||||
remote_paths = []
|
remote_paths = []
|
||||||
for path in paths:
|
for path in paths:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue