GLEP 34: 每个类别 metadata.xml 文件

作者 Ciaran McCreesh <[email protected]>
类型 标准跟踪
状态 已替换
版本 1
创建时间 2005-03-11
上次修改时间 2017-10-13
发布历史 2005-03-11, 2005-03-13, 2005-05-02
替换为 68
GLEP 源代码 glep-0034.rst

摘要

Ametadata.xml文件 [1] 目前用于提供有关软件包的额外元数据(长描述、herd 和维护者信息)。建议这些文件也用于描述类别的目的。

动机

类别名称很短,并不完全清楚。在类别中添加任意长度的长描述将提供以下几个优势

  • 它将阐明类别对用户的意义,用户可能不知道我们使用的一些缩写或首字母缩略词。
  • 使用 XMLlang=""属性,它允许添加额外的非英语描述(仅仅使用更长的类别名称将不允许这样做)。
  • 它将帮助开发人员更好地选择与其软件包相关的类别,而不是像现在这样把所有东西都放到sys-appsapp-misc中。
  • 它将有助于说明哪些类别范围过广或定义不当,从而更容易进行未来的类别拆分。

规范

建议使用现有的metadata.xml格式 [1]。即使 XML 很糟糕,但也已经为这些文件建立了一个框架。文件名将是blah-misc/metadata.xml。使用的字符集应为 UTF-8,以保持与 GLEP 31 [2] 的一致性。

新的顶层<catmetadata>元素将被添加到 DTD 中。这是必要的,因为现有的<pkgmetadata>元素命名不当,进行全局重命名将不切实际。使用不同的元素还可以允许在将来添加其他类别特定的数据。

现有的<longdescription>元素将用于描述。该lang属性将用于指示描述的语言 - 所有类别都必须至少有一个英语(en)描述。

<herd><maintainer>元素通常与类别级别不相关。它们可以作为“假设此类别中的所有内容都由这些人维护”的回退指定,但这不能用作适当的每个软件包元数据的替代品。

示例

app-vim类别可以使用以下metadata.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE catmetadata SYSTEM "https://gentoolinux.cn/dtd/metadata.dtd">
<catmetadata>
        <longdescription lang="en">
            The app-vim category contains plugins and syntax file
            packages for the Vim text editor.
        </longdescription>
        <longdescription lang="de">
            Die Kategorie app-vim enthält Plugins und Syntax-Pakete
            für den Vim Texteditor.
        </longdescription>
</catmetadata>

实现要求

DTD 文件需要更新以包含<catmetadata>元素。

必须在树中的每个类别中添加一个元数据文件。这可以在一段时间内完成。

repoman需要进行一些小的更改才能处理每个类别元数据文件。

“packages.gentoo.org 元数据”漏洞 [3] 需要更新,以要求类别描述。

元数据文档 [1] 需要添加一些内容。

向后兼容性

元数据 DTD 将保持向后兼容。

类别元数据文件需要被认为是“在实现之前可选”,而不是立即成为强制性的。