rpm包构建
获取源码:
例如,选取ceph 10.2.6待发布版本
branch to build from: jewel, commit: d9eaab456ff45ae88e83bd633f0c4efb5902bf07
获取需要的源码:
$ git clone https://github.com/ceph/ceph.git -b jewel
$ git reset d9eaab456ff45ae88e83bd633f0c4efb5902bf07
安装依赖:
$ ./install-deps.sh
下载一个已经发布的源码包并解压:
$ wget http://download.ceph.com/tarballs/ceph_10.2.5.orig.tar.gz
解压后获取目录下ceph.spec。
将已经发布的源码目录下ceph.spec拷贝出,编辑
Name: ceph
Version: 10.2.5
Release: 1%{?dist}
Epoch: 1
打包最后版本:Version-Release 10.2.5.1
注意:如果编辑了version,比如为10.2.6,那么最后版本为10.2.6,如果官方真发布对了10.2.6,那么升级就比较麻烦了,可能需要重装(因为版本与官方一致)
最终编译的rpm包版本 10.2.5.1 官方为10.2.5.0
编辑后拷贝到新源码目录,重命名目录后(注意,目录必须是ceph-10.2.5),打包。
$ tar jcvf ceph-10.2.5.tar.bz2 ceph-10.2.5/
此时,有新源码包ceph-10.2.5.tar.bz2和ceph.spec。
安装rpm构建:
$ yum install rpm-build rpmdevtools
创建构建目录:
$ rpmdev-setuptree
会在构建用户的家目录下多出一个rpmbuild
将源码拷贝至~/rpmbuild/SOURCES,ceph.spec拷贝至~/rpmbuild/SPECS
建议使用tmux进行开session构建,时间较长
$ rpmbuild -ba ~/rpmbuild/SPECS/ceph.spec
构建完成后,会在~/rpmbuild/RPMS/下有需要的rpm包。