commands: move index command to pmb/commands (MR 2252)

Use the new command runner for pmbootstrap index.

Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This commit is contained in:
Caleb Connolly 2024-06-08 00:04:23 +02:00 committed by Oliver Smith
parent d4070c0e9e
commit 852ace63c4
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
5 changed files with 21 additions and 9 deletions

View file

@ -217,4 +217,4 @@ def package_kernel(args: PmbArgs):
except Exception as e: except Exception as e:
pmb.helpers.mount.umount_all(Chroot.native() / "mnt/linux") pmb.helpers.mount.umount_all(Chroot.native() / "mnt/linux")
raise e raise e
pmb.build.other.index_repo(args, arch) pmb.build.other.index_repo(arch)

View file

@ -93,7 +93,7 @@ def is_necessary(arch, apkbuild, indexes=None):
return False return False
def index_repo(args: PmbArgs, arch=None): def index_repo(arch=None):
"""Recreate the APKINDEX.tar.gz for a specific repo, and clear the parsing """Recreate the APKINDEX.tar.gz for a specific repo, and clear the parsing
cache for that file for the current pmbootstrap session (to prevent cache for that file for the current pmbootstrap session (to prevent
rebuilding packages twice, in case the rebuild takes less than a second). rebuilding packages twice, in case the rebuild takes less than a second).

View file

@ -5,12 +5,12 @@ from __future__ import annotations
import enum import enum
from typing import Generator, Optional from typing import Generator, Optional
from pathlib import Path, PosixPath, PurePosixPath from pathlib import Path, PosixPath, PurePosixPath
import pmb.config
from pmb.types import PmbArgs from pmb.types import PmbArgs
from pmb.helpers import frontend from pmb.helpers import frontend
from .base import Command from .base import Command
from .log import Log from .log import Log
from .index import Index
"""New way to model pmbootstrap subcommands that can be invoked without PmbArgs.""" """New way to model pmbootstrap subcommands that can be invoked without PmbArgs."""
@ -18,7 +18,6 @@ from .log import Log
unmigrated_commands = [ unmigrated_commands = [
"init", "init",
"shutdown", "shutdown",
"index",
"work_migrate", "work_migrate",
"repo_bootstrap", "repo_bootstrap",
"repo_missing", "repo_missing",
@ -59,9 +58,12 @@ def run_command(args: PmbArgs):
return return
command: Command command: Command
# FIXME: would be nice to use match case... # Would be nice to use match case but we support Python 3.8
if args.action == "log": if args.action == "log":
command = Log(args.clear_log, int(args.lines)) command = Log(args.clear_log, int(args.lines))
elif args.action == "index":
# FIXME: should index support --arch?
command = Index()
else: else:
raise NotImplementedError(f"Command '{args.action}' is not implemented.") raise NotImplementedError(f"Command '{args.action}' is not implemented.")

14
pmb/commands/index.py Normal file
View file

@ -0,0 +1,14 @@
# Copyright 2024 Caleb Connolly
# SPDX-License-Identifier: GPL-3.0-or-later
from __future__ import annotations
from pmb import commands
import pmb.build.other
class Index(commands.Command):
def __init__(self):
pass
def run(self):
pmb.build.other.index_repo()

View file

@ -251,10 +251,6 @@ def repo_missing(args: PmbArgs):
print(json.dumps(missing, indent=4)) print(json.dumps(missing, indent=4))
def index(args: PmbArgs):
pmb.build.index_repo(args)
def initfs(args: PmbArgs): def initfs(args: PmbArgs):
pmb.chroot.initfs.frontend(args) pmb.chroot.initfs.frontend(args)