用另一个转换一个rpm pkg

时间:2016-06-01 10:56:55

标签: rpm rpmbuild rpm-spec

需要rpm的帮助。我需要用pkg-number-two替换(例如)pkg-number-one。提供spec:pkg-number。如何更换一个已安装的pkg?或者我必须改变一些事情才能做到这一点?

2 个答案:

答案 0 :(得分:1)

tl; dr版本:

Provides: oldpackagename = some.version
Obsoletes: oldpackagename < some.version

阅读完整指南。参见:

https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Renaming.2FReplacing_Existing_Packages

一般指南。 和

https://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages

对于特殊情况,如多对一和多对多替换。

答案 1 :(得分:0)

事实上我的情况是:

Name:           some-pkg-%{VENDOR}
...
...
...
Provides:       some-pkg

%if "%{VENDOR}" != "default"
Conflicts:      some-pkg-default
Obsoletes:      some-pkg-default
%endif

通过这种方式,我可以用some-pkg替换some-pkg-default - %{VENDOR} by“rpm -U ...”

但是之后我无法回滚到某个-pkg-default。如果有人知道如何做到这一点 - 我会很高兴看到解决方案。

无论如何,它并不是那么重要,因为在这种情况下最初没有设想回滚......