| Submitter | Kang Kai |
|---|---|
| Date | Oct. 19, 2012, 11:22 a.m. |
| Message ID | <44a03f4c870063fd0405695db1de2bfaae976a71.1350645464.git.kai.kang@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/38327/ |
| State | New |
| Headers | show |
Comments
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@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
On 2012?10?19? 23:01, Richard Purdie wrote: > 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@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 Hi Richard, > 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. I have put every single perl module to autoconf's rdepend. I also update the dependencies among perl modules themselves. > c) At this pooint we might be able to simply remove RDEPENDS_ > ${PN}_virtclass-nativesdk and the code should figure things out > automagically itself. It looks fine when remove the RDEPENDS_ ${PN}_virtclass-nativesdk from autoconf. > d) We should verify the list of modules for automake is correct Because automake depends on autoconf, so how about I remove the perl-module-* in automake's rdepends these already in autoconf rdepends? > e) We should also see if we can simply remove the RDEPENDS_ > ${PN}_virtclass-nativesdk line from automake. I'll try to remove it. Thanks, Kai > > Does that make sense? > > Cheers, > > Richard > > > > > > > > > >
On Mon, 2012-10-22 at 18:15 +0800, Kang Kai wrote: > Hi Richard, > > > 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. > > I have put every single perl module to autoconf's rdepend. I also update > the dependencies among perl modules themselves. Does autoconf need every single perl module? We should only add dependencies for the perl modules it needs. > > c) At this pooint we might be able to simply remove RDEPENDS_ > > ${PN}_virtclass-nativesdk and the code should figure things out > > automagically itself. > > It looks fine when remove the RDEPENDS_ ${PN}_virtclass-nativesdk from > autoconf. Great! > > d) We should verify the list of modules for automake is correct > > Because automake depends on autoconf, so how about I remove the > perl-module-* in automake's rdepends these already in autoconf rdepends? If there is already a dependency there, this sounds fine. > > e) We should also see if we can simply remove the RDEPENDS_ > > ${PN}_virtclass-nativesdk line from automake. > > I'll try to remove it. Cheers, Richard
Patch
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 \ + " SRC_URI = "${GNU_MIRROR}/autoconf/autoconf-${PV}.tar.gz \ file://program_prefix.patch" diff --git a/meta/recipes-devtools/autoconf/autoconf_2.69.bb b/meta/recipes-devtools/autoconf/autoconf_2.69.bb index 2c4c675..a4afd33 100644 --- a/meta/recipes-devtools/autoconf/autoconf_2.69.bb +++ b/meta/recipes-devtools/autoconf/autoconf_2.69.bb @@ -1,6 +1,6 @@ require autoconf.inc -PR = "r9" +PR = "r10" PARALLEL_MAKE = ""
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@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(-)