谁能就 RPM 补丁中的变量语法提出建议?

Can anyone advise on variable syntax in RPM patch?

我的规范文件中引用了以下补丁。它适用于硬编码的代理,但我需要使用一个失败的变量。谁能就正确的语法提出建议?

diff --git .yarnrc.yml .yarnrc.yml
index 6cc7483..b560e95 100644
--- .yarnrc.yml
+++ .yarnrc.yml
@@ -1,4 +1,8 @@
 enableTelemetry: false
+enableStrictSsl: false
+networkConcurrency: 1
+httpProxy: %{http_proxy}
+httpsProxy: %{https_proxy}

 nodeLinker: pnp

更新:

评论的格式似乎不太好,因此将最新的化身从 Aaron 的船上回复扔在这里,这也无法构建(在 jenkins 中)。在 jenkins 控制台中验证的已编辑补丁。

来自规范文件

%prep
%setup -n %{name}-%{version}
sed -i 's|httpProxy:.*|httpProxy: "'$http_proxy'"|g' %{PATCH0}
sed -i 's|httpsProxy:.*|httpsProxy: "'$https_proxy'"|g' %{PATCH0}
%patch0

修改补丁

diff --git .yarnrc.yml .yarnrc.yml
index 6cc7483..7c3f6df 100644
--- .yarnrc.yml
+++ .yarnrc.yml
@@ -1,4 +1,9 @@
enableTelemetry: false
+enableStrictSsl: false
+networkConcurrency: 1
+httpProxy: ******
+httpsProxy: ******

 nodeLinker: pnp

RPM 不会替换 diff 文件中的那些行;在构建之前,您将需要一些脚本或其他东西来为您做这件事。或者你可以把它作为你的 %build 宏的一部分,比如 sed -i -e "s/_HTTP_PROXY_/%{http_proxy}/g" .yarnrc.yml ,其中你在源代码中的 yml 文件有一个占位符 _HTTP_PROXY_ ...