我想使用 rpm 为不同的环境(live、testing、developer)构建子包,但是对于相同的文件,所以有一个名为 name-config-live 的包,一个名为 name-config-testing 的包,一个名为 name-config -developer 并在其中具有相同的路径,但每个路径都具有与其命名的环境相对应的配置。
举个例子
假设在所有环境中,我有一个名为/etc/name.conf 的文件,在测试时我希望它包含“1”、开发“2”和实时“3”。是否可以在同一规范中执行此操作,因为子包生成只发生在最后而不是我输入的顺序。 (希望不是 %post -n )
我尝试使用 BuildRoot 但它似乎是一个全局属性
最佳答案
我不认为有一种本地方式;我会像你提到的那样做一个 %post
。
但是,我会这样做(类似于我使用我为工作开发的仅限内部使用的包所做的事情):
/etc/name.conf-developer
, /etc/name.conf-live
等。 name-config
name-config
rpm
、 yum
或任何需要在同一事务中至少安装一个的 %post
(可能还有 %verify
)符号链接(symbolic link) /etc/name.conf
到正确的配置缺点:
rpm --whatprovides /etc/name.conf
会说它不属于任何包 关于packaging - 如何为不同的环境使用相同的路径创建 RPM 子包?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12696131/