Commit graph

558 commits

Author SHA1 Message Date
InsanePrawn
81f88dd636 packages: clean up check_package_built() and use RemotePackage.acquire() in try_download_package() 2022-11-09 20:11:20 +01:00
InsanePrawn
a9edbfd07d exec/file: document symlink() and check return code 2022-11-09 20:11:19 +01:00
InsanePrawn
4154b2dfe3 distro.package: add Package.acquire() 2022-11-09 20:11:19 +01:00
InsanePrawn
a2c8868d61 packages/build: add_file_to_repo(): add remove_original=True parameter, clean up add_package_to_repo() 2022-11-09 20:11:19 +01:00
InsanePrawn
57fec8fd91 packages/build: split out init_local_repo() from init_prebuilts(), use in add_file_to_repo() 2022-11-09 20:11:19 +01:00
InsanePrawn
bf420a73be distro: refactor BinaryPackage, Repo and Distro into generics for Local and Remote 2022-11-09 20:11:19 +01:00
InsanePrawn
dbe3dc91a3 distro/package: refactor class PackageInfo into class BinaryPackage(PackageInfo) 2022-11-09 19:39:59 +01:00
InsanePrawn
daa7b68738 packages: split up __init__.py into build.py and cli.py 2022-11-09 19:39:59 +01:00
InsanePrawn
c16147ef0c distro.package.parse_desc(): rename resolved_url param to resolved_repo_url for clarity 2022-11-09 19:39:59 +01:00
InsanePrawn
072ce8e4f0 wrapper/docker: create volume dirs ourselfes for better permissions and podman compat 2022-11-09 19:39:59 +01:00
InsanePrawn
69036d008b wrapper/docker: fix indentation (only version needs to be pulled from with open():) 2022-11-09 19:39:59 +01:00
InsanePrawn
040e409620 dataclass.resolve_type_hint(): add conversion from str to [int,float] if str not in types 2022-11-09 19:39:59 +01:00
InsanePrawn
2cd41e75ca config/scheme: move DataClass to dataclass.py 2022-11-09 19:39:59 +01:00
InsanePrawn
76b5b26157 config: DataClass.transform(): add allow_extra=False parameter 2022-11-09 19:39:59 +01:00
InsanePrawn
d7f61f6475 packages: move filter_packages() to pkgbuild, rename to filter_pkgbuilds() 2022-11-09 19:39:59 +01:00
InsanePrawn
003cb7979e constants.py: remove DEVICES array, now comes from pkgbuilds.git 2022-11-09 19:39:59 +01:00
InsanePrawn
5a565662eb image.py: use Device instead of the device name from config 2022-11-09 19:39:59 +01:00
InsanePrawn
606a7a9af3 exec: makedir() accept Union[str, int] for user and group 2022-11-09 19:39:59 +01:00
InsanePrawn
6cce302dcc chroot: add chroot.get_uid(user: str), use in chroot.mount_{ccache,rust} to apply correct ownership 2022-11-09 19:39:59 +01:00
InsanePrawn
035e197f64 wrapper: add WRAPPER_PATHS to point ccache and rust to predictable locations 2022-11-09 19:39:59 +01:00
InsanePrawn
94c9a99e2f requirements.txt: add setuptools required by munch 2022-11-09 19:39:59 +01:00
InsanePrawn
e6718ffc99 Dockerfile: clean up pkgconfig-aarch64 leftover 2022-11-09 19:39:59 +01:00
InsanePrawn
a3ec35bcd6 config: introduce rust cache 2022-11-09 19:39:59 +01:00
InsanePrawn
47e74fb415 config: introduce per-arch persisted ccache dir 2022-11-09 19:39:59 +01:00
InsanePrawn
c0fd1f51b5 chroot: add chroot.mount_chroots() to mount /chroot and use in cmd_chroot() 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
5cb747aa26 packages and image: wrap more upfront on missing binaries 2022-11-09 19:39:59 +01:00
InsanePrawn
cdc803031e packages.filter_packages(): only filter by arch if arch is not None 2022-11-09 19:39:59 +01:00
InsanePrawn
54c525c8d9 wrapper_su_helper.py: use su -P to allocate a pseudo-TTY 2022-11-09 19:39:59 +01:00
InsanePrawn
8fc33c85cf packages.cmd_sideload(): fix escape of --overwrite=* 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
b6239a45ce chroot.create_user(): add primary_group parameter 2022-11-09 19:39:59 +01:00
InsanePrawn
a778f0786e packages.check_package_version_built(): use Pkgbuild.get_filename() instead of running makepkg --packagelist 2022-11-09 19:39:59 +01:00
InsanePrawn
f2ccf06c5b pkgbuild: add get_filename(arch) 2022-11-09 19:39:59 +01:00
InsanePrawn
fb4a12c464 packages.filter_packages(): optionally check package arch 2022-11-09 19:39:59 +01:00
InsanePrawn
bb14c4d779 packages: use user 'kupfer' in chroots for building 2022-11-09 19:39:59 +01:00
InsanePrawn
1cac36b73a chroot: add chroot.add_sudo_config() 2022-11-09 19:39:59 +01:00
InsanePrawn
5329f7a5b0 chroot.create_user(): add optional uid and non_unique parameter 2022-11-09 19:39:59 +01:00
InsanePrawn
17669ea8d2 chroot.run_cmd(): add switch_user parameter 2022-11-09 19:39:59 +01:00
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