制作RPM
来源:互联网 发布:淘宝问卷调查模板 编辑:程序博客网 时间:2024/04/28 23:49
原文链接:http://blog.chinaunix.net/uid-21123336-id-1830527.html
一
RPM
二
1
2
三
四
1
#yum install rpmbuild
~/rpmbuild
~/rpmbuild/SOURCES
~/rpmbuild/SPECS
~/rpmbuild/BUILD
~/rpmbuild/RPMS
~/rpmbuild/RPMS/i386
~/rpmbuild/SRPMS
如果你的用户目录主目录下没有类似目录结构,你可以通过一个工具软件来自动配置和生成,如下。
#yum install rpmdevtools
下了运行自动配置命令自动生成如上目录,并配置一些必要操作。
#rpmdev-setuptree
rpmdev-setuptree命令默认将再当前用户主目录下创建一个RPM构建根目录结构,
如果需要改变次默认位置,可以修改配置文件:~/.rpmmacros中变量_topdir对应
的值即可。
2
----------------------------------------------------------
Summary:hellorpm is a test program。
#软件包的名字
Name: hellorpm
#软件包的主版本号
Version:2.2.6
#软件包的次版本号
Release:1
#源代码包,默认将在上面提到的SOURCES目录中寻找
Source0:%{name}-%{version}.tar.gz
#授权协议
License:GPL
#定义临时构建目录,这个地址将作为临时安装目录在后面引用
BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root
#软件分类
Group:Development/Tools
#软件包的内容介绍
�scription
The hellorpm program is a test.
#表示预操作字段,后面的命令将在源码代码BUILD前执行
%prep
#构建BUILD环境,将解压源码压缩包到BUILD目录
%setup-q
#BUILD字段,将通过直接调用源码目录中自动构建工具完成源码编译操作
%build
#调用源码目录中的configure命令
./configure
#在源码目录中执行自动构建命令make
make
#安装字段
%install
#调用源码中安装执行脚本
make DESTDIR=$RPM_BUILD_ROOT install
#文件说明字段,声明多余或者缺少都将可能出错
%files
#设置文件权限属性
�fattr(-,root,root)
#声明/usr/local/bin/hellorpm将出现在软件包中
/usr/local/bin/hellorpm
#声明并设置文件属性
%doc %attr(0444,root,root)/usr/local/man/man1/hellorpm.1
#同上,声明文档文件
%docREADME
-----------------------------------------------------------------------------------
这个文档需要说明的一点:
BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root
上面BuildRoot变量表示的是源码的临时按照目录,rpmbuild就是通过次目录获得将要按照到系统中的所有文件,而在SPEC文档后面make install命令中的参数DESTDIR=$RPM_BUILD_ROOT即是对该参数的引用,这个参数将传给Makefile文件一告诉自动构建工具应该安装文件那里(实际上我再前文提到过的Makefile需要作一些改造以适应RPM的构建就包括此操作,你的Makefile文件中至少要知道在RPM构建过程中引用此参数的值去控制安装操作的目标)。
如上一个简单的SPEC文档撰写完成,下面把一个名为hellorpm-2.2.6.tar.gz的源码压缩文件放到
rpmbuild根目录下的SOURCES目录下(注,确保此归档文件解压后的目录为hellorpm-2.2.6,
否则会有问题)。到此一个完整的rpm打包环境已经构建完成,下面我们就可以开始构建二进制和源代码RPM包。
3
构建RPM包是有命令rpmbuild在SPEC的指导下完成。
开始构建操作,首先进入到当前用户的rpmbuild根目录(即上面提到的目录环境)。
#cd ~/rpmbuild/
执行如何命令,-ba表示buildall,即生成包括二进制包和源代码包的所有RPM包,下来如果正常的话,rpmbuild将正常退出,同时在RPMS目录和SRPMS目录中将生成对应的RPM包。
#rpmbuild -baSPECS/hellorpm.spec
这里仅仅介绍了一个最简单软件的最简单的RPM的打包操作过程,诸如带有共享文件的需要进行复杂配置的具有复杂依赖关系的等等的项目的打包以及后期的维护,包括补丁的制作我将在下来的时间完成补充更新,今天时间不早了,该休息了!
http://www.linuxsir.org/main/?q=node/50
http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part3/
http://hlee.javaeye.com/blog/343499
- rpm制作
- RPM制作
- rpm制作
- 制作RPM
- 如何制作rpm文件
- 如何制作rpm包
- 如何制作rpm文件
- 如何制作rpm包
- RPM软件包的制作
- 制作Linux RPM包
- RPM包的制作
- 制作rpm包
- 如何制作rpm包
- rpm包制作
- rpm包制作过程
- [整理] RPM包制作
- 如何制作rpm包
- rpm包制作
- 常见的性能测试方法
- ubuntu--访问PC/SC读卡器
- DKMS简介
- html提交参数到html
- Android RemoteController使用
- 制作RPM
- 关于焦点冲突的坑
- 查看patch在哪次内核版本生效
- SD mmc
- 数据库两种 insert的区别
- 最新微信公众号怎么申请?
- JavaScript中清空数组的三种方式
- 火狐内核GeckoFX浏览器开发--防止拖入文件直接打开
- git 怎么用命令发送patch补丁…