软件包命名规范 V1.2
发布时间:2004 年 5 月 12 日
发布人:王仲俊
为方便软件包的管理,和已有的通用惯例一致,对公司软件包的命名方式做统一的规范。
原始软件包的命名规则如下:
Name-Version-Release.arch.rpm
我们以gnome-panel-2.4.0-3.i386.rpm为例,gnome-panel是Name项,2.4.0是Version项,3是Release项,i386对应的是arch。Rpm包原包名、版本号、Release号加以继承不予更改,以方便rpm包管理中的版本大小的区分,在此原则基础上,在Release号上追加公司标志号(cocreate,注意拼写写法)和公司的控制Release版本号(1以上得自然数)。仍旧以gnome-panel为例,追加后的版本为gnome-panel-2.4.0-3.cocreate.1.i386.rpm。
具体实现方法:
rpm包的包名的生成是由spec文件的几个宏来实现控制的,这几个宏是Name、Version、Release,对应前面介绍的几个项,在Release中追加公司标志号和公司的控制Release版本号。这部分内容在spec文件结构如下:
Name: gnome-panel
Version: 2.4.0
Release: 3
License: GPL
Group: User Interface/Desktop
Source:
Patch0:
:
Buildroot:
Requires:
BuildArchitectures:
在spec文件中可以用%define来定义宏,在此统一用以下格式来实现追加版本号。
第一步:
在spec文件开头定义公司版本号,用以下统一格式
%define vendor_release cocreate.Num
Num号是1起的自然数,Num号取向为自然递增,新版本Num号自然的比旧版本Num号要大。Num号是用于标记大的前提版本没有变化的情况下,小的性能改动所得的版本。
第二步:
将vendor_release值追加到Release中
Release: 3.%{vendor_release}
这样完成后的整体结构变为:
%define vendor_release cocreate.1
Name: gnome-panel
Version: 2.4.0
Release: 3.%{vendor_release}
License: GPL
Group: User Interface/Desktop
Source:
Patch0:
:
Buildroot:
Requires:
BuildArchitectures:
特别注意:
1.Release中的细节,原有Release号后要加“.”号,再加%{vendor_release}。
2.各位开发人员在构造RPM包时,请注意本机主机名的设置,本机主机名统一使用yourname.ccoss.com.cn格式主机名(域名),不能使用默认的localhost.localdomain主机名,yourname为个人名字的全拼字母,例如wangzhongjun.ccoss.com.cn,如果个人有两台以上的机器,则使用yournameNum.ccoss.com.cn格式主机名,例如wangzhongjun.ccoss.com.cn,wangzhongjun1.ccoss.com.cn,wangzhongjun2.ccoss.com.cn等。各程序员必须严格按照此格式设置各自机器的主机名。