Skip Menu |

This queue is for tickets about the TimeDate CPAN distribution.

Report information
The Basics
Id: 83141
Status: resolved
Priority: 0/
Queue: TimeDate

People
Owner: Nobody in particular
Requestors: miyagawa [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Bad NAME on TimeDate module
Date: Tue, 5 Feb 2013 11:37:12 -0800
To: bug-TimeDate [...] rt.cpan.org, gbarr [...] pobox.com
From: Tatsuhiko Miyagawa <miyagawa [...] gmail.com>
TimeDate-modules distribution on CPAN has a NAME field "TimeDate" in its META.yml and Makefile.PL, which isn't a valid field because TimeDate.pm doesn't exist in the distribution. This ends up with a bad MYMETA files containing non-existing package, which causes issues in certain tools that uses MYMETA to generate dependency tree such as Carton. For example LWP distribution uses libwww-perl as a distribution name, but its NAME has "LWP" which does exist as a module. http://cpansearch.perl.org/src/GAAS/libwww-perl-6.04/Makefile.PL Could you do either a) update the NAME field to correspond to the "primary" module of the distribution, such as Date::Format, or b) actually create an empty TimeDate.pm module with the name, that acts as an index module of the distribution. Here's a document from ExtUtils::MakeMaker's definition of NAME field. Show quoted text
>>>
NAME The package representing the distribution. For example, Test::More or ExtUtils::MakeMaker. It will be used to derive information about the distribution such as the DISTNAME, installation locations within the Perl library and where XS files will be looked for by default (see XS). NAME must be a valid Perl package name and it must have an associated .pm file. For example, Foo::Bar is a valid NAME and there must exist Foo/Bar.pm. Any XS code should be in Bar.xs unless stated otherwise. <<< Thanks! -- Tatsuhiko Miyagawa
Subject: Re: [rt.cpan.org #83141] Bad NAME on TimeDate module
Date: Mon, 18 Feb 2013 13:19:02 -0600
To: bug-TimeDate [...] rt.cpan.org
From: Graham Barr <gbarr [...] pobox.com>
On Feb 5, 2013, at 13:37 , miyagawa@gmail.com via RT <bug-TimeDate@rt.cpan.org> wrote: Show quoted text
> > TimeDate-modules distribution on CPAN has a NAME field "TimeDate" in > its META.yml and Makefile.PL, which isn't a valid field because > TimeDate.pm doesn't exist in the distribution.
name in the META is a distribution name, not a module name. CPAN::Meta::Spec states (Spec 1.0) [required] {String} This field is the name of the distribution. This is often created by taking the "main package" in the distribution and changing :: to -, but the name may be completely unrelated to the packages within the distribution. C.f. http://search.cpan.org/dist/libwww-perl/. As the spec states, this is often derived from a module name, but does not have to be. packages like libwww-perl, libnet, TimeDate actually pre-date the meta spec. Graham.
Subject: Re: [rt.cpan.org #83141] Bad NAME on TimeDate module
Date: Mon, 18 Feb 2013 11:22:06 -0800
To: bug-TimeDate [...] rt.cpan.org
From: Tatsuhiko Miyagawa <miyagawa [...] gmail.com>
On Mon, Feb 18, 2013 at 11:19 AM, Graham Barr via RT <bug-TimeDate@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=83141 > >
>> >> TimeDate-modules distribution on CPAN has a NAME field "TimeDate" in >> its META.yml and Makefile.PL, which isn't a valid field because >> TimeDate.pm doesn't exist in the distribution.
> > name in the META is a distribution name, not a module name.
... Show quoted text
> As the spec states, this is often derived from a module name, but does not have to be. packages like libwww-perl, libnet, TimeDate actually pre-date the meta spec.
Sorry, i meant to be just talking about Makefile.PL WriteMakefile() args, not META.yml: http://search.cpan.org/~mschwern/ExtUtils-MakeMaker-6.64/lib/ExtUtils/MakeMaker.pm Show quoted text
> NAME > > The package representing the distribution. For example, Test::More or ExtUtils::MakeMaker. It will be used to derive information about the distribution such as the DISTNAME, installation locations within the Perl library and where XS files will be looked for by default (see XS). > NAME must be a valid Perl package name and it must have an associated .pm file. For example, Foo::Bar is a valid NAME and there must exist Foo/Bar.pm. Any XS code should be in Bar.xs unless stated otherwise.
"NAME must be a valid Perl package name and it must have an associated .pm file" -- Tatsuhiko Miyagawa
Uploaded 2.30 that gets its version from Date::Parse and passes the following to WriteMakefile NAME => 'Date::Parse', DISTNAME => 'TimeDate', VERSION_FROM => 'lib/Date/Parse.pm',
Subject: Re: [rt.cpan.org #83141] Bad NAME on TimeDate module
Date: Mon, 18 Feb 2013 11:40:08 -0800
To: bug-TimeDate [...] rt.cpan.org
From: Tatsuhiko Miyagawa <miyagawa [...] gmail.com>
Awesome. Thanks for the quick fix! On Mon, Feb 18, 2013 at 11:39 AM, Graham_Barr via RT <bug-TimeDate@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=83141 > > > Uploaded 2.30 that gets its version from Date::Parse and passes the > following to WriteMakefile > > NAME => 'Date::Parse', > DISTNAME => 'TimeDate', > VERSION_FROM => 'lib/Date/Parse.pm', > >
-- Tatsuhiko Miyagawa