openSUSE:Packaging Lua
构建服务教学 - 技巧和花样 - 跨发行版打包 - Debian 打包指南 - 打包检查
桌面菜单分类 - 打包常用的 RPM 宏 - 小脚本片段 - SysVinit 脚本 - 源代码服务
OBS 打包互助问答 - 打包黑名单
为 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 的打包机制