登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

820716的博客-知识分享 向上的心!

知识分享 开阔向上的心胸! http://www.820716.net/blog

 
 
 

日志

 
 

精通RPM之--制作篇(中-2)  

2009-02-02 15:25:59|  分类: 个人日记 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
6. 一种特殊的宏
这种宏的用法是:


%(SHELL命令及其参数)
它的结果是取指定的SHELL命令的标准输出的结果作为描述文件内容的一部分。如软件包描述文件的某个部分需要加上当前日期,则可以用:


%(date +%Y-%m-%d)

执行后,该宏将扩展为类似2001-10-31的日期数据。用户不妨在自己的描述文件的预处理段(%prep)内加上这么两行试试:


%(date +%Y-%m-%d)
exit 1

注: exit 1用于中止RPM的执行。

描述文件模板

下所有描述文件模板均以LZE软件包制作为例,以源程序现场编译后产生的文件为准生成软件包。描述文件中一般只描述必要的部分。另外,如果文件段的所有文
件已存在于系统中,并且想直接利用打包,则可以去掉Source域,去掉RPM建包用功能段
(%prep,%build,%install,%clean)。

1. 只有父包,没有任何子包:
此描述文件见<<
精通RPM之七--制作篇(上)>>。此文件中还可以去掉几个可选的功能段,
如%pre,%post,%preun,%postun,%triggerin,%triggerun,%triggerpostun。这几个段在此文件
中无实质用途,执行时仅显示RPM开始执行某个脚本程序的信息。此描述文件仅生成软件包lze-6.0-2.i386.rpm(父包)。

2. 有父包,也有子包:

描述文件如下:

1 # 文件名称: lze-6.0-2.spec1
2 # 文件功能: lze软件包描述信息
3 # 文件作者: 纵横软件制作中心雨亦奇 国防大学研究生二队赵建利
4 # 修改时间: 2001.10.31
5
6 Name: lze
7 Version: 6.0
8 Release: 2
9 Summary: 小赵全屏幕中英文多窗口多功能编辑器(LINUX/UNIX系统适用)
10 Group: Applications/Editors
11 License: Share
12 Source: http://zhsoft.myetang.com/lze-6.0-2.src.tgz
13
14 %description
15 小赵编辑器,是为使用SCO UNIX,LINUX多用户系统的广大用户专门设计的全屏幕多窗
16 口中英文多功能编辑器。
17 它主要有以下十大特点:1.全屏幕菜单操作。2.显示方式多样。3.块操作丰富。4.十
18 字制表功能强大。5.多窗口操作灵活自如。6.文件操作功能齐全。7.解释输出功能独具特
19 色。8.自带中文输入法(增强五笔和增强拼音),实用方便。9.十六进制编辑功能,如虎
20 添翼。10.即时翻译,按到即译。
21 总之,小赵编辑器会成为您在UNIX,LINUX系统上编制程序和书写一般性文稿的好帮手。
22 它将在工作中助您一臂之力,轻松上阵,游刃有余!
23
24 %prep
25 echo "预处理脚本程序(prep)开始执行"
26 %setup
27
28 %build
29 echo "编译连接脚本程序(build)开始执行"
30 make
31
32 %install
33 echo "安装脚本程序(install)开始执行"
34 make install
35
36 # 配置文件子包
37 %package config
38 summary : 小赵编辑器LZE的配置文件
39 group : Applications/Editors
40
41 %description config
42 小赵编辑器用配置文件包括功能键定义文件与
43 输入法控制文件,用户可根据实际情况加以修改。
44
45 %files config
46 %config /etc/funkey.def
47 %config /etc/inputme.def
48
49 # 说明文档子包
50 %package doc
51 summary : 小赵编辑器LZE的说明文档
52 group : Applications/Editors
53
54 %description doc
55 小赵编辑器说明文档,详细介绍了该编辑器的
56 命令行用法及内置的各项菜单的功能与操作,对用
57 户熟悉小赵编辑器有很大作用。
58
59 %files doc
60 %doc /usr/doc/lze-6.0/README
61 %doc /usr/doc/lze-6.0/LICENSE
62
63 # 父包文件段
64 %files
65 %defattr (-,root,root)
66 /usr/bin/lze
67 /usr/bin/lzeime.py
68 /usr/bin/lzeime.wb
69 /etc/wbzc.dat
70
此描述文件生成软件包有:lze-6.0-2.i386.rpm(父包),lze-config-6.0-2.i386.rpm(配置文件子包)和lze-doc-6.0-2.i386.rpm(说明文档子包)。

3. 没有父包,只有子包:
没有父包,意味着描述文件中可以没有父包的文件段(%files),请看下面的描述文件:

1 # 文件名称: lze-6.0-2.spec2
2 # 文件功能: lze软件包描述信息
3 # 文件作者: 纵横软件制作中心雨亦奇 国防大学研究生二队赵建利
4 # 修改时间: 2001.10.31
5
6 Name: lze
7 Version: 6.0
8 Release: 2
9 Summary: 小赵全屏幕中英文多窗口多功能编辑器(LINUX/UNIX系统适用)
10 Group: Applications/Editors
11 License: Share
12 Source: http://zhsoft.myetang.com/lze-6.0-2.src.tgz
13
14 %description
15 小赵编辑器,是为使用SCO UNIX,LINUX多用户系统的广大用户专门设计的全屏幕多窗
16 口中英文多功能编辑器。
17 它主要有以下十大特点:1.全屏幕菜单操作。2.显示方式多样。3.块操作丰富。4.十
18 字制表功能强大。5.多窗口操作灵活自如。6.文件操作功能齐全。7.解释输出功能独具特
19 色。8.自带中文输入法(增强五笔和增强拼音),实用方便。9.十六进制编辑功能,如虎
20 添翼。10.即时翻译,按到即译。
21 总之,小赵编辑器会成为您在UNIX,LINUX系统上编制程序和书写一般性文稿的好帮手。
22 它将在工作中助您一臂之力,轻松上阵,游刃有余!
23
24 %prep
25 echo "预处理脚本程序(prep)开始执行"
26 %setup
27
28 %build
29 echo "编译连接脚本程序(build)开始执行"
30 make
31
32 %install
33 echo "安装脚本程序(install)开始执行"
34 make install
35
36 # 配置文件子包
37 %package config
38 summary : 小赵编辑器LZE的配置文件
39 group : Applications/Editors
40
41 %description config
42 小赵编辑器用配置文件包括功能键定义文件与
43 输入法控制文件,用户可根据实际情况加以修改。
44
45 %files config
46 %config /etc/funkey.def
47 %config /etc/inputme.def
48
49 # 说明文档子包
50 %package doc
51 summary : 小赵编辑器LZE的说明文档
52 group : Applications/Editors
53
54 %description doc
55 小赵编辑器说明文档,详细介绍了该编辑器的
56 命令行用法及内置的各项菜单的功能与操作,对用
57 户熟悉小赵编辑器有很大作用。
58
59 %files doc
60 %doc /usr/doc/lze-6.0/README
61 %doc /usr/doc/lze-6.0/LICENSE
62
63 # 执行程序子包
64 %package bin
65 summary : 小赵编辑器LZE的执行程序
66 group : Applications/Editors
67
68 %description bin
69 小赵编辑器执行程序为lze,五笔输入法服务器执行程序
70 为lzeime.wb,拼音输入法服务器执行程序为lzeime.py。
71
72 %files bin
73 %defattr (-,root,root)
74 /usr/bin/lze
75 /usr/bin/lzeime.py
76 /usr/bin/lzeime.wb
77 /etc/wbzc.dat
78

此描述文件生成三个软件包:lze-config-6.0-2.i386.rpm(配置文件子包),lze-doc-6.0-2.i386.rpm(说明文档子包),lze-bin-6.0-2.i386.rpm(执行程序子包)。
  评论这张
 
阅读(334)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018