打包一个支持rbd的tgt

打包一个支持rbd的tgt

下载源码包

当前的最新版本到了1.0.84,本篇就以这个举例子

1
2
3
4
5
6
[root@lab103 tgtd]# wget https://github.com/fujita/tgt/archive/refs/tags/v1.0.84.tar.gz
[root@lab103 tgtd]# tar -xvf v1.0.84.tar.gz
[root@lab103 tgtd]# cd tgt-1.0.84/
[root@lab103 tgt-1.0.84]# mv README.md README
[root@lab103 scsi]# cd ../
[root@lab103 scsi]# tar -czvf tgt-1.0.84.tar.gz tgt-1.0.84

上面有个打包的脚本没处理好,需要改下上面的文件名称,然后压缩成新的包

安装依赖包

1
yum install libibverbs-devel librdmacm-devel libaio-devel docbook-style-xsl  systemd-devel glusterfs-api-devel -y

官方的包路径

1
https://download-ib01.fedoraproject.org/pub/epel/7/SRPMS/Packages/s/scsi-target-utils-1.0.55-4.el7.src.rpm

官方的包只做到了1.0.55版本的,我们基于这个版本合入我们的最新版本的

解压源码包

1
[root@lab103 scsi]# rpm2cpio scsi-target-utils-1.0.55-4.el7.src.rpm |cpio -div

修改打包的脚本

1
2
3
4
5
6
7
8
···
%global with_rbd 1
%global with_glfs 0
···
Name: scsi-target-utils
Version: 1.0.84
···
#%patch0 -p1

开启rbd,关闭gluster,去掉patch0

把包放打包路径

1
2
[root@lab103 scsi]# cp -ra tgt-1.0.84.tar.gz /root/rpmbuild/SOURCES/
[root@lab103 scsi]# cp -ra * /root/rpmbuild/SOURCES/

打包

1
2
3
4
5
[root@lab103 scsi]# rpmbuild -bb scsi-target-utils.spec
···
Wrote: /root/rpmbuild/RPMS/x86_64/scsi-target-utils-1.0.84-4.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/scsi-target-utils-rbd-1.0.84-4.el7.x86_64.rpm
···

这两个包就是我们需要的包