FreeBSD 2008 年 1-3 月状态报告

引言

本状态报告涵盖了 2008 年 1 月至 3 月间与 FreeBSD 相关的项目。在此期间,FreeBSD 7.0 发布了。BSDCan 也即将举行,开发者峰会将于 14 日开始,会议则于 16 日开始。

感谢所有报告者的出色工作!我们希望你喜欢阅读这份报告。

链接

http://www.freebsd.org/projects/summerofcode.html

http://wiki.freebsd.org/SummerOfCode

联系人:Ivan Voras <ivoras@freebsd.org>

“finstall”是一个 FreeBSD 的图形化安装器项目,由 Google 在 2007 年的编程之夏期间赞助。其目标是创建一个现代化的安装器,既适合新手用户,也适合专家用户。由于它分为前端和后端,因此可以潜在地用于系统配置、远程安装和自定义安装等高级用途。该项目已经推出了一个适用于 i386 的简单安装器 ISO 镜像,可以用于在空硬盘上进行新安装。开发在 SoC 之后继续进行,但进展较慢;最近实现的功能包括 ZFS 支持和 BSDStats 支持。为了吸引更多潜在开发者(尤其是那些没有 FreeBSD 官方开发系统帐户的人),该项目已经迁移到 SourceForge。未来的开发计划包括支持无头/远程安装、分区等。关于 finstall 的演讲将在 BSDCan 2008 上进行。

待办任务:

  1. 支持远程/无头安装。

  2. 在前端提供更好的分区支持。

  3. 支持 GPT 启动。

  4. 提供细粒度的包选择支持。

链接

http://www.freebsd.org/projects/summerofcode.html

http://wiki.freebsd.org/SummerOfCode

联系人:Murray Stokely <murray@FreeBSD.org> 联系人:Robert Watson <rwatson@FreeBSD.org>

编程之夏的学生申请期已经结束,导师和管理员正在仔细审查申请,澄清项目参数,并决定推荐哪些学生获得谷歌的资助。

今年我们收到了来自 26 个不同国家的 100 多份学生申请。我们目前有超过 60 名潜在导师,正在与学生匹配。我们将很快在编程之夏网站上公布获奖学生,并开始将这些学生引入我们的开发社区。

每位学生将再次获得 Perforce 和 wiki 访问权限,我们推荐所有开发者联系所有在相关领域工作的学生,因为我们希望学生不仅通过他们正式指定的导师获得与社区的接触。

待办任务:

  1. 帮助介绍我们的新编程之夏学生了解 FreeBSD 开发。部分学生在 FreeBSD 上有丰富的开发经验,而其他学生则是新手,可能需要更多帮助。

  2. 更新项目数据库,添加你希望看到的明年编程之夏项目创意。

链接

联系人:Jérémie Le Hen <jeremie@le-hen.org>

此补丁修改了构建基础设施,以便在构建 world、内核和 port 时使用 GCC 的栈破坏保护(SSP,亦称 ProPolice)。不要忘记查看网站,特别是 FAQ,了解哪些 port 在使用 ProPolice 时无法构建。该补丁扩展了 src.conf(5) 中 WITHOUT_SSP 的含义,以防止在编译时同时构建 libssp 和使用 ProPolice。一个有趣的地方是,libssp 是 GNU 许可的(它随 GCC 4.2.1 提供),但由于 libc 包括了必需的符号,程序不会链接到 GNU libssp。还为 port 基础设施添加了一个新开关 USE_SSP,你可以在 make.conf(5) 中将其设置为 "yes",并在命令行中使用 USE_SSP= 来禁用某些 port 的 ProPolice。该补丁已审查完毕,希望很快被提交。 port 部分尚未审查。

链接

联系人:Ed Schouten <ed@80386.nl>

大约 10 周前,我开始重写 TTY 层。现有的 TTY 代码已有 20-25 年历史,并且经过反复扩展,但没有真正改善其设计。

新的 TTY 层将使我们能够从驱动程序中移除对 Giant 的使用。它还包括改进的缓冲机制,具有更多的常量时间操作,并防止在将数据移动到用户空间时多次复制数据。

目前,这些代码对大多数用户来说应该工作得相当好。Perforce 中的代码包括一个新的伪 TTY 驱动程序,该驱动程序最终能够在需要时销毁 TTY 及其关联的缓冲区。syscons、uart 和 ucom 驱动程序也已移植到新的 TTY 层。

代码相当完整,但仍缺少驱动程序交互以进行载波/连接检测和发送断点。许多驱动程序仍需移植。

待办任务:

  1. 有意测试的人。若无法执行 Perforce 检出,请联系我。

  2. 并非所有驱动程序已移植。欢迎提供补丁或硬件。

  3. 一些更改可以已经进行回溯。

链接

联系人:Hans Petter Sirevaag Selasky <hselasky@freebsd.org>

在过去的三个月里,主要进行了 bug 修复和文档提交。目前,代码处于稳定且功能完整的状态。FreeBSD P4 USB 项目现在拥有一个完整对称的 USB 栈,且已在 API 层面经过测试,能够与 AT91RM9200 ARM 基板和 USS820 基设备配合使用。目前已实现了两个 USB 设备端驱动程序,分别是 CDC 以太网和大容量存储(SCSI+BBB),因此现在你可以使用 FreeBSD 制作自定义的 USB 闪存盘。请勿将 USB 设备端驱动程序与 USB 主机端驱动程序混淆。

目前,USB P4 项目正在审查中。

关于新 USB API 的想法和评论,请通过 FreeBSD USB 邮件列表 提出。

链接

联系人:Ceri Davies <bugmeister_at_freebsd_dot_org> 联系人:Remko Lodder <bugmeister_at_freebsd_dot_org> 联系人:Mark Linimon <bugmeister_at_freebsd_dot_org>

作为我们 1 月和 2 月 Bugathon 的成果之一,我们已经授予 Volker Werth (vwe@) 直接访问 GNATS 的权限。在过去的几个月里,他在处理几百个 PR(主要是与源代码相关)中发挥了重要作用,既关闭了它们,又帮助用户解决他们遇到的问题。已经有几个直接源自这些工作的提交到源代码树中。欢迎 Volker!

此外,几位新成员正在协助我们分类传入的 PR,和用户合作,并审查补丁。其中最活跃的包括 Bruce Cran、Dylan Cochran 和 Harrison Grundy。我们非常感激每个人的努力。

由于上述工作,我们已经能够将总 PR 数量控制在约 5300 个左右(峰值约为 5500)。尽管 PR 提交量最近有所上升,且 port PR 积压比近期趋势略高(由于长时间的冻结/缓冲周期)。然而,最令人鼓舞的是,我们不仅控制了绝对数字,还能够更迅速、更全面地处理传入的 PR。尽管我们还未完全达到理想状态,但这一趋势非常令人鼓舞。

此外,Bugbusting 团队还总结了一些如何最好地让新人参与 bugbusting 的经验,比如如何最大化利用具有不同经验水平和兴趣领域的人。我们过去的回应是“只是浏览 bug 报告并告诉我们是否发现需要处理的事项”,这往往会使除最具动力的人以外的人感到气馁。我们正在研究一些新的思路,以优化我们的流程。

仍有一些来自两次 Bugathon 的技术建议需要整理和讨论。前几项已经导致了以下改进:有了几个新网页,包括:过去 7 天的新 PR、"bugbusting 团队推荐的 PR 列表"、以及“2 个月内没有变化的反馈 PRs”(见上文)。还有许多内容需要补充。

第二次 Bugathon 的大部分工作集中在识别和关闭那些已提交修复的 PR。其他一些 PR 被识别并标记为“已修复”,以便进一步处理。

待办任务:

  1. 思考一些方法,使提交者仅能查看那些已经“审查”或“确认”的 PR。

  2. 为我们已建立的工作内容和计划中的工作增加更多宣传。

  3. 定义新的 PR 类别、分类和状态,以更好地匹配我们的工作流。

链接

联系人:Deb Goodkin <deb@FreeBSD.org>

基金会为项目提供了法律咨询,帮助项目了解 GPLv3 对项目的影响,并制定了软件许可证政策。我们批准了 2008 年的预算为 25 万美元。我们是 AsiaBSDCon 的赞助商,并为三位参会者提供了差旅资助。我们是 BSDCan 和 BSDCan 开发者峰会的赞助商,已为 10 位参会者提供了差旅资助。我们正在支持一些项目,旨在为 FreeBSD 6.3 和 7.0 提供 Java 1.6 二进制文件。加入我们的邮件列表,接收每月更新。期待在 BSDCan 与你见面!

链接

联系人:Mark Linimon <linimon@FreeBSD.org>

portmgr 高兴地宣布,Florent Thoumie (flz) 加入了我们。我们立即安排他开始清理 pkg_* 工具。

在 7.0R 版本的长时间冻结和缓冲期后,我们终于能够开始处理在此期间积累的积压工作。

目前 port 数量已超过 18,200 个。PR 数量仅下降到约 1000 个。我们仍然能较快地处理 PR,但在积压的处理上没有取得进展。

我们最近仅能进行 2 次 -exp 运行。虽然一些 PR 已被关闭,但我们仍有 57 个 portmgr PR。

在此期间,GNOME 已更新至 2.22.0。同时,我们为 Linux 仿真引入了一个新的 port (emulators/linux_base-f8),供一般测试使用。

XFree86 被移除(已被废弃一段时间,现代开发似乎已转向 X.Org)。这简化了基础设施。几个其他过时的 port 也已被删除。

以下是计划中的一些重大更改:

  • KDE 升级至 4.0(正在测试)

  • automake 升级至 1.10.1

  • gettext 升级至 0.17

  • libtool 升级至 1.5.26(目前不使用 2.x)

  • m4 升级至 1.14.11

  • 引入 Perl 5.10

我们目前正在为 amd64-5、amd64-6、amd64-7、amd64-8、i386-5、i386-6、i386-7、i386-8、sparc64-6 和 sparc64-7 构建包。但请注意,RELENG_5 将于 2008 年 5 月 31 日结束支持,届时这两个构建环境的包构建将停止。

我们已使用一些新机器来加速包构建(特别是 amd64 架构),实际上,速度快到超出了部分镜像站点的处理能力。我们正在调查解决方案。

自上次报告以来,我们新增了 4 名提交者。

待办任务:

  1. 大部分剩余的 port PR 是“现有 port /PR 已分配给提交者”。尽管维护者超时政策有助于减少积压,但我们还需要做更多工作,使 port 达到所需的质量。

  2. 虽然我们已经增加了许多维护者,但仍有、

链接

联系:Bjoern A. Zeeb <bz@FreeBSD.org>

多 IPv4/v6 jail 项目在 2006 年停滞后于 1 月初恢复。

作为完整网络堆栈虚拟化的替代方案,该工作为多 IP 虚拟化提供了一种轻量级解决方案。这些变化变得更加重要,因为 IPv6 的需求日益增长。

当前状态包括更新的用户空间工具。内核方面已增加对 jail 中两种地址族的多个 IP 地址支持,以及完全没有 IP 地址的支持。实现了 32 位和 jail 版本 1 的向后兼容性。

开发已转移至 Perforce,早期采用者的补丁可供使用。

待办事项

  1. 可在 Perforce 中的 TODO 文件中找到待办事项列表。

  2. 回归测试和审查。

链接

http://people.freebsd.org/~daichi/unionfs/

联系:Daichi GOTO <daichi@freebsd.org> 联系:Masanori OZAWA <ozawa@ongs.co.jp>

我们已将 UnionFS 的实现合并到 HEAD、7-stable 和 6-stable 中。现在,我们正在进行 UnionFS 稳定性改进。我们已经开发了以下 5 个补丁。如果你感兴趣,请尝试并报告你的结果。

待办事项

  1. Robert Watson 指出 unionfs-p20-5.diff 在处理套接字时存在一些问题。我们正在研究这些问题。

链接

联系:Murray Stokely <murray@FreeBSD.org>

一个原型网页应用已经为 http://www.FreeBSD.org 网站编写,经过认证的用户能添加新的开发创意,或评论和投票已有的创意。该应用是目前用于维护项目创意(为暑期编码学生及其他希望参与 FreeBSD 的人提供)的静态网页的拟替代方案。

目前提供的一些功能包括:

  • 允许任何人提出新创意。

  • 允许任何人评论和投票已有创意。

  • 提供最新创意的 RSS 订阅。

  • 提供特定创意的评论/投票的 RSS 订阅。

  • 允许按类别、提案人、投票、摘要标题或完整文本对创意列表进行排序和搜索,并订阅搜索结果的 RSS。

  • 匿名创意/评论默认隐藏,直到由管理员清除。

  • 为某些用户设置管理员权限,使其能够管理上述内容(可以订阅未审核的创意和评论的 RSS 文件,关注需处理的内容)。

  • 导入功能,用于将当前的 ideas.xml 文件导入到数据库中。

  • 提供关于数据库中创意的图表和统计数据。

代码已检查到 Perforce //depot/user/murray/www/apps/django/ideas/... 下,最终我希望能将其托管在 FreeBSD.org 的硬件上,从主网站链接并检查到 www/apps/django/ideas

待办事项

  1. 需要对代码进行彻底的安全审查。如果你有审查网页应用的经验,尤其是在 SQL 注入、跨站脚本和其他漏洞方面,请联系我。该应用使用 Django 框架。

  2. 需要更好的导入/导出工具,以将我们当前的 ideas.xml 网页应用的数据导入数据库并导出。

  3. 需要更多的可用性审查和建议,以使其成为当前静态 XML 系统的有力替代方案。

链接

联系:Gábor Kévesdán <gabor@FreeBSD.org> 联系:Gábor Páli <pgj@FreeBSD.org>

我们很高兴欢迎 Gábor Páli 成为文档提交者。他已成功完成 FreeBSD 手册的翻译。现在他的工作正在进行最终审查,我们将很快将其导入仓库。我们认为,发布说明的翻译是该翻译项目的下一个重要里程碑。

待办事项

  1. 审查已翻译的手册。

  2. 翻译 - CURRENT 和 7.X 的发布说明。

链接

联系:José Vicente Carrasco Vayá <carvay@FreeBSD.org> 联系:Gábor Kévesdán <gabor@FreeBSD.org>

最近,我们的进展有所好转。我们已对网站和手册进行了一些更新,包括对 jail 章节的完整翻译。我们还新增了一个文章翻译,并且另一个翻译正在审查中。

待办事项

  1. 完成网站的更新。

  2. 更新手册并翻译新章节。

最后更新于

这有帮助吗?