summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm115
1 files changed, 73 insertions, 42 deletions
diff --git a/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm b/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
index 9addfd43600..1ec27af25e9 100644
--- a/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
+++ b/Master/tlpkg/tlperl/lib/CPAN/Meta/Spec.pm
@@ -1,26 +1,34 @@
-# vi:tw=72
+# XXX RULES FOR PATCHING THIS FILE XXX
+# Patches that fix typos or formatting are acceptable. Patches
+# that change semantics are not acceptable without prior approval
+# by David Golden or Ricardo Signes.
+
use 5.006;
use strict;
use warnings;
package CPAN::Meta::Spec;
-our $VERSION = '2.120921'; # VERSION
+our $VERSION = '2.140640'; # VERSION
1;
# ABSTRACT: specification for CPAN distribution metadata
+# vi:tw=72
__END__
+
=pod
+=encoding UTF-8
+
=head1 NAME
CPAN::Meta::Spec - specification for CPAN distribution metadata
=head1 VERSION
-version 2.120921
+version 2.140640
=head1 SYNOPSIS
@@ -74,7 +82,7 @@ version 2.120921
keywords => [ qw/ toolchain cpan dual-life / ],
'meta-spec' => {
version => '2',
- url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
+ url => 'https://metacpan.org/pod/CPAN::Meta::Spec',
},
generated_by => 'Module::Build version 0.36',
};
@@ -307,7 +315,7 @@ Example:
license => [ 'perl_5' ]
- license => [ 'apache_2', 'mozilla_1_0' ]
+ license => [ 'apache_2_0', 'mozilla_1_0' ]
(Spec 2) [required] {List of one or more License Strings}
@@ -387,6 +395,20 @@ This is a I<URL> of the metadata specification document corresponding to
the given version. This is strictly for human-consumption and should
not impact the interpretation of the document.
+For the version 2 spec, either of these are recommended:
+
+=over 4
+
+=item *
+
+C<https://metacpan.org/pod/CPAN::Meta::Spec>
+
+=item *
+
+C<http://search.cpan.org/perldoc?CPAN::Meta::Spec>
+
+=back
+
=back
=head3 name
@@ -400,7 +422,8 @@ Example:
This field is the name of the distribution. This is often created by
taking the "main package" in the distribution and changing C<::> to
C<->, but the name may be completely unrelated to the packages within
-the distribution. C.f. L<http://search.cpan.org/dist/libwww-perl/>.
+the distribution. For example, L<LWP::UserAgent> is distributed as part
+of the distribution name "libwww-perl".
=head3 release_status
@@ -585,7 +608,7 @@ I<Suggestion for disuse:> Because there is currently no way for a
distribution to specify a dependency on an optional feature of another
dependency, the use of C<optional_feature> is discouraged. Instead,
create a separate, installable distribution that ensures the desired
-feature is available. For example, if C<Foo::Bar> has a "Baz" feature,
+feature is available. For example, if C<Foo::Bar> has a C<Baz> feature,
release a separate C<Foo-Bar-Baz> distribution that satisfies
requirements for the feature.
@@ -639,14 +662,14 @@ Example:
provides => {
'Foo::Bar' => {
file => 'lib/Foo/Bar.pm',
- version => 0.27_02
+ version => '0.27_02',
},
'Foo::Bar::Blah' => {
file => 'lib/Foo/Bar/Blah.pm',
},
'Foo::Bar::Baz' => {
file => 'lib/Foo/Bar/Baz.pm',
- version => 0.3,
+ version => '0.3',
},
}
@@ -654,23 +677,26 @@ Example:
This describes all packages provided by this distribution. This
information is used by distribution and automation mechanisms like
-PAUSE, CPAN, and search.cpan.org to build indexes saying in which
-distribution various packages can be found.
+PAUSE, CPAN, metacpan.org and search.cpan.org to build indexes saying in
+which distribution various packages can be found.
The keys of C<provides> are package names that can be found within
-the distribution. The values are Maps with the following valid subkeys:
+the distribution. If a package name key is provided, it must
+have a Map with the following valid subkeys:
=over
=item file
-This field is required. The value must contain a Unix-style relative
-file path from the root of the distribution to the module containing the
-package.
+This field is required. It must contain a Unix-style relative file path
+from the root of the distribution directory to a file that contains or
+generates the package.
=item version
-This field contains a I<Version> String for the package, if one exists.
+If it exists, this field must contains a I<Version> String for the
+package. If the package does not have a C<$VERSION>, this field must
+be omitted.
=back
@@ -731,7 +757,8 @@ is a Map with the following valid keys:
Because a url like C<http://myrepo.example.com/> is ambiguous as to
type, producers should provide a C<type> whenever a C<url> key is given.
The C<type> field should be the name of the most common program used
-to work with the repository, e.g. git, svn, cvs, darcs, bzr or hg.
+to work with the repository, e.g. C<git>, C<svn>, C<cvs>, C<darcs>,
+C<bzr> or C<hg>.
=back
@@ -992,7 +1019,7 @@ described in the L<Version Ranges> section.
Another subtle error that can occur in resolving prerequisites comes from
the way that modules in prerequisites are indexed to distribution files on
CPAN. When a module is deleted from a distribution, prerequisites calling
-for that module could indicate an older distribution should installed,
+for that module could indicate an older distribution should be installed,
potentially overwriting files from a newer distribution.
For example, as of Oct 31, 2009, the CPAN index file contained these
@@ -1078,23 +1105,43 @@ this presents security implications.
=head1 SEE ALSO
+=over 4
+
+=item *
+
CPAN, L<http://www.cpan.org/>
-CPAN.pm, L<http://search.cpan.org/dist/CPAN/>
+=item *
+
+JSON, L<http://json.org/>
-CPANPLUS, L<http://search.cpan.org/dist/CPANPLUS/>
+=item *
-ExtUtils::MakeMaker, L<http://search.cpan.org/dist/ExtUtils-MakeMaker/>
+YAML, L<http://www.yaml.org/>
-Module::Build, L<http://search.cpan.org/dist/Module-Build/>
+=item *
-Module::Install, L<http://search.cpan.org/dist/Module-Install/>
+L<CPAN>
-JSON, L<http://json.org/>
+=item *
-YAML, L<http://www.yaml.org/>
+L<CPANPLUS>
-=head1 CONTRIBUTORS
+=item *
+
+L<ExtUtils::MakeMaker>
+
+=item *
+
+L<Module::Build>
+
+=item *
+
+L<Module::Install>
+
+=back
+
+=head1 HISTORY
Ken Williams wrote the original CPAN Meta Spec (also known as the
"META.yml spec") in 2003 and maintained it through several revisions
@@ -1107,21 +1154,6 @@ process. David and Ricardo Signes drafted the final version 2 spec
in April 2010 based on the version 1.4 spec and patches contributed
during the proposal process.
-Several others have contributed patches over the years. The full list
-of contributors in the repository history currently includes:
-
- 2shortplanks
- Avar Arnfjord Bjarmason
- Christopher J. Madsen
- Damyan Ivanov
- David Golden
- Eric Wilhelm
- Ken Williams
- Lars DIECKOW
- Michael G. Schwern
- Randy Sims
- Ricardo Signes
-
=head1 AUTHORS
=over 4
@@ -1144,4 +1176,3 @@ This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
-