Am Donnerstag, 16. Februar 2012, 10:43:01 schrieb Carsten Munk:

> Hi,

>

> 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 it.

 

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.

adrian

 

> What are your thoughts?

>

> BR

> Carsten Munk

--

Adrian Schroeter

SUSE Linux Products GmbH

email: adrian@suse.de