目录

名称

CPAN::Meta::History::Meta_1_0 - META.yml 的 1.0 版元数据规范

序言

这是 META.yml 文件的 1.0 版规范的历史副本,版权归 Ken Williams 所有,并根据与 Perl 相同的条款获得许可。

与原始版本相比的修改

说明

本文档描述了 META.yml 规范的 1.0 版。

META.yml 文件描述了已贡献 Perl 发行版的重要属性,例如在 CPAN 上找到的那些。它通常由 Module::BuildExtUtils::MakeMaker 等工具创建。

META.yml 文件中的字段旨在帮助维护模块集合(如 CPAN)的人员、编写安装工具(如 CPANCPANPLUS)的人员,或者只是想在下载和开始安装之前了解有关发行版的一些信息的人员。

格式

META.yml 文件采用 YAML 格式编写。我们选择 YAML 而不是 XML 或 Data::Dumper 的原因在 MakeMaker 邮件列表的 此线程 中进行了讨论。

META.yml 文件的第一行应是有效的 YAML 文档标题,例如 "--- #YAML:1.0"

字段

META.yml 文件的其余部分是一个大型 YAML 映射,其键在此处进行说明。

名称

示例:Module-Build

发行版的名称。通常通过获取发行版中的“主模块”并将“::”更改为“-”来创建。但是,有时它完全不同,例如 libwww-perl 发行版。

版本

示例:0.16

META.yml 文件引用的发行版版本。

许可证

示例:perl

此发行版可用于重新分发的许可证。

必须是以下许可证之一

perl

发行版可按与 perl 自身相同的条款进行复制和重新分发(这是 CPAN 上模块最常见的许可选项)。这是一个双重许可证,用户可以在 GPL 版本 1 或 Artistic 版本 1 许可证之间进行选择。

gpl

发行版按 GNU 通用公共许可证版本 2 (http://opensource.org/licenses/GPL-2.0) 的条款进行分发。

lgpl

发行版按 GNU 宽通用公共许可证版本 2 (http://opensource.org/licenses/LGPL-2.1) 的条款进行分发。

artistic

发行版按 Artistic 许可证版本 1 许可,如标准 perl 发行版中的 Artistic 文件所指定(http://opensource.org/licenses/Artistic-Perl-1.0)。

bsd

发行版按 BSD 3 条款许可证 (http://opensource.org/licenses/BSD-3-Clause) 许可。

开源

该发行版已获得其他开放源代码计划批准的许可,该许可已在 http://www.opensource.org/licenses/ 中列出。

无限制

该发行版已获得 www.opensource.org 批准的许可,但允许无限制地进行分发。

限制

未经作者和/或版权所有者的特别许可,不得重新分发该发行版。

发行版类型

示例:模块

该发行版中包含哪类内容。CPAN 上的大多数内容是 模块(也可以表示模块集合),但有些内容是 脚本

需要

示例

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

YAML 映射,指示该发行版正确运行所需的 Perl 模块。键是模块名称,值是版本规范,如 Module::Build 的“requires”参数文档 中所述。

注意:">= 1.2, != 1.5, < 2.0" 等花哨规范的确切性质可能会发生变化。届时会在此处提前通知。"1.2" 等简单规范的格式不会更改。

推荐

示例

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

YAML 映射,指示该发行版推荐用于增强操作的 Perl 模块。

构建需要

示例

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

YAML 映射,指示构建和/或测试该发行版所需的 Perl 模块。在安装模块后,不需要这些依赖项。

冲突

示例

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

YAML 映射,指示在安装该发行版时无法安装的 Perl 模块。这种情况非常罕见。

动态配置

示例:0

布尔标志,指示是否必须执行 Build.PLMakefile.PL(或类似文件),或者是否可以仅通过查阅其元数据文件来构建、测试和安装该模块。如果你的模块在构建/安装过程中执行一些动态配置(提出问题、感知环境等),则将其设置为真值的主要原因。

目前 Module::Build 实际上并未对该标志执行任何操作 - 可能由更高级别的工具(如 CPAN.pm)来对该标志执行一些有用的操作。它有可能带来很多安全性、打包和便利性方面的改进。

generated_by

示例:Module::Build version 0.16

表示用于创建此 META.yml 文件的工具。最好同时包含工具名称和版本,但至少目前,此字段本质上是不透明的。

相关项目

DOAP

用于描述软件项目的 RDF 词汇。http://usefulinc.com/doap

历史