Commit graph

50 commits

Author SHA1 Message Date
InsanePrawn
08285a7931 packages/pkgbuild: fix null deref in __repr__() 2023-04-24 17:15:51 +02:00
InsanePrawn
b84d2202db python 3.9 compat: introduce typehelpers.py for NoneType, UnionType, TypeAlias 2023-04-17 02:37:10 +02:00
InsanePrawn
ff1c31e157 TEMP: WIP: add repo_config
TEMP cause it spams a bunch of prints in dataclass handling
2023-03-27 09:18:57 +02:00
InsanePrawn
00613096d5 config/state: add config.runtime.colors, fill in main.py 2023-03-17 16:34:20 +01:00
InsanePrawn
cec828553d packages/pkgbuild: track whether pkg is built on a per-architecture basis 2022-12-11 03:02:00 +01:00
InsanePrawn
9e81fbf345 packages/pkgbuild: split out get_pkgbuild_dirs() from discover_pkgbuilds() 2022-12-09 03:47:14 +01:00
InsanePrawn
185894842f packages: clone_pkgbuilds() and friends: add discard_changes arg, use in integration_tests 2022-11-09 20:19:04 +01:00
InsanePrawn
ec323ce8d7 packages: make _mode in PKGBUILD optional for building (but not for cmd_check), warn if missing 2022-11-09 20:19:04 +01:00
InsanePrawn
a0c2061c8b pkgbuild.py: track makedepends both in depends and separate variable for _nodeps=true usage 2022-11-09 20:19:04 +01:00
InsanePrawn
dc2d826362 packages: clean up cmd_init 2022-11-09 20:19:04 +01:00
InsanePrawn
33f4a81981 config: move code from __init__.py into cli.py 2022-11-09 20:19:04 +01:00
InsanePrawn
b2112026d2 packages/build: skip packages that were already built this run (e.g. split packages) 2022-11-09 20:19:04 +01:00
InsanePrawn
e91a8c796c packages/pkgbuild: parse version specs from dependencies, provides, etc.
handles e.g. "git>=1.0" properly
2022-11-09 20:19:04 +01:00
InsanePrawn
9ae721d888 packages/pkgbuild: filter_pkgbuilds(): fix up to_match tracking 2022-11-09 20:19:04 +01:00
InsanePrawn
c12b702383 packages: fix up cmd_update(), {init,clone}_pkgbuilds() 2022-11-09 20:19:04 +01:00
InsanePrawn
daff20302a utils: create git_get_branch() from packages.cli 2022-11-09 20:19:04 +01:00
InsanePrawn
f395ef231b packages: clone_pkgbuilds(): use git remote update before git switch 2022-11-09 20:19:04 +01:00
InsanePrawn
6b4bb27609 packages/pkgbuild: discover_pkgbuilds(): check for makepkg or wrap 2022-11-09 20:19:04 +01:00
InsanePrawn
8b504142de packages: filter_pkgbuilds(): track which queries were matched and error on incompletely satisified queries 2022-11-09 20:19:04 +01:00
InsanePrawn
6ddab50e21 packages/pkgbuild: parse _nodeps and cache in srcinfo_cache 2022-11-09 20:19:04 +01:00
InsanePrawn
34ffbfb0bf pkgbuild: clone_pkgbuilds(): fix typos 2022-11-09 20:19:04 +01:00
InsanePrawn
16b2f1a3c2 packages: Pkgbase.update(): fixups 2022-11-09 20:19:04 +01:00
InsanePrawn
0983d3466d packages.pkgbuild: add Pkgbuild.srcinfo_cache 2022-11-09 20:19:04 +01:00
InsanePrawn
686a62685e packages: parse_pkgbuild(): banish SRCINFO caching into new file srcinfo_cache.py 2022-11-09 20:19:04 +01:00
InsanePrawn
2f8d53648e packages: discover_pkgbuilds: caching fixes and cleanups 2022-11-09 20:19:04 +01:00
InsanePrawn
73dc5a287a packages: discover_pkgbuilds: use threading as backend for Parallel instead of loky for speed
benchmark: `time kupferbootstrap -vW packages list`

uncached srcinfos:
- threading: ~83s
- multiprocessing: ~86s
- loky: ~144s (~2x)

cached srcinfos:
- threading: ~0.6s
- multiprocessing: ~0.8s
- loky: ~50s (~100x)
2022-11-09 20:19:04 +01:00
InsanePrawn
3b8242be19 packages: parse_pkgbuilds: cache makepkg --printsrcinfo output to SRCINFO, tie to PKGBUILD checksum in srcinfo_meta.json 2022-11-09 20:19:04 +01:00
InsanePrawn
ddc92012b8 packages: discover_pkgbuilds(): introduce ability for partial scanning by limiting repositories 2022-11-09 20:19:04 +01:00
InsanePrawn
d3cdd64aea packages: improve ux around cli and filter_pkgbuilds() to indicate that the query was empty or wrong 2022-11-09 20:19:04 +01:00
InsanePrawn
bca1e29648 packages/pkgbuild: add pkgdesc description parsing 2022-11-09 20:19:04 +01:00
InsanePrawn
1fd84bb9c2 packages/pkgbuild: add get_pkgbuild_by_name(name, lazy=True) for easy cache access 2022-11-09 20:19:04 +01:00
InsanePrawn
e4320578ef packages: init_pkgbuilds(): add lazy param and behaviour 2022-11-09 20:19:04 +01:00
InsanePrawn
98140565ef packages: parse_pkgbuild(): handle split packages properly 2022-11-09 20:19:04 +01:00
InsanePrawn
d7f61f6475 packages: move filter_packages() to pkgbuild, rename to filter_pkgbuilds() 2022-11-09 19:39:59 +01:00
InsanePrawn
d3e2224b02 pkgbuild.discover_pkgbuilds(): warn and skip directories that don't contain a PKGBUILD 2022-11-09 19:39:59 +01:00
InsanePrawn
32f5fe643f packages: respect package arches before and during building 2022-11-09 19:39:59 +01:00
InsanePrawn
f2ccf06c5b pkgbuild: add get_filename(arch) 2022-11-09 19:39:59 +01:00
InsanePrawn
8ad18c00a6 global: refactor to use config.{file,runtime}.$member instead of config.file["$member"] 2022-11-09 19:39:59 +01:00
InsanePrawn
d03cb39358 Pkgbuild: add refresh_sources() 2022-11-02 00:38:18 +01:00
InsanePrawn
558993b89e packages/pkgbuild: cache parsed pkgbuilds by path, add get_pkgbuild_by_path(), Pkgbuild.update(pkgb) 2022-11-02 00:38:18 +01:00
InsanePrawn
f5e3fa46ad packages/ and image.py: less wrapping, remove hardcoded 'aarch64' where possible 2022-08-20 04:32:33 +02:00
InsanePrawn
e001d107c2 move packages.{clone_pkbuilds(),discover_packages(),init_pkgbuilds()} to packages.pkgbuild
also rename discover_packages() to discover_pkgbuilds()
2022-08-19 17:13:03 +02:00
InsanePrawn
7d9f1b9ed8 pkgbuild.parse_pkgbuild() make config parameter optional 2022-08-19 16:55:17 +02:00
InsanePrawn
dbf65b44df parse_pkgbuild(): update basepkg version before copying to subpkgs 2022-08-16 02:35:40 +02:00
InsanePrawn
879fd113f0 exec: migrate exec.py to exec/cmd.py 2022-08-15 17:48:42 +02:00
InsanePrawn
c562271006 image.py: use exec.run_root_cmd() 2022-08-15 17:48:42 +02:00
InsanePrawn
7fcd68ced9 packages.discover_packages(): don't use chroot for running makepkg --printsrcinfo, pass config, cache results 2022-08-15 06:17:26 +02:00
InsanePrawn
d70805f3a6 pkgbuild.py: add pkgbuild.arches parsing, add SubPkgbuild class 2022-08-14 04:14:47 +02:00
InsanePrawn
6a7a0d6d17 pkgbuild.py: fix subpackages being swallowed 2022-08-08 23:52:55 +02:00
InsanePrawn
08d7ce8862 move Pkgbuild class to packages/ 2022-02-20 20:21:05 +01:00
Renamed from distro/pkgbuild.py (Browse further)