Commit graph

719 commits

Author SHA1 Message Date
InsanePrawn
2c2e4df638 exec/cmd: generate_cmd_{su,elevated}: tolerate flat string as input for cmd instead of list 2022-11-09 19:39:59 +01:00
InsanePrawn
b622a2ab02 exec.file.write_file(): fix situation where file exists but stat fails due to permissions 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
ba13293b93 DockerWrapper.wrap(): run as config.runtime.uid instead of root 2022-11-02 00:38:18 +01:00
InsanePrawn
a13fdc70e1 config: add config.runtime.uid 2022-11-02 00:38:18 +01:00
InsanePrawn
5e4c038ed0 main: add -w to *enforce* wrapping 2022-11-02 00:38:18 +01:00
InsanePrawn
59028afebf typecheck.sh: show error codes 2022-11-02 00:38:18 +01:00
InsanePrawn
3d6aa98c21 packages: circumvent git dubious ownership errors in pkgbuilds.git due to chrootery 2022-11-02 00:38:18 +01:00
InsanePrawn
2a46e9b361 constants: add QEMU_ARCHES 2022-11-02 00:38:18 +01:00
InsanePrawn
1837069981 constants.py: add armv7h support 2022-11-02 00:38:18 +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
31ab4479c8 Merge tag 'v0.1.4' into prawn/flavours 2022-11-02 00:34:27 +01:00
InsanePrawn
786265fe75 .gitlab-ci.yml: docs: use pip with docs/requirements.txt to install dependencies 2022-10-18 02:58:35 +02:00
InsanePrawn
8eef0af650 requirements.txt: relax version pins 2022-10-18 02:50:43 +02:00
InsanePrawn
6ed80985a2 Merge branch 'dev' into prawn/flavours 2022-10-13 19:27:14 +02:00
InsanePrawn
e2e1ba1459 docs: switch to copper-ish accent colours 2022-10-13 18:16:54 +02:00
InsanePrawn
2b539f5a5b Merge branch 'dev' into prawn/flavours 2022-08-25 16:53:13 +02:00
InsanePrawn
c4e96af44f config: change pacman.check_space default to False as it causes problems even on ext4 2022-08-25 16:44:45 +02:00
InsanePrawn
2db8a0a0cb packages: cleanup unnecessary bits 2022-08-25 13:52:35 +02:00
InsanePrawn
f940fd2301 test_config: remove double import of Profile 2022-08-23 21:43:18 +02:00
InsanePrawn
3952892029 generator.generate_pacman_conf_body(): add in_chroot=False param to use config.get_path('pacman') if necessary 2022-08-23 21:41:41 +02:00
InsanePrawn
5a794ba3dd packages: get_makepkg_env(): actually return env... 2022-08-23 17:38:58 +02:00
InsanePrawn
97d3f05968 gitlab-ci: generate test coverage 2022-08-20 05:59:31 +02:00
InsanePrawn
70c4799385 pytest.sh: generate junit xml 2022-08-20 05:32:52 +02:00
InsanePrawn
c53acbf2f4 .gitlab-ci: run python unit tests as user with passwordless sudo 2022-08-20 05:25:49 +02:00
InsanePrawn
39be2b2fb6 packages/test_device: add test for initialise_pkgbuilds_dir fixture 2022-08-20 04:51:25 +02:00
InsanePrawn
f5e3fa46ad packages/ and image.py: less wrapping, remove hardcoded 'aarch64' where possible 2022-08-20 04:32:33 +02:00
InsanePrawn
657a5fe227 wrapper: add wrap_if_foreign_arch() 2022-08-20 04:32:33 +02:00
InsanePrawn
5b218e64c8 ssh.py: use check_programs_wrap() for ssh and scp binaries 2022-08-20 04:32:33 +02:00
InsanePrawn
27e7fe9a10 utils.programs_available(): add cache 2022-08-20 04:32:33 +02:00
InsanePrawn
8a7f78261f packages: add device.py and initial tests 2022-08-20 04:32:33 +02:00
InsanePrawn
2d13d82943 config/: rework code around parsing profiles, add scheme.SparseProfile to account for the partial profiles in config 2022-08-20 04:32:33 +02:00
InsanePrawn
688f9e2375 config.ConfigStateHolder: initialize self._profile_cache in constructor 2022-08-19 18:12:21 +02:00
InsanePrawn
1c6689f710 packages.cmd_sideload(): fix string escape '\*' -> '\\*' 2022-08-19 17:18:18 +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
5baaaaa180 packages.discover_packages(): clean up caching 2022-08-19 16:55:53 +02:00
InsanePrawn
7d9f1b9ed8 pkgbuild.parse_pkgbuild() make config parameter optional 2022-08-19 16:55:17 +02:00
InsanePrawn
aaef4b7699 config/scheme: type annotate ConfigLoadState class 2022-08-18 05:47:05 +02:00
InsanePrawn
91b44299ae config/scheme.py: fix detection of extra profiles as 'unknown keys' and add unit test using pickle 2022-08-18 05:39:51 +02:00
InsanePrawn
30d9be0950 config: more fixes for scheme.py 2022-08-18 05:39:51 +02:00
InsanePrawn
7eefafc386 config: split up into state.py and profile.py, fixup tests 2022-08-18 03:45:12 +02:00
InsanePrawn
16fd2f1590 config: add data schemas based on munch in scheme.py, add unit tests 2022-08-18 02:44:54 +02:00
InsanePrawn
4298d15178 config/test_config.py: add test for saving modifications 2022-08-18 02:20:17 +02:00
InsanePrawn
5e9b0448dc config: improve tests 2022-08-17 23:24:41 +02:00
InsanePrawn
924f125893 config: add rudimentary tests 2022-08-17 21:20:51 +02:00
InsanePrawn
7ca0e80682 config: make filepath the first argument for ConfigStateHolder 2022-08-17 21:17:23 +02:00
InsanePrawn
7f86c80cec create submodule for config (move config.py) 2022-08-17 20:10:20 +02:00
InsanePrawn
36b321aa2d config.prompt_config(): fix changed detection for lists due to conversion to comma-separated strings 2022-08-17 01:10:06 +02:00
InsanePrawn
e17a69ed81 add shellscript for running pytest, shellcheck *.sh 2022-08-17 00:50:20 +02:00