RPM 安装后脚本位于何处?

spu*_*der 8 rpm shell-script

我在提供给我的 RPM 中发现了一个错误。

rpm -qp --scripts foo.rpm > /tmp/badscript

cat /tmp/badscript
postinstall scriptlet (using /bin/sh):
...
if [ 'some bug' == true ]....
Run Code Online (Sandbox Code Playgroud)

我可以访问源代码和规范文件,但我无法找到哪个文件是安装后 scriptlet。

我可以修复这个错误吗?如果是这样,我在哪里可以找到脚本?

我以为它会在 buildutils/rpmbuild/SPEC 中,但是当我 grep 整个源代码时,我找不到包含错误的字符串。

小智 6

它们在规范文件本身中。看

https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax

在你的情况下搜索一个%post部分。