mirror of
https://gitlab.com/kupfer/kupferbootstrap.git
synced 2025-02-23 05:35:44 -05:00
Move enforce_wrapper() into appropiate CMDs. This speeds up --help as a side effect!
This commit is contained in:
parent
18c689f897
commit
f3794f939e
11 changed files with 34 additions and 25 deletions
2
boot.py
2
boot.py
|
@ -4,6 +4,7 @@ from image import get_device_and_flavour, get_image_name, dump_bootimg, dump_lk2
|
|||
from fastboot import fastboot_boot, fastboot_erase_dtbo
|
||||
from constants import BOOT_STRATEGIES, FLASH_PARTS, FASTBOOT, JUMPDRIVE, JUMPDRIVE_VERSION
|
||||
import click
|
||||
from wrapper import enforce_wrap
|
||||
|
||||
LK2ND = FLASH_PARTS['LK2ND']
|
||||
BOOTIMG = FLASH_PARTS['BOOTIMG']
|
||||
|
@ -15,6 +16,7 @@ TYPES = [LK2ND, JUMPDRIVE, BOOTIMG]
|
|||
@click.argument('type', required=False, default=BOOTIMG)
|
||||
def cmd_boot(type):
|
||||
f"""Flash one of {', '.join(TYPES)}"""
|
||||
enforce_wrap()
|
||||
device, flavour = get_device_and_flavour()
|
||||
image_name = get_image_name(device, flavour)
|
||||
strategy = BOOT_STRATEGIES[device]
|
||||
|
|
13
cache.py
13
cache.py
|
@ -1,6 +1,9 @@
|
|||
import shutil
|
||||
import click
|
||||
import os
|
||||
from config import config
|
||||
from wrapper import enforce_wrap
|
||||
import logging
|
||||
|
||||
|
||||
@click.group(name='cache')
|
||||
|
@ -8,15 +11,15 @@ def cmd_cache():
|
|||
pass
|
||||
|
||||
|
||||
@click.command(name='clean')
|
||||
@cmd_cache.command(name='clean')
|
||||
def cmd_clean():
|
||||
for dir in ['/chroot', '/var/cache/pacman/pkg', '/var/cache/jumpdrive']:
|
||||
enforce_wrap()
|
||||
for path_name in ['chroots', 'pacman', 'jumpdrive']:
|
||||
dir = config.file['paths'][path_name]
|
||||
for file in os.listdir(dir):
|
||||
path = os.path.join(dir, file)
|
||||
logging.debug('Removing "{path}"')
|
||||
if os.path.isdir(path):
|
||||
shutil.rmtree(path)
|
||||
else:
|
||||
os.unlink(path)
|
||||
|
||||
|
||||
cmd_cache.add_command(cmd_clean)
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
import logging
|
||||
import subprocess
|
||||
import os
|
||||
import shutil
|
||||
from config import config
|
||||
from distro import get_base_distros, RepoInfo
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ CONFIG_RUNTIME_DEFAULTS = {
|
|||
'verbose': False,
|
||||
'config_file': None,
|
||||
'arch': None,
|
||||
'no_wrap': False,
|
||||
}
|
||||
|
||||
|
||||
|
|
2
flash.py
2
flash.py
|
@ -7,6 +7,7 @@ import os
|
|||
import subprocess
|
||||
import click
|
||||
import tempfile
|
||||
from wrapper import enforce_wrap
|
||||
|
||||
BOOTIMG = FLASH_PARTS['BOOTIMG']
|
||||
LK2ND = FLASH_PARTS['LK2ND']
|
||||
|
@ -18,6 +19,7 @@ ROOTFS = FLASH_PARTS['ROOTFS']
|
|||
@click.argument('what')
|
||||
@click.argument('location', required=False)
|
||||
def cmd_flash(what, location):
|
||||
enforce_wrap()
|
||||
device, flavour = get_device_and_flavour()
|
||||
image_name = get_image_name(device, flavour)
|
||||
|
||||
|
|
|
@ -2,10 +2,12 @@ import click
|
|||
import subprocess
|
||||
from logger import logging
|
||||
from ssh import cmd_ssh
|
||||
from wrapper import enforce_wrap
|
||||
|
||||
|
||||
@click.command(name='forwarding')
|
||||
def cmd_forwarding():
|
||||
enforce_wrap()
|
||||
result = subprocess.run([
|
||||
'sysctl',
|
||||
'net.ipv4.ip_forward=1',
|
||||
|
|
11
image.py
11
image.py
|
@ -4,9 +4,10 @@ import subprocess
|
|||
import click
|
||||
from logger import logging
|
||||
from chroot import create_chroot, create_chroot_user, get_chroot_path, run_chroot_cmd
|
||||
from constants import DEVICES, FLAVOURS, REPOSITORIES
|
||||
from constants import DEVICES, FLAVOURS
|
||||
from config import config
|
||||
from distro import get_kupfer_https, get_kupfer_local
|
||||
from wrapper import enforce_wrap
|
||||
|
||||
|
||||
def get_device_and_flavour(profile=None) -> tuple[str, str]:
|
||||
|
@ -102,8 +103,9 @@ def cmd_image():
|
|||
pass
|
||||
|
||||
|
||||
@click.command(name='build')
|
||||
@cmd_image.command(name='build')
|
||||
def cmd_build():
|
||||
enforce_wrap()
|
||||
profile = config.get_profile()
|
||||
device, flavour = get_device_and_flavour()
|
||||
post_cmds = FLAVOURS[flavour].get('post_cmds', [])
|
||||
|
@ -159,7 +161,7 @@ def cmd_build():
|
|||
This doesn't work, because the mount isn't passed through to the real host
|
||||
"""
|
||||
"""
|
||||
@click.command(name='inspect')
|
||||
@cmd_image.command(name='inspect')
|
||||
def cmd_inspect():
|
||||
device, flavour = get_device_and_flavour()
|
||||
image_name = get_image_name(device, flavour)
|
||||
|
@ -171,6 +173,3 @@ def cmd_inspect():
|
|||
|
||||
signal.pause()
|
||||
"""
|
||||
|
||||
cmd_image.add_command(cmd_build)
|
||||
# cmd_image.add_command(cmd_inspect)
|
||||
|
|
6
main.py
6
main.py
|
@ -9,7 +9,7 @@ from telnet import cmd_telnet
|
|||
from logger import logging, setup_logging, verbose_option
|
||||
import click
|
||||
from config import config, config_option, cmd_config
|
||||
from wrapper import enforce_wrap, nowrapper_option
|
||||
from wrapper import nowrapper_option
|
||||
from traceback import format_exc as get_trace
|
||||
|
||||
|
||||
|
@ -20,9 +20,8 @@ from traceback import format_exc as get_trace
|
|||
def cli(verbose: bool = False, config_file: str = None, no_wrapper: bool = False):
|
||||
setup_logging(verbose)
|
||||
config.runtime['verbose'] = verbose
|
||||
config.runtime['no_wrap'] = no_wrapper
|
||||
config.try_load_file(config_file)
|
||||
# TODO: move this only to CMDs where it's needed
|
||||
enforce_wrap(no_wrapper=no_wrapper)
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -32,6 +31,7 @@ def main():
|
|||
logging.fatal(get_trace())
|
||||
exit(1)
|
||||
|
||||
|
||||
cli.add_command(cmd_config)
|
||||
cli.add_command(cmd_cache)
|
||||
cli.add_command(cmd_packages)
|
||||
|
|
17
packages.py
17
packages.py
|
@ -9,7 +9,8 @@ from constants import REPOSITORIES
|
|||
from config import config
|
||||
from chroot import create_chroot
|
||||
from joblib import Parallel, delayed
|
||||
from distro import RepoInfo, get_kupfer_local
|
||||
from distro import get_kupfer_local
|
||||
from wrapper import enforce_wrap
|
||||
|
||||
makepkg_env = os.environ.copy() | {
|
||||
'LANG': 'C',
|
||||
|
@ -496,10 +497,11 @@ def cmd_packages():
|
|||
pass
|
||||
|
||||
|
||||
@click.command(name='build')
|
||||
@cmd_packages.command(name='build')
|
||||
@click.option('--force', is_flag=True, default=False)
|
||||
@click.argument('paths', nargs=-1)
|
||||
def cmd_build(paths: list[str], force=False, arch='aarch64'):
|
||||
enforce_wrap()
|
||||
check_prebuilts()
|
||||
|
||||
paths = list(paths)
|
||||
|
@ -535,8 +537,9 @@ def cmd_build(paths: list[str], force=False, arch='aarch64'):
|
|||
add_package_to_repo(package)
|
||||
|
||||
|
||||
@click.command(name='clean')
|
||||
@cmd_packages.command(name='clean')
|
||||
def cmd_clean():
|
||||
enforce_wrap()
|
||||
result = subprocess.run([
|
||||
'git',
|
||||
'clean',
|
||||
|
@ -547,9 +550,10 @@ def cmd_clean():
|
|||
exit(1)
|
||||
|
||||
|
||||
@click.command(name='check')
|
||||
@cmd_packages.command(name='check')
|
||||
@click.argument('paths', nargs=-1)
|
||||
def cmd_check(paths):
|
||||
enforce_wrap()
|
||||
paths = list(paths)
|
||||
packages = filter_packages_by_paths(discover_packages(), paths)
|
||||
|
||||
|
@ -690,8 +694,3 @@ def cmd_check(paths):
|
|||
line_index += 1
|
||||
|
||||
logging.info(f'{package.path} nicely formatted!')
|
||||
|
||||
|
||||
cmd_packages.add_command(cmd_build)
|
||||
cmd_packages.add_command(cmd_clean)
|
||||
cmd_packages.add_command(cmd_check)
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
import subprocess
|
||||
import click
|
||||
from wrapper import enforce_wrap
|
||||
|
||||
|
||||
@click.command(name='telnet')
|
||||
def cmd_telnet(hostname: str = '172.16.42.1'):
|
||||
enforce_wrap()
|
||||
subprocess.run([
|
||||
'telnet',
|
||||
hostname,
|
||||
|
|
|
@ -103,7 +103,7 @@ def wrap_docker():
|
|||
|
||||
|
||||
def enforce_wrap(no_wrapper=False):
|
||||
if os.getenv('KUPFERBOOTSTRAP_DOCKER') != '1' and not no_wrapper:
|
||||
if os.getenv('KUPFERBOOTSTRAP_DOCKER') != '1' and not config.runtime['no_wrap'] and not no_wrapper:
|
||||
wrap_docker()
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue