Last week I joined the obs-cross “task-force” 😉 and Martin Mohring posted two nice articles about it ([1] [2]).
Today I played with it and got a i586 worker to build for arm.
Here’s a summary what I did:
Installed a cross-obs, as done in Martin’s article
Copied init_basesystem and build from /usr/lib/build/ to /usr/obs/server/build (to have the same changes as for ‘osc build’ for the worker)
search for “my %cando” in bs_dispatch, bs_repserver and bs_worker and change 2 lines to:
'i586' => ['i586', 'armv4l'],
'i686' => ['i586', 'i686', 'armv4l'],
(note: this is just a hack to get it running – our obs-experts are already working on a smarter solution)
update: not needed anymore!: added BUILD_USER=root at line 1201 in file /usr/obs/server/build/build to make dh_testroot happy (HACK!)
update: use this! Edit /usr/lib/obs/server/build/build , uncomment line with “-rfakeroot” and comment out next line. Also replace “-rfakeroot” with “-rfakeroot-tcp”
run sh /usr/sbin/qemu-binfmt-conf.sh
start the worker (on the same machine! – otherwise at least install the mentioned qemu!)
Now the worker gets a job assigned and does the same magic arm-build as shown in Martin’s posts.
An enhancement would be to let the workers advertise their “cando”-archs and assign the jobs according to the info recieved by the workers.
Both comments and pings are currently closed.