有一些更多的事情是, Requires
标签不符合。 所以我写了一个脚本来验证这些事情,但我在哪里放置它们? 如果没有找到的话,我想退出安装提示用户再次尝试安装此RPM之前做的步骤。
写exit 1
在%install
标签构建失败,使用的rpmbuild转速。 说%install has a bad exit code.
编辑:让我为你提供一个例子。 如果甲骨文Java 6的存在就是我最初想试验是。 如果没有,那么提供路径的Java6。 如果用户没有提供一个...退出RPM。 Java的更高不允许安装不能没有Java的成功。 在需要一个点,如果用户不希望安装Java rpm包不能把它。
希望我通过了我的观点。
您可以使用%的预节这样的任务。
在%的预脚本执行之前的包进行安装。 这是罕见的包装,需要什么可以在安装前进行; 没有350包组成的Red Hat Linux的Linux 4.0使用它的。
一些指南,帮助您开始; 脚本内容(以%的预部分未使用)来自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
文章来源: How to abort the installation of an rpm package if some conditions are not met in specfile?