pmbootstrap lint: avoid looping and copying files
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
Merge request reports
Activity
added 1 commit
- 36191041 - pmbootstrap lint: avoid looping and copying files
By Johannes Marbach on 2021-08-30T08:22:31
- Resolved by Administrator
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.
Do you have an example of this new output?
By clayton craft on 2021-08-30T15:43:43
Edited by Ghost User
added 12 commits
-
36191041...0b95779e - 11 commits from branch
postmarketOS:master
- ac4c967e - pmbootstrap lint: avoid looping and copying files (MR 2100)
By clayton craft on 2021-09-03T17:52:57
-
36191041...0b95779e - 11 commits from branch
enabled an automatic merge when the pipeline for ac4c967e succeeds
By clayton craft on 2021-09-03T17:53:32