Mailinglist Archive: opensuse-buildservice (214 mails)

< Previous Next >
Re: [opensuse-buildservice] Cross compilation dependency handling
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

just one point to correct here..

On 02/23/2012 07:21 PM, Daniel Gollub wrote:
Hi Carsten, Hi Adrian,

On Thursday, February 16, 2012 11:01:15 AM Adrian Schröter wrote:
Am Donnerstag, 16. Februar 2012, 10:43:01 schrieb Carsten Munk:
[...]
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.

We started last week finally to do some prototyping of this idea.


* determine packages used in hostsystem or in target-sysroot

To determine which package has to be installed where, in the host
system or in a sysroot for a crossbuild. Therefor the XML for the
buildinfo got a new field for packages. 'neededbyhost' has to be
set to 1 if a package has to be installed in the host system. If
this parameter is not set or 0 the package will be downloaded for
the architecture the buildjob is for and for all additional
architectures into their sysroots.



With the example prjconf from above, the scheduler sends an
enhanced buildjob file which looks something like this:

---8<--- <buildinfo project="home:Admin"
repository="openSUSE_Factory_ARM_standard" package="foo"
srcserver="http://b1-systems.de:5352";
reposerver="http://b1-systems.de:5252";>
<job>home:Admin::openSUSE_Factory_ARM_standard::foo-6763ac6ae31fbc1a89ed98c53d443ce8</job>



<arch>armv7l</arch>
<hostarch>x86_64</hostarch> <additional_archs arch="x86_64"
sysroot="/" /> <!--- actually not required, IIRC --->
<additional_archs arch="armv7l" sysroot="/sysroot/armv7l" />
<additional_archs arch="armv5el" sysroot="/sysroot/armv5el" />
[...] <bdep name="aaa_base" preinstall="1" runscripts="1"
notmeta="1" neededbyhost="1" /> [...] <bdep name="tar"
preinstall="1" neededbyhost="1" /> [...] <bdep name="libsepol1"
vminstall="1" target_arch="x86_64" /> <bdep name="libblkid1"
vminstall="1" notmeta="1" target_arch="x86_64" /> <bdep
name="libuuid1" vminstall="1" notmeta="1" target_arch="x86_64" />
<bdep name="gcc" /> <bdep name="gcc46" /> <bdep name="patch" />
<bdep name="cpp" /> [...] <bdep name="tar" /> [...] <path
project="home:Admin" repository="openSUSE_Factory_ARM_standard"
server="http://srsyy.b1-systems.de:5252"; /> <path
project="openSUSE:Factory:ARM" repository="standard"
server="http://srsyy.b1-systems.de:5252"; /> </buildinfo> --->8---

The parameter "target_arch" was a first try to define which packages
has to be installed in which sysroot, but was a lot to configure in
the scheduler and the job info. So at the moment this parameter is
removed again and just "neededbyhost" is used to determine packages
for hte hostsystem.

Now all packages withouth "neededbyhost" attribute are installed in
all sysroots for additional architectures.
Don't know if this is the best way, but at the moment the easiest to
test the crossbuilding.

What do you think would be a good way for this? Should the
bdep-packages become tagged with the architecture they are needed in?




Regards,
Christian



- - --
Christian Schneemann
Linux Consultant & Developer
Mail: schneemann@xxxxxxxxxxxxx

B1 Systems GmbH
Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de
GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537
- -----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk9GiEEACgkQL6hkOkG9q4F6nQCfV1+8M/wu5FAMjHJghMNRyyvq
PlgAoIEmuEMwvcHwUI758l+s9RITetlH
=HytZ
- -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk9GiKwACgkQL6hkOkG9q4GR6gCgujRZm7KVZFdF0Am0M0LdW1EY
CPAAnRiIHPg5qLQXHWY+EIXxhK2MUvEy
=s4li
-----END PGP SIGNATURE-----
--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups