我的任务是设置一个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来指定。
添加应该能够访问mock到mock组的用户。
然后这些用户可以使用如下命令构build一个RPM:
mock -r epel-5-x86_64 file.src.rpm
如果您需要构build大量的RPM,或者您正在创build一个存储库,则可能需要使用类似于曲子的方式设置一个自动构build服务器。