在Mock RPM构建环境中更改初始应用程序

时间:2012-05-03 02:05:10

标签: mocking java rpm

在我的CentOS 6.2机器的/ var / lib / mock文件夹下,我可以看到目标构建操作系统中的所有初始应用程序。如果我想将JDK添加为额外的应用程序,我该怎么办呢?谢谢!

1 个答案:

答案 0 :(得分:1)

只需将其添加到spec文件中的buildrequires即可。很少需要触及最小的buildroot。

如果你真的,真的需要修改最小的buildroot,你将不得不用createrepo创建额外的(空)存储库,并对comps.xml使用类似的东西:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps>
  <group>
    <id>buildsys-build</id>
    <_name>Buildsystem building group</_name>
    <_description/>
    <default>false</default>
    <uservisible>false</uservisible>
    <packagelist>
      <packagereq type="mandatory">openjdk-1.7.0-java</packagereq>
    </packagelist>
  </group>
</comps>

然后将此存储库添加到您正在使用的模拟配置文件中,并在yum config的主要部分中添加以下一行:

   ...
   config_opts['yum.conf'] = """
   [main]
   overwrite_groups = 0
   ...
   """

overwrite_groups = 0表示yum会将原始的buildsys-build组与您的新组合并,因此将JDK添加到最小的buildroot中(提供chroot_setup_cmdgroupinstall buildsys-build