在 %pretrans 中使用 rpm 复制文件

在 %pretrans 中使用 rpm 复制文件

如何使用 RPM 将.tgz 文件从 rpmbuild 的SOURCES目录中获取到目标系统并在那里提取?%pretrans我必须在该%pretrans部分中执行此操作,因为 .tgz 文件包含需要在下面输入其他包的文件Requires,并且我无法控制它们的内容。

如果有任何建议,我将不胜感激。

答案1

源用于rpmbuild构建二进制 rpm 包。它发生在构建系统或开发人员机器上。

%pretrans执行rpm时间为用户在他的机器上安装/升级二进制包。当用户安装二进制包时,无法从 SOURCES 获取任何内容。这必须在“%build”和“%install”阶段完成。这些也可以在rpmbuild构建系统或开发机器上执行。

您可能想查看基本的 Hello-world 示例https://rpm-packaging-guide.github.io/#hello-world

如果您在构建时需要其他包,请将它们指定为BuildRequires: some-package-needed-just-for-build.例如BuildRequires: make

当您使用 Mock 进行构建时,这些 BuildRequires 会自动下载并安装到正在构建包的 chroot 中。

相关内容