你如何在SSH中更改topdir?

我已经阅读了几个地方从不build立作为根用户的RPM。 因此,我定义了一个新用户,并试图在那里构buildRPM结构,然而,使用

rpmbuild --rebuild src.name.rpm 

返回一个错误,指出topdir无法访问:

安装curl-7.20.1-1.src.rpm

错误:无法写入%sourcedir / usr / src / redhat / SOURCES

错误:curl-7.20.1-1.src.rpm无法安装

有谁知道如何做这个改变? 我有一个正确的/ src /目录在新用户下build立。

从Centos Wiki中了解如何设置构build环境(假设您的环境相同,则根据需要将$ HOME更改为path或更好的variables):

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

注意:第二个命令会覆盖以前的.rpmmacros,所以你应该在运行这个命令之前检查你是否还没有这个文件。

基本上是说,你需要编辑用户的rpmmacros文件来将%_topdirmacrosredirect到文件系统上你想成为你的编译环境的顶级目录的新位置。

您也可以像这样从命令行重定位topdir:

 rpmbuild --define "_topdir $HOME/rpmbuild" --rebuild src.name.rpm