![Linux RPMBUILD SPEC,如何安装到自定义位置 /usr/local/file1 而不是总是 /usr 目录](https://linux22.com/image/198031/Linux%20RPMBUILD%20SPEC%EF%BC%8C%E5%A6%82%E4%BD%95%E5%AE%89%E8%A3%85%E5%88%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E4%BD%8D%E7%BD%AE%20%2Fusr%2Flocal%2Ffile1%20%E8%80%8C%E4%B8%8D%E6%98%AF%E6%80%BB%E6%98%AF%20%2Fusr%20%E7%9B%AE%E5%BD%95.png)
我在将 RPM 安装到 时遇到问题/usr/local/file1
,它总是安装到/usr/local/file1/usr
.我什至使用过./configure --prefix /usr/local/file1
并且它仍然安装到/usr/local/file1/usr directory
.
我想知道是否有人可以帮忙看看我的规范中哪里出了问题。
%setup -q -n file1-%{version}
%build
./autogen.sh
./configure --prefix=/usr/local/file1
%install
rm -rf $RPM_BUILD_ROOT/usr/local/file1
mkdir -p $RPM_BUILD_ROOT/usr/local/file1
make install DESTDIR=$RPM_BUILD_ROOT/usr/local/file1
%clean
rm -rf $RPM_BUILD_ROOT/usr/local/file1
%files
%defattr(-,root,root,-)
/usr/local/file1/
答案1
您的make install
步骤不应重复以下路径:
make install DESTDIR=$RPM_BUILD_ROOT
更好的是,make_install
宏应该为你做一切:
%install
%make_install