openSUSE:Standards YaST2 Repository Metadata content

跳转到:导航搜索



原理

什么是产品,什么使产品成为产品?

安装 openSUSE-10.2 可以通过各种方式完成。最终,计算机系统安装了 openSUSE-10.2。

几乎。

根据安装介质,最终安装的软件包集会有所不同。你可能会获得额外的字体、翻译、游戏等等。核心功能相同,但存在细微的差异。

我们希望检测这些差异,用于调试和统计目的。
否则我们如何知道将精力放在哪里?在更多的 CD 上还是在更好的 FTP 仓库上?

Code11

Icon-warning.png
警告:Code11 将会有更改。请继续关注。

产品元数据

仓库根目录下的 content 文件定义了产品。在内部,产品具有名称、版本、发布版和架构。此外,它还有依赖关系。简而言之,它是一个可以使用与 RPM 软件包相同的语义解析的产品。


示例

CONTENTSTYLE 11
NAME         SUSE_SLES
VERSION      11
RELEASE      0
DISTRIBUTION SUSE Linux Enterprise Server 11.0 (i686)
DESCRDIR     suse/setup/descr
DATADIR      suse
LABEL        SUSE Linux Enterprise Server 11
VENDOR       SuSE Linux Products GmbH
BASEARCHS    i386
RELNOTESURL http://www.novell.com/linux/releasenotes/i386/SUSE-SLES/11/release-notes-sles.rpm
META SHA1 5f4dfc16a5395614af94392382d61e7f4d251c6e  Basis-Devel-10-235.2.i586.pat.gz
META SHA1 ff619b5e2a559c3443dfd07a3319112fa97f9af2  Dom0-10-235.2.i586.pat.gz
...
HASH SHA1 12171caa5bf085ad295c64eb01faaec7b698569f  control.xml
HASH SHA1 2f4eaf960048b9dccc6f47584c0ce31f43332ef1  media.1/info.txt
...
KEY SHA1  17162a96933229a9771ee10c0976bdc047a2f53d  gpg-pubkey-0dfb3188-41ed929b.asc
KEY SHA1  f6accbb18d705bfc104c893cf7dfca1247a33f3c  gpg-pubkey-307e3d54-481f30aa.asc

当前标签文档

CONTENTSTYLE

  • 必须是 content 文件的第一个标签
  • 对于 Code11,必须具有值 '11',即 CONTENTSTYLE 11

NAME 将被添加


VERSION 和 RELEASE

  • 这将是版本-发布版
  • 与软件包版本相同的限制适用
  • 必须可比较(如 RPM 版本-发布版字符串)
  • 版本指定可见编号,发布版是内部的,GA 从 0 开始,并在后续重建中增加。
示例

VERSION 10.2
RELEASE 0 (GA 版本)

VERSION 10.2
RELEASE 1 (重新制作的版本)

Factory 版本

对于 factory,版本必须与发布的产品的版本不同。在 factory 实际上是即将发布的产品的短时间内,拥有相同的版本是可以接受的 - 通常不是。

因此,一旦 openSUSE-10.2 分离,并且 factory 中出现新的/更新的软件包,其版本必须增加。

Factory 版本必须高于 10.2(因为开发在继续)且低于 10.3(我们还没有到那里)。
并且应该可以检测到对 factory 树的更改。

因此 factory 将是
VERSION 10.2.1
RELEASE 1
每次将 factory 树同步到公共环境时,发布版号都会增加(从 1 开始)。

BASEARCHS

  • 用空格分隔的产品架构列表。将为可用产品列表中创建每个架构的产品。
  • 匹配可用产品-发布版软件包架构。

DISTRIBUTION

表示发行版的字符串。相同的字符串很可能用于 .rpms 中,以表示发行版。通常是名称、版本和风味的组合。

PATTERNS

  • 产品预先选择的模式列表。
  • 由 YaST 解析和评估。

DESCRDIR

  • 软件包列表和模式的位置。

DATADIR

  • 软件包的位置

LABEL

  • 用于显示目的的产品名称
  • 可以另外指定翻译,如 LABEL.locale,即 LABEL.de 或 LABEL.cz

META SHA1

  • 定义 DESCRDIR 中资源的校验和

HASH SHA1

  • 定义与媒体根目录无关的文件的校验和

KEY SHA1

  • 定义 gpg 密钥的校验和

VENDOR

  • 定义产品的供应商
  • 必须与 .prod 文件中的 <vendor> 标签相同
    • 如果仓库元数据未为软件包提供供应商信息(=Vnd:packages 文件中),则软件包供应商将使用此作为后备

UPDATEURLS

  • 更新的默认仓库

EXTRAURLS

  • ?

OPTIONALURLS

  • ?

RELNOTESURL

  • 发布说明的 URL

LINGUAS

  • 此产品支持的语言列表。
    • 如果需要另一种语言,则需要安装例如语言附加组件(如果为安装选择的语言不在此列表中,YaST 会显示警告)。

LANGUAGE

  • LANGUAGE 将被 YaST 解析,并定义默认语言(除非另有设置)
    • linuxrc 在从 DVD 启动时设置默认语言。
    • 安装附加产品时,使用基本产品的语言。

REPOTAGS

Susemini.png
版本
satsolver-0.14.16
libzypp-6.31
[BNC Bug377568]
  • 仓库(!) 唯一的标识字符串。
    • 可以使用此字符串来识别通过不同的 URI 访问的重复仓库。
    • 合并的仓库可以提供多个 REPOTAGS 条目。

REGISTERPRODUCT

对于附加产品。此产品是否需要注册。

已废弃的标签

  • PRODUCT 将被忽略(替换为 NAME)
  • DISTPRODUCT 将被忽略(替换为 DISTRIBUTION)
  • DISTVERSION 将被忽略(替换为 DISTRIBUTION)
  • TYPE 将被忽略(请参阅
  • ARCH.* 将被忽略(替换为 BASEARCHS)
  • DEFAULTBASE 将被忽略(替换为 BASEARCHS)
  • PROVIDES 将被忽略
  • REQUIRES 将被忽略
  • OBSOLETES 将被忽略
    • “content”文件描述了一个产品,该产品在 satsolver/libzypp 中表示为可解析的内容。
    • 这样的产品没有依赖关系,所有依赖关系都以软件包级别表示。
    • 产品具有匹配的 -release 软件包,-release 软件包需要产品的强制软件包。
    • 没有旧的 REQUIRES 标签的替代方案。安装工具可以查看 PATTERNS 以获取要安装的模式。
  • SHORTLABEL 将被忽略
    • 当前由引导加载程序使用,但如果不存在则默认为 LABEL
  • YOUURL 将被忽略

未文档化/不明确

  • 哪些标签是必需的,哪些是可选的?
对于 libzypp,NAME、VERSION、BASEARCHS、VENDOR。其他值只是转发到应用程序。但其他组件可能也需要其他标签。
  • 几个标签(例如 NAME)包含“与软件包名称相同的限制适用”注释。这些限制是什么?
请参阅 ,但应用程序可能并不关心...

Code10

产品名称

PRODUCT
是产品的详细名称,准确地指定其特征
  • 没有空格(所有现有的空格都将转换为下划线)
  • 没有版本(请参阅VERSION)
  • 没有架构
  • 与 RPM 软件包名称相同的规则适用
示例

PRODUCT openSUSE

产品版本

VERSION
指定 版本-发布版
  • 必须可比较(如 RPM 版本-发布版字符串)
  • 版本指定可见编号,发布版是内部的,GA 从 0 开始,并在后续重建中增加。
示例

VERSION 10.2-0 (GA 版本)
VERSION 10.2-1 (重新制作的版本)

Factory 版本

对于 factory,版本必须与发布的产品的版本不同。在 factory 实际上是即将发布的产品的短时间内,拥有相同的版本是可以接受的 - 通常不是。

因此,一旦 openSUSE-10.2 分离,并且 factory 中出现新的/更新的软件包,其版本必须增加。

Factory 版本必须高于 10.2(因为开发在继续)且低于 10.3(我们还没有到那里)。
并且应该可以检测到对 factory 树的更改。

因此 factory 将是VERSION 10.2.1-1每次将 factory 树同步到公共环境时,发布版号都会增加(从 1 开始)。

依赖关系

提供的功能 (Provides)

对于给定的示例 - 通过不同方式安装的 openSUSE-10.2 - 最终的系统是 openSUSE-10.2。必须可以检测到这个事实。并且可以通过依赖关系来实现。

PROVIDES
产品提供的其他标签(除了它自己的名称)
示例

PROVIDES product:openSUSE = 10.2

必须有一个明确的product前缀,因为依赖关系默认到软件包名称空间!

废弃 (Obsoletes)

由于新产品是早期产品的替代品,因此应该通过适当的 废弃 依赖关系来表达这一点。

示例

OBSOLETES product:SUSE_LINUX product:openSUSE < 10.2

openSUSE-10.2 废弃了 SUSE_LINUX(非版本化的废弃!)和所有早期版本的 openSUSE。

参见

此页面未涵盖整个 content 文件。请参阅 (但也不是完整的...)