Setting up an RPM build environment for an ordinary user
Setting up an RPM build environment in the home directory of a non-root user:
Suppose we need to build some RPMs , not as root, but as a normal user, e.g. kamran. Example of such software would be Courier-IMAP server. Kamran’s home directory is /home/kamran . We would need to do the following simple steps:
mkdir $HOME/rpm/{SOURCES,SPECS,BUILD,SRPMS,RPMS} -p
mkdir $HOME/rpm/RPMS/{i386,noarch,x86_64}
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros
That’s all. For an example software like Courier-IMAP build, you would now be using the same rpmbuild command, with the following results:
[kamran@server ~]$ rpmbuild -ta courier-imap-4.5.0.tar.bz2
...
...
Wrote: /home/kamran/rpm/SRPMS/courier-imap-4.5.0-3.src.rpm
Wrote: /home/kamran/rpm/RPMS/x86_64/courier-imap-4.5.0-3.x86_64.rpm
Wrote: /home/kamran/rpm/RPMS/x86_64/courier-imap-debuginfo-4.5.0-3.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.72263
+ umask 022
+ cd /home/kamran/rpm/BUILD
+ cd courier-imap-4.5.0
+ rm -rf /var/tmp/courier-imap-4.5.0-3-buildroot
+ exit 0
[kamran@server ~]$
Congratulations!