为Libreoffice重新生成RHEL源程序包(SRPM)——是否未打包生成依赖项?

为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

我有一个运行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
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是一个构建依赖项。