为Libreoffice重新生成RHEL源程序包(SRPM)——是否未打包生成依赖项?
我有一个运行RHEL8.1的系统。这包括LibreOffice的打包版本:为Libreoffice重新生成RHEL源程序包(SRPM)——是否未打包生成依赖项?,rpm,rhel,libreoffice,rebuild,Rpm,Rhel,Libreoffice,Rebuild,我有一个运行RHEL8.1的系统。这包括LibreOffice的打包版本: % rpm -qi libreoffice-base Name : libreoffice-base Epoch : 1 Version : 6.0.6.1 Release : 19.el8 Architecture: x86_64 Install Date: Fri 21 Feb 2020 05:16:08 PM GMT Group : Unspecified Si
% rpm -qi libreoffice-base
Name : libreoffice-base
Epoch : 1
Version : 6.0.6.1
Release : 19.el8
Architecture: x86_64
Install Date: Fri 21 Feb 2020 05:16:08 PM GMT
Group : Unspecified
Size : 7511388
License : (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0
Signature : RSA/SHA256, Tue 20 Aug 2019 02:38:29 PM BST, Key ID 199e2f91fd431d51
Source RPM : libreoffice-6.0.6.1-19.el8.src.rpm
[etc]
我想从它的源程序包重建这个RPM程序包。所以我去了红帽的下载页面
不幸的是,它需要登录才能访问,并下载了源程序包libreoffice-6.0.6.1-19.el8.src.rpm
。然后我像往常一样用rpm-Uvh
安装了源代码包,它在我的rpm构建目录中的SPECS
和SOURCES
目录下创建了文件
然后像往常一样,我去建造它:
% cd SPECS
% rpmbuild -ba libreoffice.spec
error: Failed build dependencies:
bsh is needed by libreoffice-1:6.0.6.1-19.el8.x86_64
glm-devel is needed by libreoffice-1:6.0.6.1-19.el8.x86_64
gpgmepp-devel is needed by libreoffice-1:6.0.6.1-19.el8.x86_64
[etc]
不足为奇,我没想到所有的构建依赖项都已经存在。所以我去安装它们,从bsh
开始:
% sudo dnf -y install bsh
Updating Subscription Management repositories.
Last metadata expiration check: 0:39:20 ago on Fri 28 Feb 2020 09:39:22 AM GMT.
No match for argument: bsh
Error: Unable to find a match: bsh
现在我有点不知所措了。构建
libreofficebase
需要包bsh
,这是一个核心包,但是bsh
没有打包?我希望这里有一些明显的我遗漏的东西。另一种选择是RHEL不是自托管的,这将非常令人沮丧。不能保证这些依赖项在官方存储库中可用。你必须搜索它们。在本例中,我在centos7 os存储库中找到了bsh
。我想您应该在您的redhat7 os存储库中找到它们。您确定已启用所有存储库吗?(注意redhat上的许可证问题)
编辑:您可以在这里找到它,例如:启用EPEL存储库,然后:
dnf install mock
mock -r epel-8-x86_64 libreoffice-6.0.6.1-19.el8.src.rpm
等待几个小时,然后您就完成了。是的,在较旧的RHEL版本中有,但我没有看到它是为RHEL 8打包的。我想查看CentOS 8,但我看不到从哪里下载源程序包(SRPM)——你有链接吗?你可以从我给你的url浏览目录。。。或者尝试在这里搜索自己:我在centos8上还没有找到bsh。我想并非所有的软件包都已经在CentOS 8上可用。很抱歉,我在那个ftp站点上查找了CentOS 8.1源软件包,但没有找到。你知道他们可能在哪里吗?我认为rpm.pbone.net没有CentOS源程序包,例如,搜索“CentOS release”可以找到二进制rpm,但没有SRPM。谢谢,我正在这样做。有趣的是,mock没有在chroot内部安装bsh,尽管
rpmbuild-ba
认为bsh是一个构建依赖项。