docker-makepkg icon indicating copy to clipboard operation
docker-makepkg copied to clipboard

Packages built in docker-makepkg may hide PKGBUILD dependency issues.

Open firecat53 opened this issue 4 years ago • 2 comments

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.

firecat53 avatar Oct 23 '21 03:10 firecat53

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.

  1. Need to configure pacman to use a local filesystem repo.
  2. Need to configure paru to use such repo.
  3. Tell paru to build in chroot (it then saves the package into the previously mentioned repo).
  4. Not extract the package from the repo and export it.

WhyNotHugo avatar Oct 23 '21 10:10 WhyNotHugo

Never mind that last comment: you can't use a chroot inside [unprivileged] docker containers.

Issue remains acknowledged, but a clean fix remains unclear.

WhyNotHugo avatar Jun 15 '22 16:06 WhyNotHugo