You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently binaries compiled for Arch Linux cannot get reproduced using their tooling. repro expects the build process to have taken place in a clean chroot environment.
Digging into extra-x86_64-build, which can be used to run the build process using a single command given PKGBUILD in a working directory with other files required for the build, reveals that makechrootpkg uses a wrapper around systemd-nspawn to prepare and build in the chroot.
I've experimented with build-pkg-arch using only preinstall dependencies to setup $BUILDROOT and let it install all other dependencies into a seperate $ARCH_ROOT which matches the requirements of makechrootpkg (run in build-recipe-arch) as a predefined chroot directory.
I'm not sure however if this is the best approach, as it forces the build process to use nspawn regardless of the build-vm.
I would be great to have some guidance on how this could be achived.
I think it could be done by using the official devtools as "build engine". As an example from the Fedora world, you can use the "mock" tool as build engine (see "build-recipe-mock").
In that case, OBS will prepare a ".build.binaries" directory containing all the arch packages needed for the build and the setup of the build environment is then done by the official build tool.
Currently binaries compiled for Arch Linux cannot get reproduced using their tooling.
repro
expects the build process to have taken place in a clean chroot environment.Digging into
extra-x86_64-build
, which can be used to run the build process using a single command givenPKGBUILD
in a working directory with other files required for the build, reveals thatmakechrootpkg
uses a wrapper around systemd-nspawn to prepare and build in the chroot.I've experimented with
build-pkg-arch
using only preinstall dependencies to setup$BUILDROOT
and let it install all other dependencies into a seperate$ARCH_ROOT
which matches the requirements ofmakechrootpkg
(run inbuild-recipe-arch
) as a predefined chroot directory.I'm not sure however if this is the best approach, as it forces the build process to use nspawn regardless of the
build-vm
.I would be great to have some guidance on how this could be achived.
(See archlinux/archlinux-repro#104)
The text was updated successfully, but these errors were encountered: