mirror of
https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git
synced 2025-07-14 03:49:48 +03:00
Before this commit, package folders were copied into the chroot one by one in order to run apkbuild-lint on them. This logic is replaced by mounting pmaports.git into the chroot and using a single apkbuild-lint invocation to lint the supplied packages. Both of these changes result in a performance improvement, especially when linting multiple packages at once. Before this change: $ time ./pmbootstrap.py -q lint $(cd ../pmaports/cross; echo *) \ > /dev/null real 0m5,261s user 0m7,046s sys 0m1,842s Using the pmaports.git mount but calling apkbuild-lint in a loop: $ time ./pmbootstrap.py -q lint $(cd ../pmaports/cross; echo *) \ > /dev/null real 0m4,089s user 0m6,418s sys 0m1,219s After this change: $ time ./pmbootstrap.py -q lint $(cd ../pmaports/cross; echo *) \ > /dev/null real 0m3,518s user 0m5,968s sys 0m0,959s Additionally, running apkbuild-lint from the pmaports.git mount point has the benefit that every printed violation contains a nice source identifier à la "./cross/grub-x86/APKBUILD". This makes it possible to differentiate between different packages even though only a single apkbuild-lint invocation is used. Relates: postmarketOS/pmaports#564
9 lines
391 B
Python
9 lines
391 B
Python
# Copyright 2021 Oliver Smith
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
from pmb.build.init import init, init_compiler
|
|
from pmb.build.envkernel import package_kernel
|
|
from pmb.build.menuconfig import menuconfig
|
|
from pmb.build.newapkbuild import newapkbuild
|
|
from pmb.build.other import copy_to_buildpath, is_necessary, \
|
|
index_repo
|
|
from pmb.build._package import mount_pmaports, package
|