我想用一个rpm构建针对不同的环境(生活,测试,开发者),但相同的文件子包,所以有个名字叫 - 配置-Live软件包,一个名为名称的配置,测试和一个叫名字,配置-developer和他们有相同的路径,但每一个对应于它的得名环境CONFIGS。 举个例子
让我们上我有一个名为/etc/name.conf文件中的所有环境说和测试中,我希望它包含“1”,在发展“2”,并在现场“3”。 是否有可能做到这一点在同规格,因为分包代仅发生持续不我进入它的顺序。 (希望不会%后-n)
我尝试使用buildroot的,但似乎这是一个全局属性
我不认为有原生的方式; 我会做一个%post
像你已经注意到。
不过,我会做到这一点(类似的东西我用我开发工作仅供内部使用的包装做的):
- 三个单独的文件
/etc/name.conf-developer
, /etc/name.conf-live
等。 - 有三个程序包提供了一个虚拟包,如
name-config
- 有主包需要
name-config
- 这将使
rpm
, yum
,或任何需要至少一个被安装在同一个事务
- 有三个程序包互相冲突
- 让每个配置包的
%post
(也可能是%verify
)的符号链接/etc/name.conf
到适当配置
缺点:
- 这是一个小的hackish
-
rpm --whatprovides /etc/name.conf
会说,这是没有任何包装资