Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
CPAN::Meta::History::MePerl_Programmers	RefereCPAN::Meta::History::Meta_1_0(3)

       CPAN::Meta::History::Meta_1_0 - Version 1.0 metadata specification for

       This is a historical copy of the	version	1.0 specification for META.yml
       files, copyright	by Ken Williams	and licensed under the same terms as
       Perl itself.

       Modifications from the original:

       o   Conversion from the original	HTML to	POD format

       o   Include list	of valid licenses from Module::Build 0.17 rather than
	   linking to the module, with minor updates to	text and links to
	   reflect versions at the time	of publication.

       o   Fixed some dead links to point to active resources.

       This document describes version 1.0 of the META.yml specification.

       The META.yml file describes important properties	of contributed Perl
       distributions such as the ones found on CPAN <>.  It
       is typically created by tools like Module::Build	and

       The fields in the META.yml file are meant to be helpful to people
       maintaining module collections (like CPAN), for people writing
       installation tools (like	CPAN or	CPANPLUS), or just people who want to
       know some stuff about a distribution before downloading it and starting
       to install it.

       META.yml	files are written in the YAML <> format.
       The reasons we chose YAML instead of, say, XML or Data::Dumper are
       discussed in this thread
       <> on
       the MakeMaker mailing list.

       The first line of a META.yml file should	be a valid YAML	document
       header <>
       like "--- #YAML:1.0"

       The rest	of the META.yml	file is	one big	YAML mapping
       <>, whose
       keys are	described here.

	   Example: "Module-Build"

	   The name of the distribution.  Often	created	by taking the "main
	   module" in the distribution and changing "::" to "-".  Sometimes
	   it's	completely different, however, as in the case of the libwww-
	   perl	<>

	   Example: 0.16

	   The version of the distribution to which the	META.yml file refers.

	   Example: "perl"

	   The license under which this	distribution may be used and

	   Must	be one of the following	licenses:

	       The distribution	may be copied and redistributed	under the same
	       terms as	perl itself (this is by	far the	most common licensing
	       option for modules on CPAN).  This is a dual license, in	which
	       the user	may choose between either the GPL version 1 or the
	       Artistic	version	1 license.

	   gpl The distribution	is distributed under the terms of the GNU
	       General Public License version 2

	       The distribution	is distributed under the terms of the GNU
	       Lesser General Public License version 2

	       The distribution	is licensed under the Artistic License version
	       1, as specified by the Artistic file in the standard perl

	   bsd The distribution	is licensed under the BSD 3-Clause License

	       The distribution	is licensed under some other Open Source
	       Initiative-approved license listed at

	       The distribution	is licensed under a license that is not
	       approved	by <> but
	       that allows distribution	without	restrictions.

	       The distribution	may not	be redistributed without special
	       permission from the author and/or copyright holder.

	   Example: "module"

	   What	kind of	stuff is contained in this distribution.  Most things
	   on CPAN are "module"s (which	can also mean a	collection of
	   modules), but some things are "script"s.


	     Data::Dumper: 0
	     File::Find: 1.03

	   A YAML mapping
	   indicating the Perl modules this distribution requires for proper
	   operation.  The keys	are the	module names, and the values are
	   version specifications as described in the documentation for
	   Module::Build's "requires" parameter.

	   Note: the exact nature of the fancy specifications like "_= 1.2, !=
	   1.5,	_ 2.0" is subject to change.  Advance notice will be given
	   here.  The simple specifications like "1.2" will not	change in


	     Data::Dumper: 0
	     File::Find: 1.03

	   A YAML mapping
	   indicating the Perl modules this distribution recommends for
	   enhanced operation.


	     Data::Dumper: 0
	     File::Find: 1.03

	   A YAML mapping
	   indicating the Perl modules required	for building and/or testing of
	   this	distribution.  These dependencies are not required after the
	   module is installed.


	     Data::Dumper: 0
	     File::Find: 1.03

	   A YAML mapping
	   indicating the Perl modules that cannot be installed	while this
	   distribution	is installed.  This is a pretty	uncommon situation.

	   Example: 0

	   A boolean flag indicating whether a Build.PL	or Makefile.PL (or
	   similar) must be executed, or whether this module can be built,
	   tested and installed	solely from consulting its metadata file.  The
	   main	reason to set this to a	true value if that your	module
	   performs some dynamic configuration (asking questions, sensing the
	   environment,	etc.) as part of its build/install process.

	   Currently Module::Build doesn't actually do anything	with this flag
	   - it's probably going to be up to higher-level tools	like
	   to do something useful with it.  It can potentially bring lots of
	   security, packaging,	and convenience	improvements.

	   Example: "Module::Build version 0.16"

	   Indicates the tool that was used to create this META.yml file.
	   It's	good form to include both the name of the tool and its
	   version, but	this field is essentially opaque, at least for the

Related	Projects
	   An RDF vocabulary to	describe software projects.

       o   March 14, 2003 (Pi day) - created version 1.0 of this document.

       o   May 8, 2003 - added the "dynamic_config" field, which was missing
	   from	the initial version.

perl v5.35.5			  2021-09-26  CPAN::Meta::History::Meta_1_0(3)

NAME | PREFACE | DESCRIPTION | Format | Fields | Related Projects | History

Want to link to this manual page? Use this URL:

home | help