在我的 CentOS 6.2 机器的/var/lib/mock 文件夹下,我可以看到目标构建操作系统中的所有初始应用程序。如果我想添加 JDK 作为额外的应用程序,我该怎么做?谢谢!
请您参考如下方法:
只需将其添加到规范文件中的 buildrequires 中即可。很少需要触及最小的构建根。
如果您确实,确实需要修改最小的 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_opts['yum.conf'] = """
[main]
overwrite_groups = 0
...
"""
overwrite_groups = 0
表示 yum 会将原始 buildsys-build 组与您的新组合并,因此将 JDK 添加到最小 buildroot 中(前提是 chroot_setup_cmd
是 groupinstall buildsys-build
)