On Mon, 2011-04-18 at 13:43 +0800, Cui, Dexuan wrote: > Richard Purdie wrote: > > On Fri, 2011-04-15 at 23:54 -0700, Saul Wold wrote: > >> @@ -3,12 +3,14 @@ DESCRIPTION = "Tool that installs the GNU > >> config.guess / config.sub into a direc SECTION = "devel" LICENSE = > >> "GPLv1+" LIC_FILES_CHKSUM = > >> "file://config.guess;endline=39;md5=a089987af4a25cb0419d1c2fd6d495e3" > >> -DEPENDS = "" + +DEPENDS_virtclass-native = "perl-native" > >> + > >> INHIBIT_DEFAULT_DEPS = "1" > > > > I haven't taken this. Having looked at the shear number of horrible > > perl-native issues, I'd like to take the same approach we took with > > the toolchain staging and place perl into its own bin directory we > > add to PATH when needed. > > If a recipe does need perl-native but we fail to realize that, the > host's perl (e.g. /usr/bin/perl) will be used -- this will further > hinder us from realizing the recipe needs perl-native. > > As to bug #968, the build failure happens because perl-native's > do_populate_sysroot has begun but hasn't finished. If perl-native > hasn't started to populate_sysroot, running gnu-configize won't fail > since host's perl will be used. > > so I've 3 questions: > 1) in poky how to exclude host's perl from PATH? need to write a > python function to filter out various possible host perl paths? e.g., > ~/bin/perl, /usr/local/bin/perl, /usr/bin/perl, /bin/perl,... too many > paths... > > 2) how to identify the recipes that need perl-native? I think we have > to identify them manually one by one? This is time comsuming? > > 3) Even if we solve the above 2 issues, we still need to add > perl-native into the recipes' (that need perl-native) DEPENDS, > correct? > > I'm not sure my above understanding is ok. Please correct me if I'm > wrong.
What I'd like to do is have perl install into a bindir which isn't part of our PATH by default. For anything which has DEPENDS = "perl-native", we add this directory to PATH. Anything that doesn't have the DEPENDS doesn't see it. We can probably make this a perlnative.bbclass or something which just contains PATH_prepend = "${STAGING_BINDIR_NATIVE}/perl-native:" DEPENDS += "perl-native" This should ensure that anything that really needs perl-native finds it but we don't have *everything* depending on it unnecessarily. Cheers, Richard _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core