在CentOS 6.3 64bit上如何从源码生成rpm包?

来源:互联网 发布:硅藻泥环保 知乎 编辑:程序博客网 时间:2024/06/15 04:20
具体例子参见《鸟哥私房菜》23.3.5中的例子,非常详细和经典!

下面是在CentOS 6.6 64bit上面的实操记录
首先查询本机是否有安装rpmbuild命令?
whereis rpmbuild
在安装完成后,直接运行
man rpmbuild
来查询即可
显示当前配置情况
rpmbuild --showrc

如果事先没有安装rpmbuild,以root用户安装rpmbuild命令
yum -y install rpm-build
系统默认的rpm构建目录是/root/rpmbuild,但是起初系统中并没有这样的目录结构,我们可以在对一个.spec文件直接执行下面的命令来自动生成这个结构

rpmbuild -ba ats.spec


编译前的目录结构是这样的


从鸟哥网址下载如下源码包
wget 'http://linux.vbird.org/linux_basic/0520source/main.tgz'
tar zxvf main.tgz
编写Makefile文件,略作修改
另外得到.o文件:
gcc -c main.c
gcc -c hehe.c
gcc -c sin_value.c
gcc -c cos_value.c
再次打包
tar -zcvf main-0.1.tar.gz main-0.1
将源码包复制到rpmbuild默认源码目录下面
cp main.0.1.tar.gz /root/rpmbuild/SOURCES
在/root/rpmbuild/SPECS下面编写针对该项目的SPEC文件,
vim main.spec
保存后,在当前目录下面执行
rpmbuild -ba main.spec


(从中易见,编译过程中会生成以临时目录RPM_INSTALL_ROOT,写入rpm后会删除它,所以需要在Makefile的install中添加安装文件的这个前缀)
成功编译后的结果是

下面开始测试打包的结果
安装rpm包

测试rpm包


实际查询rpm包


0 0
原创粉丝点击