为普通用户设置 rhel 5.x RPM 构建服务器

Che*_*evy 3 redhat rhel5 rpm user-permissions

我的任务是设置一个 RHEL 5.x 构建主机,它可以为普通用户构建 RPM。

在带有 rpm 版本 4.8 的 RHEL 6.x 上,我有/usr/lib/macros

#       Path to top of build area.
%_topdir                %{getenv:HOME}/rpmbuild
Run Code Online (Sandbox Code Playgroud)

在带有 rpm 版本 4.4 的 RHEL 5.x 上,%{getevn:HOME} 不可用。

我知道我可以使用/home/someuser/.rpmmacros

%_topdir                /home/someuser/rpmbuild
Run Code Online (Sandbox Code Playgroud)

这将适用于该用户,但是我不想单独为每个用户执行此操作。此外,由于.rpmmacro不会扩展,${HOME}或者~我怀疑使用它们是不安全的。这反过来使/etc/skel这项任务变得不稳定(或者我怀疑)。

简而言之,我的问题是:如何设置允许所有用户在其主目录中构建 RPM 包的 RHEL 5.x 主机?

Mic*_*ton 5

如果可能的话,让你的构建服务器 EL6。这样以后会省去很多麻烦...

对于只构建偶尔的 RPM 包的简单构建框,让您的用户使用mock. 您可以在 EPEL 存储库中找到它。

使用mock构建所有正确的依赖关系,已经在chroot环境构建它指定一个RPM保证。

添加应该能够访问用户谁mockmock组。

然后这些用户可以使用如下命令构建 RPM:

mock -r epel-5-x86_64 file.src.rpm
Run Code Online (Sandbox Code Playgroud)

如果您需要构建大量RPM,或者您正在创建一个存储库,您可能需要使用koji 之类的东西来设置一个自动构建服务器。