关于构buildRPM的所有信息似乎都是在CentOS 6之前发布的,作为运行CentOS 6.5的完整软件包构build新手,我相当困惑。
我读过的所有教程都提到了一个BUILD目录,并指出在%install期间,文件将从原始位置( /usr/bin/whatever )复制并打包。
然而,在我正在构build的CentOS 6.5映像中,出现了一个新的BUILDROOT目录,我认为 BUILDROOT目录是为了避免你必须在本机位置安装二进制文件,因此也避免了make install使用sudo 。
但是,看来这不是可选的。 当试图打包其他人写的各种源文件时, rpmbuild 成功完成了make install ,但是当它在BUILDROOT下找不到二进制文件时就BUILDROOT ,因为它们没有安装在那里。
经过一番挖掘之后,似乎有些Makefiles可以采用DESTDIR说法,但是只有作者支持它,如果没有,我就卡住了。 我也读过 – 使用--prefix是一个坏主意
所以,我的问题是:
我如何构build和安装任何第三方来源到BUILDROOT位置? 有没有什么rpmbuild可以做我不需要修补别人的代码我不明白?
我如何构build和安装任何第三方来源到BUILDROOT位置? 有没有什么rpmbuild能为我做的[…]?
不是真的。 rpmbuild本质上是一个包装器,并且依赖于Makefile提供的指令等。责任在于开发者(而不是在rpmbuild 。