Ssh – How to change topdir as a user in SSH

rpmssh

I have read several places NEVER to build RPM's as the root user. As such, I defined a new user and have tried building out RPM structures there, however, using the

rpmbuild --rebuild src.name.rpm

returns an error which states the topdir cannot be accessed:

Installing curl-7.20.1-1.src.rpm

error: cannot write to %sourcedir /usr/src/redhat/SOURCES

error: curl-7.20.1-1.src.rpm cannot be installed

does anybody know how to make this change? I have a correct /src/ directory set up under the new user.

Best Answer

from the Centos Wiki on how to setup a build enviroment (assuming you're enviroment is the same, change $HOME to a path or better variable as needed):

[userid@hostname ~]$ echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros

Beware: the second command will overwrite a previous .rpmmacros you might have, so you should check that you still do not have this file before running that command.

Basically what that is saying, is that you need to edit the users rpmmacros file to redirect the %_topdir macro to the new place on the file system that you want to be the topdir of your build environment.