如何在不修改现有rpm规格文件的情况下使现有rpm过时的新rpm

时间:2018-10-11 15:05:37

标签: rpm rpm-spec

我的团队将向用户区域添加新的RPMY。有一个RPM,X必须与Y互斥。换句话说,X和Y不能共存。

因此,在Y的规格文件中,有一行写着“已过时:X”。

问题是我们无法修改X的规范文件。编写它时,没有名为Y的软件包。因此,它既不是“过时的”也不是“冲突的”Y。

我们可能会在用户土地上添加更多假冒/虚拟/超值套餐。无论如何,现有包装X也会有效地淘汰新包装Y?

yum install X

必须删除Y(如果已安装)。

2 个答案:

答案 0 :(得分:1)

我不知道如何实现这一点,但是您可以添加

df <- structure(list(V1 = structure(c(2L, 1L, 4L, 3L), .Label = c("Gren", 
  "Oat", "Rew", "Yera"), class = "factor"), V2 = c(5L, 6L, 1L, 
  7L), V3 = c(9L, 5L, 22L, 8L), V4 = c(8L, 5L, 9L, 2L), V5 = c(9L, 
  2L, 8L, 6L), V6 = c(6L, 1L, 7L, 9L)), .Names = c("V1", "V2", 
 "V3", "V4", "V5", "V6"), class = "data.frame", row.names = c(NA, 
 -4L))

在您的规格文件中输入Y。这样一来,它们就无法同时安装。

答案 1 :(得分:1)

有关废弃软件包的信息,请参阅《 Fedora准则》:https://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages它提供了全面的说明。

但是根据您的描述,您不想使用“过时”。当您将一个包装替换为另一个包装时使用。例如,当项目更改名称,因此包更改名称,而您想将old-name-2.0替换为new-name-3.0或什至new-name-1.0时。

您要使用Conflicts,将这个标签放入其中一个软件包就足够了。 Y规范何时具有:

Conflicts: X

那么您无需更改X,也无法同时安装X和Y。