RPM的制作(.spec文件)
来源:互联网 发布:苏州罗盘网络面试题 编辑:程序博客网 时间:2024/05/07 02:29
参考的资料:《鸟哥的Linux基础篇》(此书第三版使用centos5.x)
使用系统:centos6.5
rpm和srpm文件都是对/root/rpmbuild/里面的源码和配置文件编译打包得到的
centos6.5与centos5.x在这篇里的区别
与/root/rpmbuild/对应的目录,在centos5.x里是/usr/src/redhat/
同时,centos6.5比5.x多了一个BUILDROOT,用来部分替代BUILD暂存编译过程中的数据(没在5.x上面试过,所以不能把BUILDROOT对BUILD的替代说明白)
(若没有发现/root/rpmbuild/这个目录,可以尝试安装rpm-build
yum install -y rpm-build
)
前期工作:把源码与makefile打包成tar.gz格式放到: /root/rpmbuild/SOURCES下面
下面,就是最重要的设置文件*.spec的编写(这里用参考资料的例子)
[root@www SPECS]# vim main.spec<pre name="code" class="plain">Name:mainVersion:0.1Release:1%{?dist}Summary:calculate sin and cos value.Group:vampire'HomeLicense:GPLURL:http://linux.vampire.orgSource0:main-0.1.tar.gzBuildRoot:%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)#BuildRequires:#Requires:%descriptionThis package will let you input your name and calculate sin cos value.%prep%setup -q%buildmake%installrm -rf %{buildroot} //%{buildroot}即/root/rpmbuild/BUILDROOT/main-0.1-1.el6.i386也就是刚才设置的Buildootmkdir -p %{buildroot}/usr/local/bin/main //此处原书上少写了“/main”编译时会出现not found的提示make install PRM_INSTALL_ROOT=%{buildroot}%files/usr/local/bin/main //软件安装时的位置%changelog* Fri Jul 05 2014 vampire- build the program
这个例子中没有特别需要设置依赖属性需求的地方。程序的实质就是一个main调用3个简单的子程序
rpmbuild -ba main.spec具体过程(大致按main.spec的顺序进行):
1. 先进入到 BUILD 这个目录中
2. 依照 *.spec 档案内的 Name 不 Version 定丿出工作的目录名称,以我们上面的例子为例,那么系统就会在 BUILD 目录中先删
除 main-0.1 的目录,再重新建立一个main-0.1 的目录,进去该目录;
3. 对SOURCES下的tar.gz解压缩到上面进去的目录
4. 再来开始 %build 及 %install 的设定与编译!
5. 将rpm和sprm文件放到相应的地方去(/root/RPMS/i386、/root/SRPMS)
over!
0 0
- RPM的制作(.spec文件)
- rpm的制作 spec文件写法
- 制作rpm包的spec文件
- rpm的制作 spec文件写法
- 制作rpm所依赖的spec文件详细说明
- RPM SPEC文件的一些知识点
- Linux: 学习如何制作RPM包, SPEC文件如何编写
- rpm打包spec文件
- rpm spec文件编写
- rpm 制作与spec 解析
- RPM包rpmbuild SPEC文件
- RPM原理详解-spec文件
- RPM原理详解-spec文件
- RPM包rpmbuild SPEC文件
- RPM打包与SPEC文件
- 升级RPM包的Spec文件调研(转)
- ceph存储 Linux下rpm制作中spec文件编写规范
- rpm spec
- Jquery操作 选择型表单
- swing/swt/awt组件互嵌
- 《学习opencv》笔记——矩阵和图像操作——cvSum,cvSVD,cvSVBkSb,cvTrace,cvTranspose,cvXor,cvXorS and cvZero
- 转:Oracle GoldenGate学习之Goldengate介绍
- Altium Designer9 BGA Fanout 扇出的操作技巧
- RPM的制作(.spec文件)
- java多线程
- Protobuf
- C++primer Plus答案3.14.9——3.14.10
- 安卓App有风险,爱加密加固保护App安全!
- C++ 拷贝构造函数与赋值函数
- 多线程启动时,局部变量与成员变量的差异
- [leetcode] Populating Next Right Pointers in Each Node II
- android游戏开发按锁屏键导致游戏重新加载问题