Commit Graph

17 Commits

Author SHA1 Message Date
Martchus c8813289e6 Move basic devel container setup into separate script for easier use 2024-02-25 18:19:14 +01:00
Martchus d8d4e8ca94 Make `containersync` script usable again when it already runs as root 2024-02-25 18:19:14 +01:00
Martchus e8dfb41e32 Ensure the devel container can be built if archlinux-keyring needs an update 2024-02-25 18:19:13 +01:00
Martchus 719f39092c Make recent `makecontainerpkg` changes work with Docker 2023-11-10 14:11:54 +01:00
Martchus b7fb618581 Improve user mapping in `makecontainerpkg`
* Use `--userns` to become `builduser` right away instead of using `sudo`
  to become `builduser`
* Add `builduser` to `sudoers` so it can become root to synchronize
  packages
* Ensure this way that files created within the container have the
  user/group of the user starting the container so build artifacts have the
  right ownership
2023-11-08 17:45:14 +01:00
Martchus f697ed8e63 Allow making tool to invoke via `makecontainerpkg` overridable
This is useful to invoke `updpkgsums` or `repo-add` within the container as
well. These tools also seem to need the additional logic to use a dedicated
build user so it makes sense to make this part of `makecontainerpkg`.
2023-11-08 16:44:58 +01:00
Martchus 4ac912f092 Allow using `--printsrcinfo` via `makecontainerpkg` 2023-11-08 15:06:40 +01:00
Martchus 3dd00d1e2c Fix pulling of base image in imagebuild 2023-03-25 21:04:58 +01:00
Martchus 2b217f7607 Ensure imagebuild actually creates an updated image 2023-02-24 22:46:14 +01:00
Martchus f1905cf048 Add common args for `makecontainerpkg` from environment 2023-02-19 15:51:45 +01:00
Martchus 3c78fa5fa7 Improve `makecontainerpkg`
* Parse `pkgname` from `PKGBUILD` via sourcing to cope with variables
* Allow overriding the container name to be able to re-use an existing
  container
* Be verbose when installing packages during the image creation
2023-02-16 18:59:05 +01:00
Martchus 38818e508a Improve investigation of containerized builds
The current approach was not actually working as the container was not
start with in interactive bash shell (or any kind of process that would
just keep it running once started).
2023-02-03 22:49:19 +01:00
Martchus abec85f5d2 Add instructions on how to use the packaging under other distros using podman
These instructions are still pretty raw. Creating helper scripts to make
the use easier would make sense at some point.
2023-01-22 18:05:44 +01:00
Martchus 8a695d628b Don't remove the container when `DEBUG` variable is set
* And get rid of the `sleep infinity` hack instead; one can simply start
  the container again
* Document the workflow for instigating build failures
2023-01-22 16:56:46 +01:00
Martchus ddfff37556 Improve `makecontainerpkg`
* Test with `podman` and add according instructions
* Allow use of a custom `pacman.config`/`makepkg.config` by mounting them
  into a special directory within the container
2023-01-21 18:44:16 +01:00
Martchus 513103840d Improve `makecontainerpkg`
* Add my GPG key to the pacman keyring (not nice to hard-code it in the
  Dockerfile but good enough for now)
* Install ccache into the base image to support makepkg's ccache option
* Split syncing packages and execution of `makepkg` so syncing can be
  avoided when only building source package
* Don't quote `CRE`, it is unlikely spaces are needed here and using
  chained commands (e.g. `sudo …`) might be useful
* Add documentation
2022-06-12 21:00:20 +02:00
Martchus 97dc991438 Add `makecontainerpkg`
* Allow building Arch Linux packages within a "standard" container similar
  to how `makechrootpkg` allows building packages within a systemd-nspawn
  container
* Add a Dockerfile to create an Arch Linux image suitable for package
  builds via `makepkg`
2022-06-11 17:06:54 +02:00