[oe] [PATCH 1/5] perl: fix PERLCONFIGTARGET for multimach builds, move cpan vars

Roman I Khimov roman at khimov.ru
Sat Dec 25 18:44:08 UTC 2010


В сообщении от Суббота 25 декабря 2010 20:23:02 автор Khem Raj написал:
> On 12/25/2010 2:48 AM, Roman I Khimov wrote:
> > Multimachine builds race staging Config_heavy-target.pl to native
> > directory. Solve that by changing PERLCONFIGTARGET variable semantics,
> > now it will contain $TARGET_SYS. Change perl patch and stage functions
> > accordingly.
> >
> > Also, move PERLCONFIGTARGET and other target-specific variable settings
> > from cpan to cpan-base as I think they're also useful for cpan_build and
> > anywhere else cpan-base is needed.
> >
> > Signed-off-by: Roman I Khimov<khimov at altell.ru>
> > ---
> >   classes/cpan-base.bbclass                          |   14
> > ++++++++++++-- classes/cpan.bbclass                               |   10
> > ---------- classes/cpan_build.bbclass                         |    4 ++--
> > .../perl/perl-5.10.1/perl-configpm-switch.patch    |    6 +++---
> > recipes/perl/perl-5.8.8/perl-configpm-switch.patch |    6 +++---
> > recipes/perl/perl-native_5.10.1.bb                 |    2 +-
> >   recipes/perl/perl-native_5.8.8.bb                  |    2 +-
> >   recipes/perl/perl_5.10.1.bb                        |    4 ++--
> >   recipes/perl/perl_5.8.8.bb                         |    2 +-
> >   9 files changed, 25 insertions(+), 25 deletions(-)
> >
> > diff --git a/classes/cpan-base.bbclass b/classes/cpan-base.bbclass
> > index a04f61c..53621ed 100644
> > --- a/classes/cpan-base.bbclass
> > +++ b/classes/cpan-base.bbclass
> > @@ -32,11 +32,21 @@ def perl_get_libdirs(d):
> >
> >   def is_target(d):
> >       if not bb.data.inherits_class('native', d):
> > -        return "yes"
> > -    return "no"
> > +        return bb.data.expand('${TARGET_SYS}', d)
> > +    return ""
> 
> not that its wrong but I think you could also use MULTIMACH_ARCH instead
> of TARGET_SYS here

MULTIMACH_ARCH = "${PACKAGE_ARCH}"

So if there is a perl lib that is "PACKAGE_ARCH = all" it will use 
Config_heavy-all.sh which won't exist if we don't symlink something there and 
that raises a question of what to symlink. Also, I don't know whether it's 
possible now, but in theory we can have builds with different target C 
libraries reusing same native perl, so complete TARGET_SYS specification is 
more appropriate IMO.

-- 
 http://roman.khimov.ru
mailto: roman at khimov.ru
gpg --keyserver hkp://subkeys.pgp.net --recv-keys 0xE5E055C3
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20101225/81a60383/attachment-0002.sig>


More information about the Openembedded-devel mailing list