开发常见问题 - pengphei/haiku-cn GitHub Wiki
查看我们的开发入门页面。你可以在文档资料找到一些链接,通过这些链接可以找到有关编程的页面。
你可以做一些介绍性质的工作,可以在开发入门页面看到相关的介绍。
我们确实有自己的编程风格,你可以查看 Haiku 源码规范获取相关的文档信息。
在检出我们的源码库和git配置完成之后,你可以进行源代码的修改。记着检查你的修改是否存在编译错误或者警告。之后就是提交修改,打开终端,在你进行修改的目录或者你的源码仓库的根目录,完成本地修改提交 git commit -a
之后,运行 git format-patch
。 之后,您可以在代码库根目录找到这个补丁。如果希望提交该补丁,需要将该文件链接到相应的错误报告或者将其发送到我们的开发邮件列表。
在 Trac 中创建账号之前,需要通过电子邮件来核对你的账户,阅读这里获取详细信息。
- 一个稍微修改过的 Jam 是我们的编译工具,在 Haiku 的官方版本和最近发布的镜像都包含这个工具。如果需要跨平台编译 Haiku,您需要从源代码编译 jam。
- GIT 是我们的版本控制系统。
- Trac 是我们的项目管理和错误问题跟踪系统。
我们有几个邮件列表,可以在邮件列表页面上查看相关内容。
有多个IRC频道可供选择,所有的频道由 irc.freenode.net 网站提供支持。
确保你的系统是被 Haiku 编译系统所支持的系统平台。确保你是用的是正确的编译工具(编译工具的版本号要正确),而且还要确保你调用的设置脚本和 jam 的正确性(阅读开发入门来获取更多的信息)。如果所有步骤都是正确的,但是问题仍然存在,在 Haiku 开发邮件列表上发布错误,但是请不要在 Trac 中报告编译错误。
由于 Haiku 源码树包括了几个移植的应用程序,我们尽量只把重要的部分包含进来(如 bash,GNU 命令行工具,以及调试工具 gdb)。对于多数其他的应用,建议它们用于 Haiku 平台分支的源码保存在原始提供者的代码库中。第三方的库函数只有在它们被我们认为很重要的应用所使用时,我们才会在代码库中包含它们。但是,我们非常乐意接受用于硬件支持的内核驱动代码。
我们通常只接受自由软件协议授权下的捐赠(例如 FSF 下的自由软件协议),最好是 Haiku 使用的协议(即 MIT 协议)。如果是应用程序,内核驱动,或者大多数的插件,唯一的限制就是它们所使用的条件不是我们所不能够或者不愿意采用的(例如:BSD 协议较早的版本中包含的广告条款)。对于操作系统的各个组成部分(如内核,或者提供公共API的函数库,例如 libbe),我们拒绝使用由传染性的协议授权的捐赠(如 GPL),这类协议要求我们在相关的代码中使用该协议。目前有只有 libroot 是个例外,它使用的大量代码来源于 LGPL 授权下的 glibc。
由于 Haiku R1 与 BeOS R5 是二进制和源代码大部分兼容的,通常你可以直接在 Haiku 中使用 BeOS 的程序。在应用程序级别的 API中,只有极少的不兼容性存在。尽管已经有了一个新的驱动接口,但是 BeOS R5 的驱动仍然被 Haiku 所支持(只是需要做少量的改动)。文件系统添加接口的方式发生了显著地变化,你需要移植老的文件系统。你可以查阅下面的文档列表获取更多的信息,如果需要进一步的帮助,在 Haiku 邮件列表中联系我们。