使用rpmbuild对ceph的源码包进行重新打包
進入ceph源碼包下載ceph相關的rpm包和tar包
我們下載的是ceph-12.1.1-0.el7.src.rpmceph L版本的rpm包
執行命令rpmbuild --rebuild ceph-12.1.1-0.el7.src.rpm
等待它執行到configuring done之后就強行終止
-- Found cython
-- Performing Test HAS_VTA
-- Performing Test HAS_VTA - Success
-- Check if the system is big endian
-- Searching 16 bit integer
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Found PythonInterp: /bin/python2.7 (found version "2.7.5")
-- exclude following files under src: *.js;*.css;civetweb;erasure-code/jerasure/jerasure;erasure-code/jerasure/gf-complete;rocksdb;googletest;spdk;xxHash;isa-l;lua;Beast;boost;dpdk;zstd;crypto/isa-l/isa-l_crypto;blkin;rapidjson
-- Configuring done
會在當前用戶目錄下生成一個rpmbuild文件夾,該文件夾的目錄層級如下
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
此時在SOURCES目錄下存放的是該版本的ceph源碼包ceph-12.1.1.tar.bz2,如果完全執行完rpmbuild --rebuild命令,那么RPMS存放的是這個版本Ceph所有的rpm包,BUILD存放解壓后的源碼文件夾,SPECS存放源碼編譯以及打包的規則文件ceph.spec文件,SRPMS文件夾存最終重新打包的源碼二進制rpm包文件ceph-12.2.1-0.el7.centos.src.rpm(該文件可以執行用rpm -i 執行,生成rpmbuild文件夾)
綜上,如果我們對自己源碼有改動,則只需要進入SORUCES文件夾下,使用tar jxvf ceph-12.1.1.tar.bz2解壓該源碼包,將自己代碼合入之后再執行tar jcvf ceph-12.1.1.tar.bz2 ceph-12.1.1再次執行壓縮該文件
最后進入SPECS文件夾下,執行rpmbuild -ba ceph.sepc重新構建Ceph的源碼包(SRPMS目錄下)和二進制軟件包(RPMS目錄下)。
總結
以上是生活随笔為你收集整理的使用rpmbuild对ceph的源码包进行重新打包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “密如飘玉屑”下一句是什么
- 下一篇: 关于OSD::mkfs: ObjectS