我想在虚拟RPM包中提供一些不包含文件的RPM包。
案例是,我创建了一个带有buildroot的嵌入式系统,然后RPM负责版本控制。出于这个原因,buildroot映像总是在物理上拥有最新的RPM包内容,但有人应该告诉RPM它们已经存在。
我知道这些文件可以在基本虚拟包中提供,并提供:' RPM spec文件中的关键字。我想在rpm包中提供包含版本号而不是单个文件的包。
实施例
App1.0-1.rpm requires lib3.0-4.rpm and they already exist on my
package server. The buildroot image already includes files that
lib3.0-4.rpm provides. I want to define a package with name
buildrootbase2.0-1.rpm parallel to my root file system image that
prevents reinstallation of lib3.0-4.rpm while App1.0-1.rpm is
installed.
答案 0 :(得分:1)
Provides:
更常用于包而不是文件,它支持版本检查:
Provides: foo-bar = 2.1.3-2b
第二个问题更难回答。您将需要使用触发器来完成您要执行的操作。
触发器有一些特殊的语法,旨在让您根据现有软件包以及安装/卸载目标软件包之前和之后rpmdb的状态来控制何时以及如何操作
我不知道使用触发器的好教程,但是你可以阅读这篇PDF文章,它将它们用于某些事情"不寻常",解释它们在这个过程中是如何工作的:
actulal触发解释从第23页开始