openSUSE:Packaging Lua

跳转至: 导航, 搜索

为 openSUSE 打包 Lua

为了给 openSUSE 中的 lua 相关软件包提供一个更好的打包标准,我们在 opensuse-packaging 邮件列表中对本页列示的指南进行了讨论。如果您想要扩充此指南,请先到上述邮件列表提出您的建议,然后再编辑此页面。

开发源

应在 devel:languages:lua 中进行主要的开发工作,devel:languages:misc 仅作为 Factory 提交源使用。

不幸的是有不少 lua 软件包散落在 OBS 各处,请将它们汇集到 devel:languages:lua 中来。

注意 建议从 openSUSE:Factory 中已有的软件包开始迁移。任何将软件包迁移到 devel:languages:lua 的维护者应该发起一个 changedevelrequest 来修改 Factory 中的 devel 源。

Lua 软件包指南

宏已经在 devel:languages:lua 中的 lua 和 lua51 软件包中定义了。

Lua 的 RPM 宏

  • Lua 的主.次版本号
 %lua_version %(lua -e 'print(_VERSION)' | cut -d ' ' -f 2)

注意 也有人建议在安装宏时一次性算出版本号而不是在每次编译 lua 软件包时用 rpm 计算。请到打包邮件列表讨论此问题。

  • 预编译的模块应安装到
 %lua_archdir %{_libdir}/lua/%{lua_version}
  • 纯 Lua 模块应安装到
 %lua_noarchdir %{_datadir}/lua/%{lua_version}

Addon 软件包

Lua add-on 软件包的命名样式应为: lua(version)-PKG_NAME

目前 openSUSE 提供了如下主 lua 软件包

  • lua ------> 提供 5.2 版
  • lua51 ------> 提供 5.1 版
  • lua50 ------> 提供 5.0 版

lua51-luafilesystem -- 适用于 5.1 版的 lua
lua-luafilesystem -- 适用于 5.2 版的 lua

注意 注意这种命名方式本身将在下一版 lua 比如 5.3 的时候带来问题。因此需要一个更好的 lua 主包的命名方式以防止未来不断的进行重命名。

开发软件包

开发软件包应带 -devel 后缀,lua(version)-PKG_NAME-devel, 例如:lua51-luafilesystem-devel

文档软件包

如果一个软件包有巨量的文档或者干脆就是一个文档软件包,那应命名为 lua(version)-PackageName-doc 并安装到 %_defaultdocdir

 /usr/share/doc/packages/luaPKG_NAMEdoc/*

许多上游 Lua 开发者使用 LuaRocks 来分发模块。 因此我们或许应该找个方法来将 luarocks 整合到我们的编译系统中去,并提供一个类似于 python 的 py2pack 的打包机制