Requires
标记还有一些不满足的内容。
所以我写了一个脚本来验证这些东西,但我在哪里放置它们?
如果没有找到,那么我想退出安装,提示用户在尝试再次安装此rpm之前执行这些步骤。
在exit 1
标记中编写%install
无法使用rpmbuild构建rpm。
说%install has a bad exit code.
编辑:让我举个例子。我最初想要测试的是Oracle Java 6是否存在。如果没有,那么提供Java6的路径。如果用户未能提供一个...退出RPM。不允许使用更高的Java,如果没有java,安装不应该成功。如果用户不想安装java rpm软件包,则无法将其置于需要点。
希望我明白我的观点。
答案 0 :(得分:6)
您可以将%pre部分用于此类任务。
%pre脚本在安装包之前执行。 这是一个罕见的包,需要在此之前完成任何事情 安装;没有包含Red Hat Linux的350个软件包 Linux 4.0使用它。
一些帮助您入门的指南;脚本内容(未在%pre部分中使用)来自jpackage-utils,你会在那里找到一些其他很好的脚本示例:
%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 1