还有一些事情是Requires标记不满足的。所以我写了一个脚本来验证这些东西,但是我把它们放在哪里呢?如果没有找到,那么我想退出安装,提示用户在再次安装这个rpm之前执行这些步骤。
在exit 1标记中写入%install无法使用rpmbuild构建rpm。%install has a bad exit code.说
编辑:让我给您举一个例子。我最初想测试的是Oracle Java 6是否存在。如果没有,则提供到Java6的路径。如果用户不能提供一个..。退出RPM。不允许使用更高的java,如果没有Java,安装就不应该成功。如果用户不希望安装java rpm包,则不能将其放置在需要的位置。
希望我能明白我的意思。
发布于 2013-01-23 07:35:33
您可以为这种任务使用%预区段。
在安装包之前执行%预脚本。这是一个罕见的包,需要在安装之前做任何事情;在包含RedHatLinux4.0的350个包中,没有一个能使用它。
一些指南可以帮助您入门;脚本内容(在%pre部分中没有使用)来自jpackage,您可以在那里找到其他一些脚本的好例子:
%pre
# try to find jvm from java command
# try javac first, or we might get the location of the jre instead - djw
java=`which javac 2>/dev/null || :`
# if we don't have the jdk, then maybe we have the jre - djw
if [ -z "$java" ] ; then
java=`which java 2>/dev/null || :`
fi
if [ -n "$java" ] ; then
while [ -h "$java" ] ; do
java=`readlink $java 2>/dev/null`
done
return
fi
echo "Can't find java virtual machine, aborting."
exit 1https://stackoverflow.com/questions/14472880
复制相似问题