docker-makepkg
docker-makepkg copied to clipboard
Packages built in docker-makepkg may hide PKGBUILD dependency issues.
Example: keepmenu-git depends on python-pynput which pulls in python-setuptools. Now keepmenu-git builds successfully with docker-makepkg.
However, if python-pynput is built separately and then keepmenu-git is built in a clean chroot using the Arch devtools like:
$ extra-x86_64-build -- -I ~/python-pynput-1.7.4-1-any.pkg.tar.zst
the build will fail because python-setuptools should be a dependency for this build but it's not required by the PKGBUILD (which was my mistake, pointed out by someone else).
So, if paru builds multiple dependency packages, the previous makedepends packages should be removed before building the final package.
This is a valid issue.
paru supports building things in a chroot and handles all this for us. I actually have this setup on my own desktop, and I do think it should work within docker too.
- Need to configure pacman to use a local filesystem repo.
- Need to configure paru to use such repo.
- Tell paru to build in chroot (it then saves the package into the previously mentioned repo).
- Not extract the package from the repo and export it.
Never mind that last comment: you can't use a chroot inside [unprivileged] docker containers.
Issue remains acknowledged, but a clean fix remains unclear.