【问题标题】:RPM Spec file conditional Requires per distribution AFTER buildRPM Spec 文件有条件 需要每个发行版 AFTER build
【发布时间】:2016-08-28 17:16:00
【问题描述】:

我想构建 RPM 文件,并且我希望它们被常用并且不依赖于安装的发行版。 现在我发现了一个在 RHEL 和 SLES 上名称不同的需求。 我发现这是可能的解决方案:

%if 0%{?suse_version}
 Requires:       jdk >= 2000:1.8.0_00-fcs, netcat, telnet, at
%else
 Requires:       jdk >= 2000:1.8.0_00-fcs, nc, telnet, at
%endif

但我的问题是,它是构建过程的 if 查询,我希望拥有的是取决于我安装的发行版,已经构建的 rpm 文件可以解决这个问题。 因为使用此解决方案,我需要为所有这些不同操作系统上的各种 centos 和 rhel 和 sles 分发构建 RPM 文件,而只有 nc 和 netcat 的名称与必需的软件包不同。

知道我该怎么做吗?

谢谢

【问题讨论】:

    标签: rpmbuild rpm-spec


    【解决方案1】:

    您无法在安装时执行您所要求的操作。但是,您可以要求可执行文件本身,例如/bin/netcat 它应该可以工作......除非它是伟大的UsrMove 的一部分......

    【讨论】:

      【解决方案2】:

      rpm-4.13 将解决我的问题:http://www.rpm.org/wiki/PackagerDocs/BooleanDependencies

      or - requires one of the operands to be fulfilled
      Requires: (pkgA >= 3.2 or pkgB)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-12
        • 2017-03-28
        • 2017-11-28
        • 1970-01-01
        相关资源
        最近更新 更多