为凡人build立rhel 5.x RPM构build服务器

我的任务是设置一个RHEL 5.x构build主机,它可以为凡人build立RPM。

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

 # Path to top of build area. %_topdir %{getenv:HOME}/rpmbuild 

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

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

 %_topdir /home/someuser/rpmbuild 

这将为该用户工作,但我不想为每个用户分别做这个。 而且,由于.rpmmacro不会扩展${HOME}或者我怀疑使用这些是不安全的。 这反过来使/etc/skel不稳定的这个任务(或者我怀疑)。

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

在RHEL5上的.rpmmacros使用

 %_topdir %(echo ${HOME}/rpm) 

如果你不想设置模拟(但我也build议这样做),这可能会有所帮助。

如果可能的话,使你的构build服务器EL6。 这会为你节省很多麻烦

对于只build立偶尔的RPM软件包的简单构build框,请让用户使用mock 。 您可以在EPEL存储库中find它。

使用mock来build立一个RPM可以确保所有正确的构build依赖已经通过在chroot环境中构build来指定。

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

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

 mock -r epel-5-x86_64 file.src.rpm 

如果您需要构build大量的RPM,或者您正在创build一个存储库,则可能需要使用类似于曲子的方式设置一个自动构build服务器。