# FreeBSD 2008 年 4-6 月状态报告

* 原文链接：<https://www.freebsd.org/status/report-2008-04-2008-06.html>

## 引言

本状态报告涵盖了 2008 年 4 月至 6 月期间与 FreeBSD 相关的项目。在此期间，FreeBSD 基金会发布了他们的 [2008 年 7 月通讯](http://www.freebsdfoundation.org/press/2008Jul-newsletter.shtml)。

感谢所有报告者的出色工作！希望你享受阅读。

## [谷歌编程之夏](https://www.freebsd.org/status/report-2008-04-2008-06.html#Google-Summer-of-Code)

### [Layer2 过滤](https://www.freebsd.org/status/report-2008-04-2008-06.html#Layer2-filtering)

| 链接                                                                   |
| -------------------------------------------------------------------- |
| <http://wiki.freebsd.org/GlebKurtsov/Improving\\_layer2\\_filtering> |
| <http://blogs.freebsdish.org/gleb/>                                  |

联系方式：Gleb Kurtsou <<gk@FreeBSD.org>>\
联系方式：Andrew Thompson <<thompsa@FreeBSD.org>>

该项目旨在改进 ipfw 和 pf 中的 layer2 过滤。目前已完成以下项目目标：扩展 pfil 框架以处理以太网包，极大简化了 ipfw 的 layer2 过滤，添加了每个接口的 l2filter 和 l2tag 标志。ipfw 和 pf 防火墙都支持按以太网地址进行过滤，支持带有以太网地址的有状态过滤，并且防火墙的查找表已扩展为包含以太网地址。

#### 待办事项

1. 在 IPFW 中实现 ARP 过滤选项。

### [从 OpenBSD 移植 BSD 许可的文本处理工具](https://www.freebsd.org/status/report-2008-04-2008-06.html#Porting-BSD-licensed-text-processing-tools-from-OpenBSD)

| 链接                                                                                                       |
| -------------------------------------------------------------------------------------------------------- |
| [Wiki 页面](http://wiki.freebsd.org/G%C3%A1borSoC2008)                                                     |
| [Perforce 仓库](http://p4web.freebsd.org/@md=d\&cd=/\&c=Kqj@/depot/projects/soc2008/gabor_textproc/?ac=83) |

联系方式：Gábor Kövesdán <<gabor@FreeBSD.org>>

grep 工具已准备好在 portbuild 集群上进行彻底测试。它几乎与 GNU grep 兼容，但由于 GNU 和基础系统的正则表达式库在处理正则表达式时有所不同，因此实现更好的兼容性非常困难。

diff 工具已有一些进展，但仍然缺少一些重要选项。由于排序工具在宽字符支持方面设计上存在问题，因此优先级较低。

#### 待办事项

1. 完成 diff 的未完成选项并进行优化。
2. 调查修复 sort 的机会。

## [项目](https://www.freebsd.org/status/report-2008-04-2008-06.html#Projects)

### [构建集群](https://www.freebsd.org/status/report-2008-04-2008-06.html#Build-cluster)

联系方式：Kris Kennaway <<kris@FreeBSD.org>>

在过去的几个月里，我一直在致力于将包构建集群通用化，以允许它承载其他批处理和交互式任务。目前，我们在构建机器的使用上效率低下，因为不同的项目有专门的机器，这些机器要么负荷过轻，要么负荷过重。目标是提供一个框架，将所有这些机器资源结合成一个单一的集群，供多个用户共享，从而减少空闲时间，并在有可用资源时让分布式构建任务能够利用额外的构建资源。开发者将能够按需获取对任何可用架构上运行的 jail 的交互式访问权限，并拥有 root 权限。类似地，批处理任务将指定其资源要求，并被调度到集群中合适的机器上运行。目前状态：作业队列管理器已经在工作，并且现在被用来将包构建映射到机器上。各种包构建脚本已经重写，改用该管理器而不是之前的构建调度器。通用作业调度器正在原型设计中，并将与现有的几个服务（如 INDEX 构建）一起进行验证。已编写各种支持服务，如 ZFS 快照复制。

### [finstall](https://www.freebsd.org/status/report-2008-04-2008-06.html#finstall)

| 链接                                    |
| ------------------------------------- |
| <http://wiki.freebsd.org/finstall>    |
| <http://www.sf.net/projects/finstall> |

联系方式：Ivan Voras <<ivoras@freebsd.org>>

在上次报告和这次报告之间，该项目推出了一个包含 FreeBSD 7.0-RELEASE 的 i386 LiveCD 安装程序。该项目在 BSDCan 2008 上进行了展示。由于缺乏空闲时间，开发进展较慢。我正在寻找能够让我更多参与该项目的资金。目前正在开发的大项是文档编写和前端与后端之间使用的协议描述，这将使实现更加健壮，并可能支持第三方客户端。这个子项目接近完成。该项目目前托管在 SourceForge 上，以便非 FreeBSD 开发者参与贡献。

#### 待办事项

1. 分区编辑器。
2. 包选择。

### [FreeBSD Bugbusting 团队](https://www.freebsd.org/status/report-2008-04-2008-06.html#FreeBSD-Bugbusting-Team)

| 链接                                                                                            |
| --------------------------------------------------------------------------------------------- |
| [GNATS](http://www.freebsd.org/support.html#gnats)                                            |
| [BugBusting](http://wiki.freebsd.org/BugBusting)                                              |
| [按 manpage 索引的 PR](http://people.freebsd.org/~linimon/studies/prs/pr_manpage_index.html)      |
| [按标签索引的 PR](http://people.freebsd.org/~linimon/studies/prs/pr_tag_index.html)                 |
| [可能已经提交的 PR](http://people.freebsd.org/~linimon/studies/prs/prs_possibly_committed.html)      |
| [由 Bugbusting 团队确定的知名 PR](http://people.freebsd.org/~linimon/studies/prs/well_known_prs.html) |
| [常见问题](http://wiki.freebsd.org/JeremyChadwick/Commonly_reported_issues)                       |

联系方式：Ceri Davies <<bugmeister@>>\
联系方式：Remko Lodder <<bugmeister@>>\
联系方式：Mark Linimon <<bugmeister@>>

我们已授权 Bruce Cran (bruce@) 直接访问 GNATS，Volker Werth (vwe@) 已从导师角色中解放。我们感谢他们的帮助！

我们在 6 月举行了第三次 bugathon，成功关闭了多个 bug，并对其他一些进行了调查和分类。我们仍在努力寻找方法，让更多的提交者帮助我们关闭团队已经分析过的 PR。

我们继续在对 PR 进行分类时取得良好进展，并使用与 manpage 对应的“标签”进行分类。（特别感谢 Dylan Cochran 的帮助。）因此，我们现在创建了一些原型报告，可以按 manpage 浏览数据库。

此外，我们还增加了一个新的报告，面向 PR 提交者，总结了最常见的问题。许多问题之所以存在，是因为它们难以修复。在提交 PR 之前，你可能想先查看一下这个列表。

Mark Linimon 总结了今年以来 bugathon 的一些优秀技术建议，并将其发布到 wiki 上。作为这一部分，他重新安排了 wiki 页面，因此如果你有一段时间没有查看，请访问 BugBusting。特别是，资源页面现在更加完整。

Jeremy Chadwick (koitsu@) 现在维护一个页面，总结了一些常见的问题。这补充了上述的某些报告，但包含了更多信息，包括操作指南。

自上次发布以来，PR 总数大约维持在 5300 个左右。

#### 待办事项

1. 思考一种方法，让提交者仅查看已经“审查”或“确认”的 PR。
2. 为我们已经建立的工作和接下来要做的工作增加更多宣传。
3. 定义新的 PR 类别、分类和状态，以更好地匹配我们的工作流程。

### [启动加载器的图形支持](https://www.freebsd.org/status/report-2008-04-2008-06.html#Graphics-support-for-the-boot-loader)

| 链接                                                |
| ------------------------------------------------- |
| <http://wiki.freebsd.org/OliverFromme/BootLoader> |

联系方式：Oliver Fromme <<olli@freebsd.org>>

该项目旨在为 FreeBSD 的启动加载器实现图形支持，替换现有的 ASCII 菜单。（请注意，当无法使用图形模式时，如在串行控制台或不受支持的硬件上，ASCII 菜单仍将可用。）

有关更详细的描述和屏幕截图，请参考项目的 Wiki 页面。

进展较慢（由于缺乏时间），但稳步推进。当前代码位于 Perforce 仓库中。我将尽力尽早准备第一个公开的 CFT。

#### 待办事项

1. 实现平台切换。
2. 实现“主题”支持（使用 FORTH）。
3. 编写文档。

### [USB](https://www.freebsd.org/status/report-2008-04-2008-06.html#USB)

| 链接                                                                                                                                                                                               |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [当前 USB 文件](http://p4web.freebsd.org/@md=d\&cd=/depot/projects/usb/src/sys/dev/usb2/\&c=oDu@/depot/projects/usb/src/sys/dev/usb2/?ac=83)                                                         |
| [当前 USB API README 文件](http://p4web.freebsd.org/@md=d\&cd=/\&cdf=/depot/projects/usb/src/sys/dev/usb2/core/README.TXT\&c=Vfw@/depot/projects/usb/src/sys/dev/usb2/core/README.TXT?ac=64\&rev1=2) |

联系方式：Hans Petter Sirevaag Selasky <<hselasky@freebsd.org>>

在过去三个月里，有许多变化。最显著的是，所有全局 USB 符号已重命名为 "usb2\_"，以便与旧的 USB 堆栈共存。此外，现在有了一个全新的、重新设计的 UGEN 驱动程序，允许多个驱动程序挂接到同一个 USB 设备上。不再需要卸载任何内核驱动程序。例如，现在可以同时加载 "ums" 驱动时，由用户态的鼠标驱动程序抢占一半鼠标事件。唯一的缺点是鼠标光标在屏幕上移动时会变得较慢。这可能不是最常见的使用场景，但它说明内核 USB 驱动程序不再锁定其他 USB 用户态驱动程序。FreeBSD 正在开发一个新的用户态 libusb。USB 堆栈现在还支持独立的 USB 总线、USB 设备和 USB 接口权限。这意味着你可以更容易地为 USB 设备驱动程序提供 USB 总线、USB 设备或 USB 接口级别的权限。所有 USB 模块现在已被分组到功能类别中：usb2\_bluetooth、usb2\_ndis、usb2\_controller、usb2\_quirk、usb2\_core、usb2\_serial、usb2\_ethernet、usb2\_sound、usb2\_image、usb2\_storage、usb2\_input、usb2\_template、usb2\_misc 和 usb2\_wlan。

关于新的 USB API 的想法和意见，欢迎在 [FreeBSD-USB 邮件列表](http://lists.freebsd.org/mailman/listinfo/freebsd-usb) 上提出。

## [FreeBSD 架构](https://www.freebsd.org/status/report-2008-04-2008-06.html#FreeBSD-Architecture)

### [ARM/Marvell 移植](https://www.freebsd.org/status/report-2008-04-2008-06.html#ARM/Marvell-port)

| 链接                                                                                                                                                  |
| --------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Orion 在 Perforce 上](http://p4web.freebsd.org/@md=d\&cd=/depot/projects/arm/src/sys/arm/orion/\&c=0h4@/depot/projects/arm/src/sys/arm/orion/?ac=83) |

联系方式：Rafal Jaworowski <<raj@semihalf.com>>\
联系方式：Bartlomiej Sieka <<tur@semihalf.com>>

经过过去几个月的密集开发，FreeBSD 现已支持 Marvell 系统芯片（SoC）设备，目前 FreeBSD 8.0-CURRENT 已在以下系统上运行：

* Orion（已在 Perforce 上提供）：
  * 88F5281
  * 88F5181
  * 88F5182
* Kirkwood - 88F6281
* Discovery - MV78100

上述 SoC 系列基于符合 ARMv5TE 指令集架构定义的 CPU 内核。这些芯片共享多个集成外设，大部分外设已有稳定的驱动程序：

* UART
* EHCI USB 2.0
* 以太网
* IDMA（通用 DMA 引擎）
* XOR
* TWSI（I2C）
* 定时器、看门狗、RTC
* GPIO
* 中断控制器
* L1、L2 缓存

高层功能总结：

* 生产质量
* 无错误操作
* 多用户
* 自主构建内核/用户空间
* 支持 NFS 或 USB 挂载的根文件系统

代码部分可用（Orion 在 Perforce 上），其他变种也将很快与 Perforce/SVN 集成。

#### 待办事项

1. 正在进行中的驱动程序：PCI 和 PCIE。

## [Ports](https://www.freebsd.org/status/report-2008-04-2008-06.html#The-Ports-Collection)

### [Ports](https://www.freebsd.org/status/report-2008-04-2008-06.html#Ports-Collection)

| 链接                                                                                                |
| ------------------------------------------------------------------------------------------------- |
| [FreeBSD Ports](http://www.freebsd.org/ports/)                                                    |
| [如何贡献 FreeBSD Ports](http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/)     |
| [FreeBSD Ports 无法获取的 distfile 调查（Bill Fenner 的报告）](http://people.freebsd.org/~fenner/portsurvey/) |
| [FreeBSD ports 监控系统](http://portsmon.freebsd.org/index.html)                                      |
| [FreeBSD Ports 管理团队](http://www.freebsd.org/portmgr/index.html)                                   |
| [marcuscom Tinderbox](http://tinderbox.marcuscom.com/)                                            |

联系方式：Mark Linimon <<linimon@FreeBSD.org>>

Ports 数量已增加至超过 19,000 个，PR 数量保持在约 900 个。

KDE 已更新到 4.1，特别感谢 Martin Wilke 提前进行的广泛测试。

GNOME 已更新三次，首先更新到 2.22.1，然后更新到 2.22.2 和 2.22.3。

其他值得注意的更新包括 automake、gettext、libtool 和 m4。

Florent Thoumie 一直在进行 pkg\_\* 工具的一些更新。

Ion-Mihai Tetcu 已设置了一个 Tinderbox，具有多个目的：首先，快速尝试在提交更改时构建软件包；其次，使用非标准环境变量集来构建它们；第三，使用非标准环境变量集构建旧的包。通过这些工作和多位提交者的工作，我们已经更接近在 NOPORTDOCS 情况下构建正确的包。

Kris Kennaway 对软件包构建工具进行了大幅重写，包括默认迁移到 ZFS，使得源代码和 ports 目录可以快速克隆。现在更容易管理和监控构建过程。这项工作仍在继续。有关更多信息，请参见 Tools/portbuild/scripts 中的提交。（这项工作的相关内容正在更新中，更新后的软件包构建文章将发布。）相关工作还涉及清理一些 ports 基础设施；特别是，INDEX 构建现在更加快速。

自上次报告以来，我们已经进行过许多 -exp 运行，包括 bsd.cmake.mk、自动化工具更新、CC 环境传递、KDE 4.1 的预集成和后集成检查、lockmgr 更改、tty 更改等。

尽管有许多 PR 已关闭，我们仍然有 57 个 portmgr PR，与上次报告持平。

以下是正在进行的大更改：

* 引入 Perl 5.10

我们目前正在为 amd64-6、amd64-7、amd64-8、i386-6、i386-7、i386-8、sparc64-6 和 sparc64-7 构建软件包。RELENG\_5 已结束支持生命周期。

自上次报告以来，我们增加了 4 位新的提交者。

#### 待办事项

1. 剩余的大多数 ports PR 是“现有的 Port /PR 已分配给提交者”。尽管维护者超时策略有助于减少积压，但我们仍需做更多工作，以确保这些 Port 达到应有的标准。
2. 尽管我们已经增加了许多维护者，但仍有超过 4,000 个未维护的 Port（例如，可以在 portsmon 上查看该列表）。我们始终在寻找有志的志愿者来接管至少一些未维护的 Port。此外，amd64 和 sparc64 上的软件包落后于 i386，我们需要更多测试人员来验证这些软件包。

### [Qt/KDE4 状态报告](https://www.freebsd.org/status/report-2008-04-2008-06.html#Qt/KDE4-Status-Report)

| 链接                        |
| ------------------------- |
| <http://freebsd.kde.org/> |

联系方式：Martin Wilke <<miwi@FreeBSD.org>>\
联系方式：FreeBSD KDE 团队 <<kde@FreeBSD.org>>

Qt4 已更新至 4.4.1 版本，更新已提交到我们的测试仓库。我们在使用 Qt 4.4.0 时遇到了一些运行时问题，因此 Qt 4.4.0 从未提交到 Ports 中。大多数问题已在 4.4.1 中修复，计划在几天内提交到 Ports 中。

目前，KDE 4.1 的 ports 已经准备好进行测试，待提交到 FreeBSD Ports。我们已经在 2008 年 7 月 17 日发布了 KDE 4.1 beta2 的第一次公开测试请求。到目前为止，反馈是积极的。如果你希望帮助测试以加速进程，请访问 [Wiki 页面](http://wiki.freebsd.org/KDE4/install) 并提供反馈。

我们计划在 8 月中旬之前完成所有提交。

## [文档](https://www.freebsd.org/status/report-2008-04-2008-06.html#Documentation)

### [FreeBSD FAQ 翻新](https://www.freebsd.org/status/report-2008-04-2008-06.html#FreeBSD-FAQ-Renovation)

| 链接                                                      |
| ------------------------------------------------------- |
| <http://www.freebsd.org/doc/en/books/faq/>              |
| [FreeBSD FAQ 更新提案](http://wiki.freebsd.org/faq-renewal) |

联系方式：Gábor Páli <<pgj@FreeBSD.org>>\
联系方式：Manolis Kiagias <<manolis@FreeBSD.org>>

FreeBSD FAQ 的翻新工作已经开始，旨在支持其希腊语和匈牙利语翻译。仍然可能会进行进一步的改进和内容更改，我们希望其他提交者能够帮助我们保持 FAQ 的更新和完善。

我们已启动一个更新提案，旨在收集和组织围绕更具互动性、准确性、开放评论、跨多个视图一致的 FAQ 文档的想法。我们希望尝试实施之前提到的目标的方法，并且非常欢迎帮助。

#### 待办事项

1. 审查翻新的 FAQ。
2. 向 FAQ 添加更多问题和答案。
3. 完善 FAQ 更新提案。

### [FreeBSD 荷兰文档项目](https://www.freebsd.org/status/report-2008-04-2008-06.html#The-FreeBSD-Dutch-Documentation-Project)

| 链接                                           |
| -------------------------------------------- |
| [主文档站点](http://www.freebsd-nl.org/)          |
| [项目站点](http://www.evilcoder.org/freebsd_nl/) |

联系方式：Remko Lodder <<remko@FreeBSD.org>>\
联系方式：Rene Ladan <<r.c.ladan@gmail.com>>

FreeBSD 荷兰文档项目是一个持续进行的项目，旨在将 FreeBSD 文档资源翻译成荷兰语。

该项目目前在将 FreeBSD 手册翻译成荷兰语方面进展顺利，最后一章正在由项目成员翻译。

最近的成就包括翻译了 Jail 章节和虚拟化章节，并且在高级网络章节的翻译上也有了进展。Rene Ladan 是该领域的关键人物。

我们还开始了 FAQ 的翻译，这是我们应该在某个阶段达成的另一个主要目标。

如果你愿意帮助翻译或者想了解更多信息，请随时联系我们，我们很乐意在可能的情况下提供帮助。

#### 待办事项

1. 完成手册翻译。
2. 完成 FAQ 翻译。
3. 完成网站翻译。
4. 保持项目与英文版本同步。

### [FreeBSD 匈牙利文档项目](https://www.freebsd.org/status/report-2008-04-2008-06.html#The-FreeBSD-Hungarian-Documentation-Project)

| 链接                                                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------ |
| [FreeBSD 匈牙利网站](http://freebsd.org/hu)                                                                                                     |
| [FreeBSD 匈牙利文档](http://www.freebsd.org/doc/hu_HU.ISO8859-2/)                                                                               |
| [FreeBSD 匈牙利文档项目的 Wiki 页面](http://wiki.freebsd.org/HungarianDocumentationProject)                                                          |
| [FreeBSD 匈牙利文档项目的 Perforce Depot](http://p4web.freebsd.org/@md=d\&cd=/depot/projects/docproj_hu/\&c=aXw@/depot/projects/docproj_hu/?ac=83) |

联系方式：Gábor Kövesdán <<gabor@FreeBSD.org>>\
联系方式：Gábor Páli <<pgj@FreeBSD.org>>

FreeBSD 手册的匈牙利语翻译已最终提交到 doc 仓库。FreeBSD FAQ 的翻译也已开始，但原始文档首先需要更新。我们还添加了其他两篇文章的翻译：[compiz-fusion](http://www.freebsd.org/doc/hu/articles/compiz-fusion) 和 [linux-users](http://www.freebsd.org/doc/hu/articles/linux-users)。

我们的 Perforce depot 已重新组织，以提供更好的布局，为新手提供更多空间。Giorgos Keramidas 编写的 [checkupdate](http://www.freebsd.org/cgi/cvsweb.cgi/doc/el_GR.ISO8859-7/share/tools/checkupdate/checkupdate.py) 脚本作为检查翻译的新工具已被采纳，以帮助该项目的工作。

#### 待办事项

1. 翻译 -CURRENT 和 7.X 版本的发布说明。
2. 翻译更多文章。
3. 翻译书籍 / fdp-primer。

### [FreeBSD 西班牙文档项目](https://www.freebsd.org/status/report-2008-04-2008-06.html#The-FreeBSD-Spanish-Documentation-Project)

| 链接                                                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------ |
| [FreeBSD 西班牙网站](http://freebsd.org/es)                                                                                                     |
| [FreeBSD 西班牙文档](http://www.freebsd.org/doc/es_ES.ISO8859-1/)                                                                               |
| [FreeBSD 西班牙文档项目的 Wiki 页面](http://wiki.freebsd.org/SpanishDocumentationProject)                                                            |
| [FreeBSD 西班牙文档项目的 Perforce Depot](http://p4web.freebsd.org/@md=d\&cd=/depot/projects/docproj_es/\&c=S1s@/depot/projects/docproj_es/?ac=83) |

联系方式：José Vicente Carrasco Vayá <<carvay@FreeBSD.org>>\
联系方式：Gábor Kövesdán <<gabor@FreeBSD.org>>

在此期间，我们没有取得任何显著的进展。我们确实需要更多活跃的翻译人员来推进翻译项目。

#### 待办事项

1. 完成西班牙网站的翻新。
2. 更新手册翻译。
3. 翻译 -CURRENT 和 7.X 版本的发布说明。
