rpm-build 包和 /usr/src/RedHat ,这些 rpm build 的程序是要靠 spec 文件的控制。它是配置指定安装到另外的机器上的,用来指示转换的源码补丁编译成二进制文件的包。默认编译操作是在下面的目录中,它是编译源码的相关动作操作的位置。
如果不指定其它的地方,那么 rpm building 的地方是主要在 /usr/src/redhat 的目录,目录的架构如下,这就是为 rpm-build 提供的目录结构.
/usr/src/redhat/
|-- BUILD
|-- RPMS
| |-- i386
| `-- ...
|-- SOURCES
| |-- foo-1.2.tar.gz
| |-- foo-1.2-add_feature.patch
| `-- foo-1.2-change_default.patch
|-- SPECS
| `-- foo.spec
`-- SRPMS
文件的提取,编译都将在 BUILD 的目录,运行后结果的包会在 RPMS 和 RPMS 目录.
先说说rpmbuild有什么用,给一个例子:
echo "%_topdir /home/you/rpmbuild" >> ~/.rpmmacros
mkdir -p /home/you/rpmbuild/{SPECS,BUILD,SRPMS,RPMS,SOURCES}
wget
rpmbuild -ta memcached-1.x.x.tar.gz
在CentOS上安装rpmbuild
yum install rpm-build