Chen Levy asked:
My task is to setup a RHEL 5.x build host, that can build RPMs for mortal users.
On RHEL 6.x with rpm version 4.8, I have in /usr/lib/macros
:
# Path to top of build area.
%_topdir %{getenv:HOME}/rpmbuild
On RHEL 5.x with rpm version 4.4, the %{getevn:HOME} is not available.
I know that I can use /home/someuser/.rpmmacros
:
%_topdir /home/someuser/rpmbuild
and this will work for that user, however I don’t want to do this for every user separately. Moreover, since .rpmmacro
will not expand ${HOME}
or ~
I suspect it is unsafe to use those. This in turn make /etc/skel
unstable for this task (or so I suspect).
So in short, my question is: How to setup RHEL 5.x host that allow all users to build RPM packages in their home directory?
My answer:
If at all possible, make your build server EL6. This will save you a lot of hassle later…
For a simple build box where only the occasional RPM package will be built, have your users use mock
. You’ll find it in the EPEL repository.
Using mock
to build an RPM ensures that all of the correct build dependencies have been specified by building it in a chroot environment.
Add users who should be able to access mock
to the mock
group.
Then these users can build an RPM with a command like:
mock -r epel-5-x86_64 file.src.rpm
If you need to build a lot of RPMs, or you’re creating a repository, you may want to set up an automated build server with something like koji.
View the full question and any other answers on Server Fault.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.