【问题标题】:Building with rpmbuild under Ubuntu在 Ubuntu 下使用 rpmbuild 构建
【发布时间】:2023-06-07 04:24:01
【问题描述】:

我需要在 Ubuntu 10.4 下使用补丁构建 yum(原因是我的虚拟服务器实例需要一个支持 chroot 的 yum)

由于 ubuntu 的 yum src 不可用(第 3 方 repos),我从官方 repos 下载了源代码,并从 linux-vserver 下载了补丁。

但是,当我尝试使用

构建它时
rpmbuild -ba yum.spec 

它失败了

error: Failed build dependencies:
    python is needed by yum-3.2.22-0.src
    gettext is needed by yum-3.2.22-0.src
    intltool is needed by yum-3.2.22-0.src

现在我已经安装了所有这些,但我不知道如何解决这个问题,因为我不是每天都去重建我的东西。

问候, 五、

【问题讨论】:

    标签: ubuntu build rpm yum rpmbuild


    【解决方案1】:

    问题在于 rpmbuild 正在尝试使用 RPM 自己的已安装软件包数据库来解决依赖关系 - 这与 apt-get 的数据库不同。 apt-get 知道这些东西已安装,但 rpm 不知道。

    既然你确定你已经安装了这些东西,我建议编辑 yum.spec 并将它们从 BuildRequires 行中删除。

    【讨论】:

    • 是的。它确实开始建造。然后错误开始。 install -m 644 yum.8 /root/rpmbuild/BUILDROOT/yum-3.2.22-0.i386/usr/share/man/man8/yum.8 install: 无法创建常规文件`/root/rpmbuild/BUILDROOT/yum -3.2.22-0.i386/usr/share/man/man8/yum.8':没有这样的文件或目录
    【解决方案2】:

    解决方案是在你的 yum 列表中输入正确的 deb-src 存储库,使用 apt-get source yum 下载源代码并应用补丁。最后使用 dpkg-buildpackage 构建包。

    【讨论】: