openSUSE:打包 Erlang

跳转到:导航搜索


Erlang 打包 是一个循序渐进的介绍,说明如何为 openSUSE openSUSE 构建服务 构建 Erlang 软件包。

Devel 项目

Erlang 包的开发项目是 devel:languages:erlang

Erlang 宏

%erlang_dir

扩展为 %{_libdir}/erlang


%erlang_libdir

扩展为 %{_libdir}/erlang/lib

%__erl

将调用 Erlang 解释器 /usr/bin/erl

Rebar 宏

Rebar 是一个 Erlang 构建工具。它已被 rebar3 取代。但是,一些项目仍然使用旧版 Rebar。

%__rebar

将直接调用 /usr/bin/rebar 二进制文件。

%rebar

这是您将更常用到的宏。它会设置 CFLAGS、CXXFLAGS、FFLAGS 并调用 rebar。

%rebar_compile

将使用上述 %rebar 宏并使用 compile 调用它。

Rebar3

Rebar3 的问题在于它没有像旧版 Rebar 那样具有 SKIP_DEPS=true 选项。因此,它始终尝试通过互联网获取依赖项。这在构建服务中既不可能也不允许。

一种解决方案是删除锁定文件并将 deps 元组从构建文件中修补出来。

但是,我们正在与上游讨论如何使此过程更容易。请参阅

rebar3 维护者也在考虑添加一个 vendoring 选项(就像我们为例如 Rust 和 Go 打包所做的那样)