Commit graph

529 commits

Author SHA1 Message Date
InsanePrawn
6b4bb27609 packages/pkgbuild: discover_pkgbuilds(): check for makepkg or wrap 2022-11-09 20:19:04 +01:00
InsanePrawn
f016eccc6e image.py: bring back enforce_wrap() 2022-11-09 20:19:04 +01:00
InsanePrawn
99cc0c9845 packages/flavour: add support for optional description in flavourinfo.json 2022-11-09 20:19:04 +01:00
InsanePrawn
f8af06959c cache.py: fix docs, call packages.cmd_clean() for /pkgbuilds 2022-11-09 20:19:04 +01:00
InsanePrawn
5580c48b08 image.cmd_build(): use correct strictness for filter_pkgbuilds() for local vs extra packages 2022-11-09 20:19:04 +01:00
InsanePrawn
c1afc5bb27 constants: split up BASE_PACKAGES into kupfer-specific and base-distro packages 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
103c18a171 packages/build: build_package(): respect Pkgbuild.nodeps 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
cac150d11b packages/cli: cmd_check(): reindent and add _nodeps= key 2022-11-09 20:19:04 +01:00
InsanePrawn
939683f079 packages/cli: add packages init as an alias to packages update 2022-11-09 20:19:04 +01:00
InsanePrawn
18eba2dffd constants.py: get rid of now unused FLAVOURS 2022-11-09 20:19:04 +01:00
InsanePrawn
707efe6bbd image: use Flavour.parse_flavourinfo() for rootfs_size 2022-11-09 20:19:04 +01:00
InsanePrawn
eebca29c55 packages/flavour: implement flavourinfo.json parsing 2022-11-09 20:19:04 +01:00
InsanePrawn
3c91abd175 image.py: use new constants.POST_CMDS for post-cmd instead of per-flavour cmd 2022-11-09 20:19:04 +01:00
InsanePrawn
b3e2059196 packages/cli: add help str for cmd_list 2022-11-09 20:19:04 +01:00
InsanePrawn
6b613287bf packages.srcinfo_cache: make dumped json more human-readable with indent=2 2022-11-09 20:19:04 +01:00
InsanePrawn
eb63a6869a binfmt: fix up unnecessary shell and missing quoting at once 2022-11-09 20:19:04 +01:00
InsanePrawn
02e1b75a79 image.py: migrate to packages.flavour.get_profile_flavour() for the flavour name 2022-11-09 20:19:04 +01:00
InsanePrawn
4d86962862 packages: check_package_version_built(): clean up logging a bit 2022-11-09 20:19:04 +01:00
InsanePrawn
7ab4904cbc main.py: always print at least the beginning and end of the stack trace 2022-11-09 20:19:04 +01:00
InsanePrawn
42d7a701fb flash.py,boot.py: use packages.flavours.get_profile_flavour(), add --profile option 2022-11-09 20:19:04 +01:00
InsanePrawn
c0b3b15260 packages: cmd_list_{devices,flavours}(): error on empty results 2022-11-09 20:19:04 +01:00
InsanePrawn
34ffbfb0bf pkgbuild: clone_pkgbuilds(): fix typos 2022-11-09 20:19:04 +01:00
InsanePrawn
ba5cda7cfa config: prompt_profile(): handle uninitialised PKGBUILDs gracefully and warn user 2022-11-09 20:19:04 +01:00
InsanePrawn
72d9bf3a37 config: cmd_profile_init(): make profile name optional, default to config.file.profiles.current 2022-11-09 20:19:04 +01:00
InsanePrawn
771199d932 packages.setup_sources(): log when package version changes after refreshing 2022-11-09 20:19:04 +01:00
InsanePrawn
f705e39ca1 chroot.mount_{ccache,rust}: use config.get_path() to resolve %cache_dir% 2022-11-09 20:19:04 +01:00
InsanePrawn
2757490a8f packages: check_package_version_built(): don't refresh sources by default, default to doing it in get_unbuilt_package_levels() though 2022-11-09 20:19:04 +01:00
InsanePrawn
851b4e7477 packages: build_package(): improve logging so the user has a chance to know what's going on. 2022-11-09 20:19:04 +01:00
InsanePrawn
49f452342e packages: setup_sources(): we need to use a chroot or else the paths in pkgbuilds/$pkg/src/ will be hosed up 2022-11-09 20:19:04 +01:00
InsanePrawn
97ae046f1e packages/build: setup_sources(): remove chroot, add srcinfo cache, use in check_package_built() 2022-11-09 20:19:04 +01:00
InsanePrawn
16b2f1a3c2 packages: Pkgbase.update(): fixups 2022-11-09 20:19:04 +01:00
InsanePrawn
e691afd328 packages/srcinfo_cache: add src_initialized=sha256sum(PKGBUILD) 2022-11-09 20:19:04 +01:00
InsanePrawn
0fdb6f891b dataclass: handle non-DataClass Munches properly 2022-11-09 20:19:04 +01:00
InsanePrawn
b709fd73b9 packages/srcinfo_cache: track whether cache was correct or state had been changed 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
3ea7e98a48 pytest: move coverage flags from .gitlab-ci.yml to pytest.sh, add test_requirements.txt for pip 2022-11-09 20:19:04 +01:00
InsanePrawn
5c8f0acfcd exec: run_cmd() include cwd in debug log 2022-11-09 20:19:04 +01:00
InsanePrawn
f535344351 utils.git(): default cwd to None instead of "." 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
b31160146b utils.py: add sha256sum(filepath) 2022-11-09 20:19:04 +01:00
InsanePrawn
f77aa4f2a2 config: add listings of devices and flavours to config profile init aka prompt_profile() and --no-parse flag
This is slow-ish without SRCINFO caching
2022-11-09 20:19:04 +01:00
InsanePrawn
7b7caf3f37 dataclass: DataClass.tranform(): handle Optional dict/Munch items 2022-11-09 20:19:04 +01:00
InsanePrawn
adcdf38c14 packages: add flavour.py: initial implementation for Flavour scanning 2022-11-09 20:19:04 +01:00
InsanePrawn
6f9a013c2e packages: add cmd_devices_list() 2022-11-09 20:19:04 +01:00
InsanePrawn
75c832cbfb packages: get_devices(): use lazy scanning, scan only device repository 2022-11-09 20:19:04 +01:00