libremakepkg failing on i686 with Operation not permitted on '/tmp/*/db/sync/*.db
I can't reproduce anymore because of some other bug but Megver83 pastebined the log on IRC which I added below.
==> Starting to build the package... | ==> Cleaning chroot... | cp: preserving times for '/tmp/chcleanup.UN9SLawrs1/db/sync/libre.db': Operation not permitted | cp: preserving times for '/tmp/chcleanup.UN9SLawrs1/db/sync/core.db': Operation not permitted | cp: preserving times for '/tmp/chcleanup.UN9SLawrs1/db/sync/extra.db': Operation not permitted | cp: preserving times for '/tmp/chcleanup.UN9SLawrs1/db/sync/community.db': Operation not permitted | cp: preserving times for '/tmp/chcleanup.UN9SLawrs1/db/sync/pcr.db': Operation not permitted | cp: preserving times for '/tmp/chcleanup.UN9SLawrs1/db/sync/repo.db': Operation not permitted | cp: preserving times for '/tmp/chcleanup.UN9SLawrs1/db/sync': Operation not permitted ==> ERROR: Failure(s) in pre_build: clean_chroot ==> Copying log and package files out of the chroot...I did some tests:
- If the host (your laptop, an kvm vm etc) runs parabola i686, you could produce a chroot that works fine with the usual commands (libremakepkg -A i686 -n parabola-i686) and build packages this way.
If the host runs an i686 rootfs,
This issue happened in beefcake, but I didn't know it was due to systemd-nspawn (I use OpenRC). Just installed the [nonsystemd] version, which uses chroot-nspawn, and it worked (I did 'pacman -U https://www.parabola.nu/packages/nonsystemd/x86_64/libretools/download/`)
Updated by bill-auger 4 months ago
- Status changed from unconfirmed to confirmed
- Project changed from Packages to libretools
there is a similar problem on beefcake that is not peculiar to i686 - building a package, or any chroot operation, in an x86_64 chroot leaves /tmp re-mounted read-only, making any further operations fail - after rebooting, /tmp will be writable, but only until some librechroot or libremakepkg operation completes, then it will be read-only, again - whatever is happening, is actually before libremakepkg completes fully; because the final clean-up step fails, while trying to clean-up /tmp