linux - 将值重新分配给 spec 文件中的 %define 变量 - RPM

标签 linux rpm specifications

当我们使用 在 spec 文件中使用 %define 标记来使用 rpmbuild 命令构建 RPM ...是否可以在 %pre 上更新它的值并在以后使用它?

最佳答案

没有。

%define 宏总是在规范文件中从上到下重新求值,所以你不能有循环。

%global 宏是一次性的。

示例,来自 another question concerning 'requires' processing :

%global _use_internal_dependency_generator 0
%global __find_requires_orig %{__find_requires}
%define __find_requires %{_builddir}/%{?buildsubdir}/build/find-requires %{__find_requires_orig}

如果我使用 %define 来声明 __find_requires_orig,它会因宏循环而出错。

如果这不能回答您的问题,请详细说明您要查找的信息或您的最终目标。


预计到达时间:

%pre%post 部分在构建 RPM 时已经有了硬编码的宏。如果您需要做出额外的运行时决定,则需要在这些 shell 脚本中完成。

关于linux - 将值重新分配给 spec 文件中的 %define 变量 - RPM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519844/

相关文章:

linux - k8s liveness probe 失败时发送给容器中运行的进程的信号是什么?杀死或学期

linux - 在 Linux 中遇到 .bash_profile 问题

linux - gvimrc 和 vimrc 放在哪里?

css - CSS 宽度和高度属性的最大像素值是多少?

javascript - 源 map 是否包含源文本?

ruby-on-rails-3.2 - Rails 生成器未生成正确的测试模板

linux - BASH:从两个输入流读取的最佳架构

linux - 如何使用rpm删除一些多余的文件夹

linux - 在linux中安装rpm包时如何自动填充用户输入?

ruby - 检查 rpm 是否安装了 ruby​​ 脚本