使用packager.py打包MongoDB

时间:2014-12-17 04:28:44

标签: mongodb rpmbuild rpm-spec

尝试打包我的自定义构建的MongoDB 2.6.6(使用SSL),我使用了来自www.mongodb.org的源代码中的buildscript /的packager.py脚本。

我已根据this以及由于文件位置而导致的错误,在一些地方对其进行了更改。

我已经过来了,但现在我得到的错误来自rpmbuild

error: File not found: /tmp/tmp7vZvNP/rpmbuild/BUILDROOT/mongodb-org-2.6.6-1.%{_arch}/usr/bin/mongod

抛开我搜索过的事实,无法找到%{_arch}来自哪里,mongod

中存在/tmp/tmp7vZvNP/rpmbuild/BUILDROOT/mongodb-org-2.6.6-1.%\{_arch\}/usr/bin/mongodb-linux-x86_64-2.6.6/bin/二进制文件

为规范文件定义的{_bindir}在哪里? 还有什么想法我接下来应该追求的是什么?

1 个答案:

答案 0 :(得分:0)

所以在阅读@Etan Reisner的评论后,我做了以下事情: 将write_rpm_macros_file更改为如下所示:

def write_rpm_macros_file(path, topdir, arch):
    f=open(path, 'w')
    try:
        f.write("%%_topdir  %s\n" % topdir)
        f.write("%%_arch    %s\n" % arch)
        f.write("%%_bindir  %s" % "/usr/bin/mongodb-linux-x86_64-2.6.6/bin/")
    finally:
        f.close()

现在我正确构建了一个RPM。

修改: 我更改了二进制文件tar.gz文件,现在不需要%_bindir宏...