我正在使用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已设置,因为它已成功用于打包器脚本的其他部分。
谢谢!
答案 0 :(得分:0)
patch
程序对RPM变量一无所知。您可以在RPM规范文件中使用diff-file作为here-document运行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中替换变量,而不是在单独的文件中。
进一步阅读: