Bas*_*wer 2 java linux rpm rpmbuild rpm-spec
还有一些Requires标签不满足的东西.所以我写了一个脚本来验证这些东西,但我在哪里放置它们?如果没有找到,那么我想退出安装,提示用户在尝试再次安装此rpm之前执行这些步骤.
写exit 1在%install标签构建失败,使用的rpmbuild转速.说%install has a bad exit code.
编辑:让我举个例子.我最初想要测试的是Oracle Java 6是否存在.如果没有,那么提供Java6的路径.如果用户未能提供一个...退出RPM.不允许使用更高的Java,如果没有java,安装不应该成功.如果用户不想安装java rpm软件包,则无法将其置于"需要点"中.
希望我明白我的观点.
您可以将%pre部分用于此类任务.
%pre脚本在要安装包之前执行.这是一种罕见的包装,在安装之前需要做任何事情; 包含Red Hat Linux Linux 4.0的350个软件包中没有一个使用它.
一些指导,让你开始; 脚本内容(在%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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1841 次 |
| 最近记录: |