是否有工具允许将RPM .spec的依赖安装到隔离环境中?我不会在系统上全局安装这样的依赖项,因为我没有root权限,所以我无法这样做.
原因
我想构建一个包A,它取决于较新版本的B(不能在系统上全局安装).
我喜欢构建更新版本的B并让构建工具将B安装到一个隔离的环境中,以便为构建A提供所有必需的文件.
解决方案
>有没有工具可以做到这一点?
>如果没有,那么在尝试使用chroot时应该怎样处理?
>这会是一种不好的做法吗?
是的,该工具名为
mock
,它位于EPEL中.
典型用法:
rpmbuild -bs mypackage.spec
mock -r epel-6-x86_64 mypackage-0.1-1.src.rpm
这实际上是构建RPM的首选方法,正是因为它将进程与系统隔离开来,因此不会引入意外的依赖关系.
您可以修改/ etc / mock中的文件以使其包含您自己的包,私有仓库等,或者检查文档以获取有关如何手动将包添加到模拟chroot环境的信息.
请注意,应将用户添加到模拟组以允许使用mock.
并非巧合的是,Red Hat使用的kooji构建服务器模拟构建每个单独的包.如果你必须一直构建很多软件包,那么可能需要考虑设置一个koji构建服务器.
原文链接:https://www.f2er.com/linux/401556.html