Commit Graph
2 Commits
Author SHA1 Message Date
Oliver Smith fca3e7d7ee cross/crossdirect: fix "unsupported relocation"
Crossdirect redirects archivers (gz, bzip2, ...) to their native
versions when cross compiling. This works e.g. when extracting sources or
packing the .apks at the end of the build. But it currently fails when
such an archiver gets called during package().

For example with bootchart2:

  >>> bootchart2: Entering fakeroot...
  ...
  gzip -c bootchart2.1 > /home/pmos/build/pkg/bootchart2/usr/share/man/man1/bootchart2.1.gz
  Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 6
  Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 6
  Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 1
  Error relocating /native/usr/lib/libfakeroot.so: unsupported relocation type 6

Fix this by running the foreign arch version when it gets called in a
fakeroot.

Fixes: 8a7c9ce7 ("cross/crossdirect: run archivers natively too")
Part-of: <https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/7120>
2025-10-01 19:56:10 +02:00
Oliver Smith 8a7c9ce707 cross/crossdirect: run archivers natively too
Run native binaries for extracting / packing various archives if they
are installed in the native chroot when using the crossdirect
compilation method, instead of having them go through QEMU. The
resulting extracted/packed files should always be the same but this is
significantly faster.

Part-of: https://gitlab.postmarketos.org/postmarketOS/pmaports/-/merge_requests/6763
2025-07-13 12:25:58 +02:00