-----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>
[...] <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@b1-systems.de 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@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org