Mailinglist Archive: opensuse-buildservice (214 mails)

< Previous Next >
Re: [opensuse-buildservice] Cross compilation dependency handling
  • From: Adrian Schröter <adrian@xxxxxxx>
  • Date: Thu, 16 Feb 2012 11:01:15 +0100
  • Message-id: <2057060.SZi6EjYlgN@scherben>
Am Donnerstag, 16. Februar 2012, 10:43:01 schrieb Carsten Munk:

One of the discussion points about my SB2-OBS patch is that we ought
to work towards a common strategy for denoting these special kind of
dependencies in prjconf instead of using "SB2install" "CBinstall" etc.

Daniel Gollub suggested that we work with N amount of 'sysroots' and N
rpm databases and I tend to agree. Right now in SB2 I distinguish
between host (/) and target /target, but it might be more flexible to
do with N targets instead.

The question is of course, can we effectively work with multiple
dependency trees (maybe even across schedulers?) within the current
code and how do we do it best?

Adrian suggested something like Preinstall($hostarch) to indicate that
this needs to be preinstalled on host architecture.

Thinking again about it, specify an arch here makes not much sense.

Better something like this in spec files:

BuildRequire(host): gcc
BuildRequire(target): libqt4-devel

Since this is not supported by rpm yet, we would need to have something like

#!BuildRequire(host): gcc
#!BuildRequire(target): libqt4-devel

So when a

BuildRequire: gcc

appears later in the spec file (for plain rpm non-cross building), OBS can see
that it has it already, but it knows already for which architecture it needs

The prjconf Preinstall, Support and Require lines could also support the
(host) and (target) extensions.

My suggestion
would be perhaps to indicate through configuration where to put
things, for example, Roots: host=/ armv7l=/opt/cross/armv7l, etc, so
we can do dynamic labeling and telling what location on the build
filesystem things should go in.

Yes, similar to Hostarch: directive, we could add a Targetpath: directive...

just thinking loud.

What are your thoughts?

Carsten Munk
Adrian Schroeter
SUSE Linux Products GmbH
email: adrian@xxxxxxx
< Previous Next >
Follow Ups