基于centos8 libvirt src rpm

下载src rpm

https://vault.centos.org/8.2.2004/AppStream/Source/SPackages/libvirt-4.5.0-42.module_el8.2.0+320+13f867d7.src.rpm

安装额外的repo

  • epel

yum -y install epel-release

  • powertools

yum install ‘dnf-command(config-manager)’

yum config-manager —set-enabled PowerTools

准备rpmbuild开发环境

https://blog.csdn.net/get_set/article/details/53453320

  • yum install -y rpm-build rpmdevtools
  • cd /root && rpmdev-setuptree

rpmdev-setuptree这个命令就是安装rpmdevtools带来的。可以看到运行了这个命令之后,在$HOME家目录下多了一个叫做rpmbuild的文件夹,里边内容如下:

  1. $ tree rpmbuild
  2. rpmbuild
  3. ├── BUILD
  4. ├── RPMS
  5. ├── SOURCES
  6. ├── SPECS
  7. └── SRPMS

根据src rpm生成打好patch的code

  • 安装失败的依赖
  1. bluez-libs-devel is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  2. brlapi-devel is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  3. device-mapper-multipath-devel is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  4. glusterfs-api-devel >= 3.6.0 is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  5. glusterfs-devel is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  6. libcacard-devel is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  7. librados-devel is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  8. librbd-devel is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  9. pkgconfig(gbm) is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  10. snappy-devel is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  11. spice-server-devel >= 0.12.8 is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  12. texinfo is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  13. usbredir-devel >= 0.7.1 is needed by qemu-kvm-15:2.12.0-99.el8.4.x86_64
  1. - bluez-libs-devel

yum install -y bluez-libs.x86_64

download bluez-libs-devel rpm from http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/bluez-libs-devel-5.50-3.el8.x86_64.rpm

rpm -ivh bluez-libs-devel-5.50-3.el8.x86_64.rpm

  1. - brlapi-devel

直接build libvirt code

  • 编译命令
  1. ./configure --enable-kvm --prefix=/home/zhanghaoyu/qemu-obj/ --enable-debug --target-list=x86_64-softmmu
  2. make && make install
  • 依赖包安装
    • python