【发布时间】:2021-02-21 04:15:57
【问题描述】:
我们需要在 RPM 安装过程中动态传递一个变量并在 spec 文件中捕获它以触发 %post 中的脚本
下面是命令 RPM 安装命令 sudo rpm -Uvh --force abc.noarch.rpm --define '_ip 10.1.2.4' --define 'version 3'
**abc.spec**
Name: abc
Version: 1
Release: 1.0
Summary: Test
%{!?_ip: %define _ip 0.0.0.0 }
%{!?_version: %define _version 0 }
%post
echo "ip:::: %{_ip}"
echo "VESION:::: %{_version}"
所以当我使用上述命令运行 RPM 时,我会得到以下输出。
[root@test 解决方案]$ sudo rpm -Uvh --force abc.noarch.rpm --define '_ip 10.1.2.4' --define 'version 3' 准备中...################################# [100%]
正在更新/安装...
1:abc ################################ [50%]
ip:::: 0.0.0.0
VESION:::: 0
虽然我在 CLI 命令中传递了不同的值,但我仍然看到我传递的参数未在规范文件中捕获。
需要有关如何捕获通过 CLI 的值的输入。
【问题讨论】:
标签: dynamic rpm rpmbuild rpm-spec