一个rpm包的艰难诞生

本文档记录了在CentOS 7.5上使用FPM工具创建RPM包的过程,以及遇到的依赖问题和解决方法。在尝试使用checkinstall失败后,作者转向了FPM。通过安装ruby、gem及相关依赖,然后编译spice-server并使用FPM打包。在安装测试中,由于缺少libspice-server.so的多个版本提供,导致qemu-kvm-ev依赖错误。通过分析rpm包的spec文件,作者找到了解决方案,添加了缺失的Provides标签,并重新打包解决了问题。

问题背景

环境:CentOS 7.5
本打算使用checkinstall来打包spice-server,奈何CentOS7.5下没法yum install checkinstall
遂去网上找rpm包安装,然后总是报error:

/xx/xx/libxxx.so is not a directory

怀疑是版本问题,然后去 git clone http://checkinstall.izto.org/checkinstall.git
手动装最新版本,结果还是报error:

Building file list… FAILED!
cat: /var/tmp/tmp.wHtVtWP0YZ/newfiles: No such file or directory

自带的log显示:

error: line 11: Unknown tag: Recommends:

查了半天也没解决,没办法了只能想别的办法
rpmbuild 和 dpkg-buildpackage的操作太麻烦,暂不考虑
查到个新玩意儿,FPM
看起来很好吃很好用的样子,哈哈


安装FPM

#安装rugy、gem:
yum -y install ruby rubygems ruby-devel
gem source -l
#添加国内aliyun的源:
gem sources -a http://mirrors.aliyun.com/rubygems/
#移除原生官方源:
gem sources --remove https://rubygems.org/
#更新源:
gem source -u
#安装fpm:
gem install fpm

编译spice-server并打包

获取、修改源码

wget https://www.spice-space.org/download/releases/spice-server/spice-0.14.1.tar.bz2

install deps && config && make,缺啥包你们自己补吧

yum install spice-protocol
yum install glib2 glib2-devel
yum install pixman pixman-devel
yum install celt051 celt051-devel
yum install openssl openssl-devel
yum install libjpeg-turbo libjpeg-turbo-devel
yum install opus opus-devel
yum install cyrus-sasl cyrus-sasl-devel lz4 lz4-devel usbredir*
./configure --sysconfdir=/etc --localstatedir=/var --libdir=/usr/lib64 --enable-gtk-doc-pdf=no --enable-gtk-doc-html=no --enable-celt051 --enable-manual=no --enable-gstreamer=no
make -j8

<
CentOS 6.5 、7.0 环境安装 Google Chrome 浏览器,必备组件! (或许别的版本的也会) 按照常规的方式: # yum install google-chrome-stable_current_x86_64.rpm 会报错,提示: --> Processing Dependency: libstdc++.so.6(GLIBCXX_3.4.15) for package: google-chrome-stable-37.0.2062.94-1.x86_64 Error: Package: google-chrome-stable-37.0.2062.94-1.x86_64 (/google-chrome-stable_current_x86_64) Requires: libstdc++.so.6(GLIBCXX_3.4.15) 安装本程序即可解决: # yum install chrome-deps-stable-2.10-1.x86_64.rpm ================================================================================================ Package Arch Version Repository Size ================================================================================================ Installing: chrome-deps-stable x86_64 2.10-1 /chrome-deps-stable-2.10-1.x86_64 11 M Transaction Summary ================================================================================================ Installed size: 11 M 之后即可顺利安装 Google Chrome 浏览器: # yum install google-chrome-stable_current_x86_64.rpm ================================================================================================ Package Arch Version Repository Size ================================================================================================ Installing: google-chrome-stable x86_64 37.0.2062.94-1 /google-chrome-stable_current_x86_64 178 M Transaction Summary ================================================================================================ Installed size: 178 M 验证安装: # rpm -aq | grep chrome chrome-deps-stable-2.10-1.x86_64 google-chrome-stable-37.0.2062.94-1.x86_64 对于 Google Chrome 浏览器的安装,纠缠我很久了。 install_chrome.sh 总是卡在那不动,估计和国外的源有关。 采用这个办法成功了,并且在台式机和笔记本上均验证有效。 希望对大家有所帮助! PS:这个版本适用于 64 位系统,是目前的最新版本( 2.10-1 ),强烈推荐! 32 位系统的最新版本请移步: http://download.youkuaiyun.com/detail/zplinuxx/7862065
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值