您的位置:首页 > 其它

Debian policy --包的版本信息(一)

2016-02-24 00:00 211 查看
摘要: "
记录学习的点点滴滴
"

debian二进制包信息

简介
debian的发行是基于debian二进制包管理系统的--dpkg。因此使用debian进行发行的包必须提供.deb格式的文件。

一个deb包包含两部分文件,第一部分为软件包需要安装到系统中的文件,另一部分为提供额外关于包的元数据文件,这一部分通常被叫做控制信息文件。在第二部分的文件中,这些文件要么是包维护者脚本要么是控制文件。

包名

每一个包名在debian的存档中必须是独一无二的。每一个包名都存在于control(debian/control)文件的package字段,并且它会在deb文件的名字中充当一部分字段。

包版本

每一个包会有一个版本号,该版本号记录在control文件中的Version字段,包管理系统强加一个版本号的等级,这样是为了让你说出版本号能否被升级并且用来保证一个下载的包是否比安装到系统中的包更加的新。

基于日期的版本号
总体来讲,debian包应当使用和上游的源码使用同样的版本号,然而,上游的源码常常会基于一些日期格式,这样也会导致包的版本号无法进行排序。例如,dpkg将会认为96May01的版本号大于96Dec01。

为了避免每一个上游的新版本都需要加上'epoch',任意上游版本号应当基于一种方法,并且排序正确。例如日期方式给定版本号:年为4个数字,月为两个数字,日期为两个数字,这些组成部分之间使用标点符号进行连接。

本地二进制包的版本号包含日期的应当要遵循这样的原则,如果日期之间的组成需要标点符号进行连接的话,最好使用(-)符号进行连接,(.)符号是一个比较好的选择。

包名的维护者

每一个必须有一个包的维护者,尤其是下面描述的“孤儿包”。维护者可能是一个人,也可以是一组人。维护者用来负责维护二进制包文件,评估和反馈已经发布的bug。上传新版本的包,确保二进制包放置到合适的归档区域。

维护者必须在control配置文件的Maintainer区域指定正确的名字和一个工作邮件。在Maintainer控制字段同样必须给出接收邮件的地址。这个地址不仅用来接收bug跟踪系统的反馈信息,并且接收debian存档管理软件的信息,和来自其他账户反馈的信息。如果一个人和团队维护好几个包,他们应当在Maintainer字段使用相同的名字和邮件地址。

包的描述

每一个包信息的描述包含两个部分,一个包含大纲信息,另一个部分为额外的扩展信息。

这样的描述信息是用来帮助系统管理员拥有足够的信息来决定是否需要安装这样的二进制软件。

将重要的信息,放入到大纲和扩展信息中。这个描述同样应当给出重要的依赖和冲突,以便于用户知道为什么这些依赖和冲突被声明。配置和使用软件包的信息不应当被包含。

单行概要
单行大纲或者概要应当简明扼要,应当在80个字符以下。

扩展性描述

不要将单行概要放入扩展性描述当中,当单行概要被全部列举出来的时候,并不会让人很明白,并不能帮助人正确的工作。

扩展性描述应当包含二进制包做了什么,并且该二进制包和其他系统的关联信息。

描述性信息需要让任何人都理解这个包是用来做什么

依赖
每一个软件包必须指定需要让该软件包正常工作需求的其它的依赖包。

例如,一个依赖目录应当提供任何需要的动态共享库。

软件包并不需要去申明任何软件包依赖依赖的其它二进制包。有时候解压一个软件包的时候需要先保证另外的包先被解压或者配置。这样来看,依赖包必须在控制文件的pre-depends区域指定这个依赖。

虚拟软件包

有时候,有一些软件包或多或少的提供相同的功能点。在这案例中,使用一个名字来描述几个二进制包的基本功能点。特定功能的软件包将会提供虚拟软件包。因此,任何依赖这个功能的软件包在depends字段只需要指定虚拟软件包的名字,而不需要指定所有具有该功能的软件包。 具体内容见:http://wiki.deepin.org/?title=%E8%BD%AF%E4%BB%B6%E5%8C%85

基本系统
base system是一个debian系统的最小的子集。很少的软件包就能构成一个基础系统,这也能保证磁盘的使用占用一个很小的比例。

基本系统由等级为"required"、"important"的软件包构成。

未完待续 --未排版
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: