[OE-core] [PATCH 2/2] nativesdk-autoconf: add dependencies

Richard Purdie richard.purdie at linuxfoundation.org
Fri Oct 19 15:01:53 UTC 2012


On Fri, 2012-10-19 at 19:22 +0800, Kang Kai wrote:
> When use toolchain gmae to compile iptables, autoreconf needs perl and
> some perl modules. It is too many item to put in the .bb file, so just
> add nativesdk-perl-modules to provide them.
> 
> [Yocto 3100]
> 
> Signed-off-by: Kang Kai <kai.kang at windriver.com>
> ---
>  meta/recipes-devtools/autoconf/autoconf.inc     |    4 +++-
>  meta/recipes-devtools/autoconf/autoconf_2.69.bb |    2 +-
>  2 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/meta/recipes-devtools/autoconf/autoconf.inc b/meta/recipes-devtools/autoconf/autoconf.inc
> index 315e773..29d67a0 100644
> --- a/meta/recipes-devtools/autoconf/autoconf.inc
> +++ b/meta/recipes-devtools/autoconf/autoconf.inc
> @@ -10,7 +10,9 @@ DEPENDS_virtclass-native = "m4-native gnu-config-native"
>  DEPENDS_virtclass-nativesdk = "nativesdk-m4 nativesdk-gnu-config"
>  RDEPENDS_${PN} = "m4 gnu-config"
>  RDEPENDS_${PN}_virtclass-native = "m4-native gnu-config-native"
> -RDEPENDS_${PN}_virtclass-nativesdk = "nativesdk-m4 nativesdk-gnu-config"
> +RDEPENDS_${PN}_virtclass-nativesdk = "nativesdk-m4 nativesdk-gnu-config \
> +                                      nativesdk-perl nativesdk-perl-modules \
> +                                     "
>  

Ok, this is getting closer but I'm still not 100% convinced we have
everything fixed properly. For example, if the above is true, isn't
RDEPENDS_${PN} wrong? Do we need everything in perl-modules?

I also took a look at the automake recipe which in some ways looks
better behaved. It does:

RDEPENDS_${PN} += "\
    autoconf \
    perl \
    perl-module-bytes \
    perl-module-constant \
    perl-module-cwd \
    perl-module-data-dumper \
    perl-module-dynaloader \
    perl-module-errno \
    perl-module-exporter-heavy \
    perl-module-file-basename \
    perl-module-file-compare \
    perl-module-file-copy \
    perl-module-file-glob \
    perl-module-file-spec-unix \
    perl-module-file-stat \
    perl-module-getopt-long \
    perl-module-io \
    perl-module-io-file \
    perl-module-posix \
    perl-module-strict \
    perl-module-text-parsewords \
    perl-module-vars "

RDEPENDS_${PN}_virtclass-native = "autoconf-native perl-native-runtime"
RDEPENDS_${PN}_virtclass-nativesdk = "nativesdk-autoconf"

which at least seems to list the modules it really needs. The fact we
then set a virtclass-nativesdk version which is wrong is worrying.

I think the assumption has been that for nativesdk, we'd use the system
perl.

So I think we need to

a) Decide whether the sdk should be using the nativesdk perl or the host
system one. I'm fine with deciding we should use the nativesdk perl
b) Fix RDEPENDS_${PN} for autoconf so that it lists the right perl
modules.
c) At this pooint we might be able to simply remove RDEPENDS_
${PN}_virtclass-nativesdk and the code should figure things out
automagically itself.
d) We should verify the list of modules for automake is correct
e) We should also see if we can simply remove the RDEPENDS_
${PN}_virtclass-nativesdk line from automake.

Does that make sense?

Cheers,

Richard













More information about the Openembedded-core mailing list