[英]how to get linux patch util to use env var in patch file
我正在使用omnibus构建cli软件包,其中有一个补丁程序,用于将一些内容注入文件中。 补丁本身就是git diff。 我想使用环境变量作为内容的一部分。 就像是:
diff --git a/cli/common.py b/cli/common.py
index 3eb3efd..1feae45 100644
--- a/cli/common.py
+++ b/cli/common.py
@@ -72,8 +72,12 @@
+++ - {'OLDPATH': 'NEWPATH/%{ENVVAR}}'
这是我们使用rpm构建时使用的语法。 它似乎不再起作用,并且我确定已设置ENVVAR,因为它已成功用于打包程序脚本的其他部分。
谢谢!
patch
程序对RPM变量一无所知。 您可以使用diff-file作为here-document在RPM规格文件中运行patch
,这将尝试替换脚本中的值。 它可能看起来像这样:
patch <<EOF
index 3eb3efd..1feae45 100644
--- a/cli/common.py
+++ b/cli/common.py
@@ -72,8 +72,12 @@
+++ - {'OLDPATH': 'NEWPATH/%{ENVVAR}}'
EOF
RPM将仅在其scriptlet中替换变量,而不在单独的文件中替换变量。
进一步阅读:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.