Patchwork [meta-perl,v2,01/10] libmodule-metadata-perl: add 1.000019

login
register
mail settings
Submitter Tim Orling
Date Feb. 3, 2014, 6:51 a.m.
Message ID <1391410275-31251-2-git-send-email-ticotimo@gmail.com>
Download mbox | patch
Permalink /patch/66233/
State Superseded, archived
Headers show

Comments

Tim Orling - Feb. 3, 2014, 6:51 a.m.
[Description from CPAN]
This module provides a standard way to gather metadata about a .pm file through (mostly) static analysis and (some) code execution. When determining the version of a module, the $VERSION assignment is "eval"ed, as is traditional in the CPAN toolchain.

Signed-off-by: Tim Orling <ticotimo@gmail.com>
---
 .../libmodule/libmodule-metadata-perl_1.000019.bb  |   33 ++++++++++++++++++++
 1 file changed, 33 insertions(+)
 create mode 100644 meta-perl/recipes-perl/libmodule/libmodule-metadata-perl_1.000019.bb
Hongxu Jia - March 29, 2014, 6:44 a.m.
Hi Tim,

The 'Metadata.pm' in libmodule-metadata-perl-native conflicted
with the one in perl-native, is that ok?

$ bitbake libmodule-metadata-perl-native

WARNING: The recipe libmodule-metadata-perl-native is trying to install 
files into a shared area when those files already exist. Those files and 
their manifest location are:
/home/jiahongxu/yocto/build-20140329-meta-perl/tmp/sysroots/x86_64-linux/usr/lib/perl-native/perl/5.14.3/Module/Metadata.pm
    Matched in manifest-x86_64-perl-native.populate_sysroot
Please verify which package should provide the above files.

//Hongxu

On 02/03/2014 02:51 PM, Tim Orling wrote:
> [Description from CPAN]
> This module provides a standard way to gather metadata about a .pm file through (mostly) static analysis and (some) code execution. When determining the version of a module, the $VERSION assignment is "eval"ed, as is traditional in the CPAN toolchain.
>
> Signed-off-by: Tim Orling <ticotimo@gmail.com>
> ---
>   .../libmodule/libmodule-metadata-perl_1.000019.bb  |   33 ++++++++++++++++++++
>   1 file changed, 33 insertions(+)
>   create mode 100644 meta-perl/recipes-perl/libmodule/libmodule-metadata-perl_1.000019.bb
>
> diff --git a/meta-perl/recipes-perl/libmodule/libmodule-metadata-perl_1.000019.bb b/meta-perl/recipes-perl/libmodule/libmodule-metadata-perl_1.000019.bb
> new file mode 100644
> index 0000000..668f0c4
> --- /dev/null
> +++ b/meta-perl/recipes-perl/libmodule/libmodule-metadata-perl_1.000019.bb
> @@ -0,0 +1,33 @@
> +SUMMARY = "Module::Metadata - Gather package and POD information from perl module files"
> +DESCRIPTION = "This module provides a standard way to gather metadata about \
> +a .pm files through (mostly) static analysis and (some) code execution. When \
> +determining the version of a module, the $VERSION assignment is eval-ed, as \
> +is traditional in the CPAN toolchain."
> +SECTION = "libs"
> +
> +HOMEPAGE = "http://search.cpan.org/~ether/Module-Metadata/"
> +
> +LICENSE = "Artistic-1.0 | GPL-1.0+"
> +LIC_FILES_CHKSUM = "file://README;beginline=185;endline=190;md5=e1b24eebe5d819b40bb68ad06b72d3ee"
> +
> +SRC_URI = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Module-Metadata-${PV}.tar.gz"
> +SRC_URI[md5sum] = "838ecf97f7daff79e0f81e104a6be823"
> +SRC_URI[sha256sum] = "5afca94dc0213608101ad519eb1b25133cdc9e44c2a053a45a5a59422c2ee554"
> +
> +S = "${WORKDIR}/Module-Metadata-${PV}"
> +
> +inherit cpan
> +
> +RDEPENDS_${PN} = " perl-module-io-file \
> +                   perl-module-data-dumper \
> +                   perl-module-extutils-makemaker \
> +                   perl-module-file-spec \
> +                   perl-module-version \
> +                   perl-module-exporter \
> +                   perl-module-carp \
> +                   perl-module-test-more \
> +                   perl-module-file-temp \
> +                   perl-module-file-path \
> +"
> +
> +BBCLASSEXTEND = "native"
Tim Orling - March 31, 2014, 3:30 a.m.
Yes. It updates the version built into perl. I will submit a patch with
insane skip.

--Tim


On Sun, Feb 2, 2014 at 10:51 PM, Tim Orling <ticotimo@gmail.com> wrote:

> [Description from CPAN]
> This module provides a standard way to gather metadata about a .pm file
> through (mostly) static analysis and (some) code execution. When
> determining the version of a module, the $VERSION assignment is "eval"ed,
> as is traditional in the CPAN toolchain.
>
> Signed-off-by: Tim Orling <ticotimo@gmail.com>
> ---
>  .../libmodule/libmodule-metadata-perl_1.000019.bb  |   33
> ++++++++++++++++++++
>  1 file changed, 33 insertions(+)
>  create mode 100644 meta-perl/recipes-perl/libmodule/
> libmodule-metadata-perl_1.000019.bb
>
> diff --git a/meta-perl/recipes-perl/libmodule/
> libmodule-metadata-perl_1.000019.bb b/meta-perl/recipes-perl/libmodule/
> libmodule-metadata-perl_1.000019.bb
> new file mode 100644
> index 0000000..668f0c4
> --- /dev/null
> +++ b/meta-perl/recipes-perl/libmodule/libmodule-metadata-perl_1.000019.bb
> @@ -0,0 +1,33 @@
> +SUMMARY = "Module::Metadata - Gather package and POD information from
> perl module files"
> +DESCRIPTION = "This module provides a standard way to gather metadata
> about \
> +a .pm files through (mostly) static analysis and (some) code execution.
> When \
> +determining the version of a module, the $VERSION assignment is eval-ed,
> as \
> +is traditional in the CPAN toolchain."
> +SECTION = "libs"
> +
> +HOMEPAGE = "http://search.cpan.org/~ether/Module-Metadata/"
> +
> +LICENSE = "Artistic-1.0 | GPL-1.0+"
> +LIC_FILES_CHKSUM =
> "file://README;beginline=185;endline=190;md5=e1b24eebe5d819b40bb68ad06b72d3ee"
> +
> +SRC_URI = "
> http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Module-Metadata-${PV}.tar.gz
> "
> +SRC_URI[md5sum] = "838ecf97f7daff79e0f81e104a6be823"
> +SRC_URI[sha256sum] =
> "5afca94dc0213608101ad519eb1b25133cdc9e44c2a053a45a5a59422c2ee554"
> +
> +S = "${WORKDIR}/Module-Metadata-${PV}"
> +
> +inherit cpan
> +
> +RDEPENDS_${PN} = " perl-module-io-file \
> +                   perl-module-data-dumper \
> +                   perl-module-extutils-makemaker \
> +                   perl-module-file-spec \
> +                   perl-module-version \
> +                   perl-module-exporter \
> +                   perl-module-carp \
> +                   perl-module-test-more \
> +                   perl-module-file-temp \
> +                   perl-module-file-path \
> +"
> +
> +BBCLASSEXTEND = "native"
> --
> 1.7.9.5
>
>
Paul Eggleton - March 31, 2014, 8:54 a.m.
Hi Tim,

On Sunday 30 March 2014 20:30:28 Tim Orling wrote:
> Yes. It updates the version built into perl. I will submit a patch with
> insane skip.

INSANE_SKIP isn't the right fix for this - if this recipe is staging duplicate 
files, it should be prevented from doing that by simply deleting the files 
within a do_install_append.

Cheers,
Paul
Tim Orling - April 20, 2014, 8:19 p.m.
On Mon, Mar 31, 2014 at 1:54 AM, Paul Eggleton <
paul.eggleton@linux.intel.com> wrote:

> Hi Tim,
>
> On Sunday 30 March 2014 20:30:28 Tim Orling wrote:
> > Yes. It updates the version built into perl. I will submit a patch with
> > insane skip.
>
> INSANE_SKIP isn't the right fix for this - if this recipe is staging
> duplicate
> files, it should be prevented from doing that by simply deleting the files
> within a do_install_append.
>
> Cheers,
> Paul
>
> --
>
> Paul Eggleton
> Intel Open Source Technology Centre
>

(1) I am thinking about dropping this patch. perl-native provides
Module::Metadata 1.00004, so if subsequent packages are being
cross-compiled I have not yet proven there is a need for the updated
v1.000019 provided here.

(2) The question is, if one wanted to build subsequent packages in-situ,
how to provide Module::Metadata 1.00004 on a target system, since it is
only provided by perl-native?

--Tim
Tim Orling - April 23, 2014, 4:10 p.m.
--Turns out to not be quite so simple. Module::Metadata is not ever being
created by perl_*.bb. This is somewhat surprising because Module::Build
needs Module::Metadata and this has been missed in
Cross/configure.sh-arm-linux since perl v5.13.9.
--You can verify this by running "perl -mModule::Build" on qemuarm/arm
target.
--I am working on a patch for oe-core.


On Sun, Apr 20, 2014 at 8:13 PM, Hongxu Jia <hongxu.jia@windriver.com>wrote:

> On 04/21/2014 11:05 AM, Hongxu Jia wrote:
>
>> On 04/21/2014 11:01 AM, Tim Orling wrote:
>>
>>> On Sun, Apr 20, 2014 at 7:17 PM, Hongxu Jia <hongxu.jia@windriver.com>
>>> wrote:
>>>
>>>  On 04/21/2014 04:19 AM, Tim Orling wrote:
>>>>
>>>>  (1) I am thinking about dropping this patch. perl-native provides
>>>>> Module::Metadata 1.00004, so if subsequent packages are being
>>>>> cross-compiled I have not yet proven there is a need for the updated
>>>>> v1.000019 provided here.
>>>>>
>>>>> (2) The question is, if one wanted to build subsequent packages
>>>>> in-situ,
>>>>> how to provide Module::Metadata 1.00004 on a target system, since it is
>>>>> only provided by perl-native?
>>>>>
>>>>>  It is also provided by perl, for target.
>>>>
>>>> //Hongxu
>>>>
>>>>
>>>>  I am not seeing it. Am I missing something?
>>>
>>
>>
>> Hi Tim,
>>
>> I am afraid Module::Metadataj is not in perl by default, you need
>> to tweak poky/meta/recipes-devtools/perl/perl_5.14.3.bb, to create
>> a new package for Module::Metadata, you could reference what
>> 'perl-module-cpan' did, such as:
>> ...
>> PACKAGES += "perl-module-metadata"
>> FILES_perl-module-metadata += ">>the files you need<<"
>> ...
>>
>
> You also need tweak do_install, to install Metadata.pm from ${S}
> to ${D}, the default do_install did not do that.
>
> //Hongxu
>
>
>
>> And add 'perl-module-metadata' to your recipes's RDEPENDS.
>>
>> //Hongxu
>>
>>
>>> root@beaglebone:~# perl -mModule::Metadata
>>>
>>> Can't locate Module/Metadata.pm in @INC (@INC contains: /etc/perl
>>> /usr/lib/perl/site_perl/5.14.3/ /usr/lib/perl/site_perl/5.14.3
>>> /usr/lib/perl/vendor_perl/5.14.3/ /usr/lib/perl/vendor_perl/5.14.3
>>> /usr/lib/perl/5.14.3/ /usr/lib/perl/5.14.3 /usr/local/lib/site_perl
>>> /usr/lib/perl/5.14.3 .).
>>>
>>> BEGIN failed--compilation aborted.
>>>
>>>  --Tim
>>>>> --
>>>>>
>>>>>  --
>>>> _______________________________________________
>>>> Openembedded-devel mailing list
>>>> Openembedded-devel@lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>>>
>>>>
>>
>
Tim Orling - May 6, 2014, 1:52 p.m.
On Wed, Apr 23, 2014 at 9:10 AM, Tim Orling <ticotimo@gmail.com> wrote:

> --Turns out to not be quite so simple. Module::Metadata is not ever being
> created by perl_*.bb. This is somewhat surprising because Module::Build
> needs Module::Metadata and this has been missed in
> Cross/configure.sh-arm-linux since perl v5.13.9.
> --You can verify this by running "perl -mModule::Build" on qemuarm/arm
> target.
> --I am working on a patch for oe-core.
>

Fixed in (and this patch superseded by)
http://patches.openembedded.org/patch/71565/

>
> On Sun, Apr 20, 2014 at 8:13 PM, Hongxu Jia <hongxu.jia@windriver.com>wrote:
>
>> On 04/21/2014 11:05 AM, Hongxu Jia wrote:
>>
>>> On 04/21/2014 11:01 AM, Tim Orling wrote:
>>>
>>>> On Sun, Apr 20, 2014 at 7:17 PM, Hongxu Jia <hongxu.jia@windriver.com>
>>>> wrote:
>>>>
>>>>  On 04/21/2014 04:19 AM, Tim Orling wrote:
>>>>>
>>>>>  (1) I am thinking about dropping this patch. perl-native provides
>>>>>> Module::Metadata 1.00004, so if subsequent packages are being
>>>>>> cross-compiled I have not yet proven there is a need for the updated
>>>>>> v1.000019 provided here.
>>>>>>
>>>>>> (2) The question is, if one wanted to build subsequent packages
>>>>>> in-situ,
>>>>>> how to provide Module::Metadata 1.00004 on a target system, since it
>>>>>> is
>>>>>> only provided by perl-native?
>>>>>>
>>>>>>  It is also provided by perl, for target.
>>>>>
>>>>> //Hongxu
>>>>>
>>>>>
>>>>>  I am not seeing it. Am I missing something?
>>>>
>>>
>>>
>>> Hi Tim,
>>>
>>> I am afraid Module::Metadataj is not in perl by default, you need
>>> to tweak poky/meta/recipes-devtools/perl/perl_5.14.3.bb, to create
>>> a new package for Module::Metadata, you could reference what
>>> 'perl-module-cpan' did, such as:
>>> ...
>>> PACKAGES += "perl-module-metadata"
>>> FILES_perl-module-metadata += ">>the files you need<<"
>>> ...
>>>
>>
>> You also need tweak do_install, to install Metadata.pm from ${S}
>> to ${D}, the default do_install did not do that.
>>
>> //Hongxu
>>
>>
>>
>>> And add 'perl-module-metadata' to your recipes's RDEPENDS.
>>>
>>> //Hongxu
>>>
>>>
>>>> root@beaglebone:~# perl -mModule::Metadata
>>>>
>>>> Can't locate Module/Metadata.pm in @INC (@INC contains: /etc/perl
>>>> /usr/lib/perl/site_perl/5.14.3/ /usr/lib/perl/site_perl/5.14.3
>>>> /usr/lib/perl/vendor_perl/5.14.3/ /usr/lib/perl/vendor_perl/5.14.3
>>>> /usr/lib/perl/5.14.3/ /usr/lib/perl/5.14.3 /usr/local/lib/site_perl
>>>> /usr/lib/perl/5.14.3 .).
>>>>
>>>> BEGIN failed--compilation aborted.
>>>>
>>>>  --Tim
>>>>>> --
>>>>>>
>>>>>>  --
>>>>> _______________________________________________
>>>>> Openembedded-devel mailing list
>>>>> Openembedded-devel@lists.openembedded.org
>>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>>>>
>>>>>
>>>
>>
>

Patch

diff --git a/meta-perl/recipes-perl/libmodule/libmodule-metadata-perl_1.000019.bb b/meta-perl/recipes-perl/libmodule/libmodule-metadata-perl_1.000019.bb
new file mode 100644
index 0000000..668f0c4
--- /dev/null
+++ b/meta-perl/recipes-perl/libmodule/libmodule-metadata-perl_1.000019.bb
@@ -0,0 +1,33 @@ 
+SUMMARY = "Module::Metadata - Gather package and POD information from perl module files"
+DESCRIPTION = "This module provides a standard way to gather metadata about \
+a .pm files through (mostly) static analysis and (some) code execution. When \
+determining the version of a module, the $VERSION assignment is eval-ed, as \
+is traditional in the CPAN toolchain."
+SECTION = "libs"
+
+HOMEPAGE = "http://search.cpan.org/~ether/Module-Metadata/"
+
+LICENSE = "Artistic-1.0 | GPL-1.0+"
+LIC_FILES_CHKSUM = "file://README;beginline=185;endline=190;md5=e1b24eebe5d819b40bb68ad06b72d3ee"
+
+SRC_URI = "http://search.cpan.org/CPAN/authors/id/E/ET/ETHER/Module-Metadata-${PV}.tar.gz"
+SRC_URI[md5sum] = "838ecf97f7daff79e0f81e104a6be823"
+SRC_URI[sha256sum] = "5afca94dc0213608101ad519eb1b25133cdc9e44c2a053a45a5a59422c2ee554"
+
+S = "${WORKDIR}/Module-Metadata-${PV}"
+
+inherit cpan
+
+RDEPENDS_${PN} = " perl-module-io-file \
+                   perl-module-data-dumper \
+                   perl-module-extutils-makemaker \
+                   perl-module-file-spec \
+                   perl-module-version \
+                   perl-module-exporter \
+                   perl-module-carp \
+                   perl-module-test-more \
+                   perl-module-file-temp \
+                   perl-module-file-path \
+"
+
+BBCLASSEXTEND = "native"