希望通过已经编译好的二进制文件来直接制作安装包, 创建使用rpmbuild,这个用法网上比较多(如果没有,使用 yum install rpm-build 安装)。其文件存放具体目录没有仔细研究,只是在CentOS 6.2 X86_64上测试通过。
在CentOS 6.2下,我使用root用户登录,在/root下,有目录rpmbuild,其中有子目录:BUILD BUILDROOT RPMS SOURCES SPECS SRPMS。
因为我仅仅使用二进制文件,所以将spec文件放在SPECS中,将需要创建安装包的二进制文件放在BUILDROOT目录下。生成的rpm安装包会存放在RPMS下。
spec文件格式网上很多,就不详细记录。
我的my.spec文件如下:
Summary: Here is summary for package.
Name: Tools
Version: 2.1.1
Release: 100
License: GPL
Group: Network
%description
Here is description.
%prep
%build
%install
%files
/lib
/sbin
/etc
/include
/usr
/share
注意,files下的文件或目录的/是相对目录/root/rpmbuild/BUILDROOT/Tools-2.1.1-100.x86_64而言的。
其中/root/rpmbuild/BUILDROOT/为目录rpmbuild使用的目录。
目录Tools-2.1.1-100.x86_64中,Tools是spec中的Name,2.1.1是spec文件中的Version,100是spec文件中的Release。其目录下必须存放spec中files下的文件。
最后,使用
cd /root/rpmbuild/SPECS
rpmbuild -bb my.spec
在/root/rpmbuild/RPMS/x86_64下,就出现了Tools-2.1.1-100.x86_64.rpm。