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

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

## 引言

本报告涉及了 2013 年 4 月至 6 月期间与 FreeBSD 相关的项目。这是计划在 2013 年发布的四份报告中的第二份。

过去三个月对于 FreeBSD 开发者社区来说异常活跃，期间举办了包括 BSDCan 和与之联合举行的 FreeBSD 开发者峰会（详细内容请参见单独的报告，[BSDCan 开发者峰会特别篇](https://www.freebsd.org/status/report-2013-05-devsummit.html)）以及 BSD-Day 2013 等活动。此外，FreeBSD 系统在各个方面都有了改进。桌面用户会高兴地注意到，在改善 AMD GPU 状态以及让与内核模式设置相关的控制台交互——这一功能是近期 xorg 驱动所必需的——方面有了进展，同时，关于让二进制包更易于使用的工作也在继续。开发者将注意到我们工具链的持续改进，新调试器正在准备集成。服务器用户将受益于内核虚拟化支持和可扩展性方面的各种改进。当然，FreeBSD 系统如果没有可在其上运行的应用程序是无法存在的，而这一季度，Port 团队成员为确保用户有广泛的桌面和开发环境选择而不懈努力，其中包括 GNOME、KDE、Xfce 和 Haskell 团队的亮点内容。

感谢所有报告员的卓越工作！本报告包含 33 个条目，希望你能享受阅读。

涵盖 2013 年 7 月至 9 月期间内容的提交截止日期为 2013 年 10 月 7 日。

## [FreeBSD 团队报告](https://www.freebsd.org/status/report-2013-04-2013-06.html#FreeBSD-Team-Reports)

### [FreeBSD 核心团队](https://www.freebsd.org/status/report-2013-04-2013-06.html#FreeBSD-Core-Team)

联系方式：FreeBSD 核心团队 <<core@FreeBSD.org>>

在 2013 年第二季度，核心团队批准了新的安全官员 Dag-Erling Smørgrav 以及他的副手李鑫。核心团队感谢即将离任的安全官员 Simon Nielsen 为该职位所作的贡献。Peter Wemm 负责主导 FreeBSD 集群的重组和管理工作，在核心团队的批准下，Glen Barber 和 Ryan Steinmetz 被迎接加入集群管理团队。

基于 Martin Wilke 的建议和经验，核心团队还支持设立一位 Ports 管理者和发布工程师之间的联络人角色，以改善他们的沟通，特别是在准备发布版本时。核心团队欢迎 Bryan Drewery 担任此角色。

响应 Eitan Adler 的请求，核心团队同意从基本系统中移除 CVS，紧接着由 Peter Wemm 实现并导入了一版轻量级的 Subversion 工具。

本季度共为 3 名新开发者发放了源码提交权限，另外 1 名现有的提交者获得了权限延续。

### [FreeBSD 邮件管理员团队](https://www.freebsd.org/status/report-2013-04-2013-06.html#FreeBSD-Postmaster-Team)

联系方式：FreeBSD 邮件管理员团队 <<postmaster@FreeBSD.org>>

在 2013 年第二季度，FreeBSD 邮件管理员团队实施了以下可能引起公众关注的事项：

* 在 clusteradm 的帮助下，发现 unbound（在 mx1 和 mx2 上使用的解析器）被配置为执行 DNSSEC 验证，这意味着如果签名区失败验证，unbound 将拒绝使用该信息。这导致一位用户在区域签名刷新之前无法与 FreeBSD.org 交换电子邮件。
* 创建了 freebsd-dtrace 邮件列表，这是 George Neville-Neil 提出的请求。
* 复活了 freebsd-testing 邮件列表，这是 Garrett Cooper 提出的请求。
* 创建了 freebsd-tex 邮件列表，这是佐藤広生提出的请求。
* 针对另一条评论，即如果灰名单（greylisting）是原因，我们的消息拒绝提示不够清晰，重新措辞了该提示。
* 扩展了 secteam 可接受的 MIME 类型，包括以下类型，以便发送加密邮件：
  * application/pgp-encrypted
  * application/pkcs7-encrypted
  * application/x-pkcs7-encrypted
  * multipart/encrypted
* 开始用 freebsd-gecko 替代 freebsd-mozilla。

### [FreeBSD 发布工程团队](https://www.freebsd.org/status/report-2013-04-2013-06.html#FreeBSD-Release-Engineering-Team)

| 链接                                                 |
| -------------------------------------------------- |
| <http://www.freebsd.org/releases/8.4R/errata.html> |
| <http://www.freebsd.org/releases/8.4R/errata.html> |

联系方式：FreeBSD 发布工程团队 <<re@FreeBSD.org>>

FreeBSD 8.4-RELEASE 版本周期已于 2013 年 6 月 7 日完成，约比原定计划晚了两个月。发布后发现的任何问题，请务必阅读 Errata 通知。

FreeBSD 9.2-RELEASE 版本的过程将于 2013 年 7 月 6 日开始。如果没有出现任何关键问题，预计 FreeBSD 9.2-RELEASE 将在 8 月底或 9 月初发布。

鼓励跟踪 FreeBSD 9.*X* 分支的用户尽可能测试 -BETA 和 -RC 版本，并将反馈和问题报告到 [freebsd-stable 邮件列表](http://lists.freebsd.org/pipermail/freebsd-stable)。

### [FreeBSD 安全团队](https://www.freebsd.org/status/report-2013-04-2013-06.html#FreeBSD-Security-Team)

联系方式：FreeBSD 安全团队 <<secteam@FreeBSD.org>>

在 4 月 15 日，Dag-Erling Smørgrav 和李鑫接任 FreeBSD 项目的安全官员，团队在 6 月迎回了 Qing Li。此报告简要总结了安全团队从 4 月至 6 月末的工作。

安全团队发布了以下安全公告：

* FreeBSD-SA-13:05.nfsserver: NFS 服务器（nfsd(8)）中的输入验证不足，由 Adam Nowacki 报告。
* FreeBSD-SA-13:06.mmap: 通过 mmap() 提升特权，由 Konstantin Belousov 报告。

安全团队还贡献了以下勘误通知：

* FreeBSD-EN-13:02.vtnet: 在 QEMU 1.4.0 及更高版本中，当配置多个 MAC 地址时，帧无法正确转发到 vtnet(4)（在 8.4-RELEASE 中），由 Julian Stecklina 报告。
* FreeBSD-EN-13:01.fxp: 在 8.4-RELEASE 中，初始化 fxp(4) 网络接口时与 dhclient(8) 发生无限循环，由 Michael L. Squires 报告。

根据 Baptiste Daroussin 的请求，安全团队还审查了 Poudriere 的源代码，这是一个计划用于在 FreeBSD 集群上生成 pkg(8)（“新风格”）包的 Port 构建和测试系统。

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

### [PC-BSD](https://www.freebsd.org/status/report-2013-04-2013-06.html#PC-BSD)

| 链接                                   |
| ------------------------------------ |
| [PC-BSD 官方网站](http://www.pcbsd.org/) |

联系方式：Kris Moore <<kmoore@FreeBSD.org>>

PC-BSD 和 TrueOS 向“滚动发布”模式的迁移进展迅速。我们已经实现了自己的软件包仓库，完全基于 pkg(8)，并且每月更新两次，同时还托管了专用的 freebsd-update(8) 系统。除了 9.1-RELEASE 的 ISO 镜像，我们还开始创建 9-STABLE 分支，并使用 freebsd-update(8) 每月推送最新的世界和内核二进制文件。

我们目前正在为桌面和服务器实现 ZFS 启动环境。用户可以将更新或实验版本安装到独立的 ZFS 克隆中，并在启动时选择要运行的版本，这为升级前的测试提供了一个简便的方式。

### [虚拟私人系统](https://www.freebsd.org/status/report-2013-04-2013-06.html#Virtual-Private-Systems)

| 链接                                             |
| ---------------------------------------------- |
| <http://www.7he.at/freebsd/vps/>               |
| <http://svnweb.freebsd.org/base/projects/vps/> |

联系方式：Klaus Ohrhallinger <<k@7he.at>>

FreeBSD VPS 是基于操作系统级虚拟化的实现，支持像实时迁移这样的高级特性。该项目最近已经作为项目分支被导入到项目的 Subversion 仓库中。目前代码仍处于 alpha 质量阶段。

#### 待办事项

1. 使用不同的客户端设置/应用程序进行测试。所有反馈都非常欢迎。

## [内核](https://www.freebsd.org/status/report-2013-04-2013-06.html#Kernel)

### [支持 AMD GPU 内核模式设置](https://www.freebsd.org/status/report-2013-04-2013-06.html#AMD-GPU-Kernel-Mode-setting-Support)

| 链接                                            |
| --------------------------------------------- |
| [项目状态 wiki](https://wiki.freebsd.org/AMD_GPU) |

联系方式：Jean-Sébastien Pédron <<dumbbell@FreeBSD.org>>\
联系方式：Konstantin Belousov <<kib@FreeBSD.org>>

由于 4 月至 6 月底期间的非 FreeBSD 相关活动，该项目进展缓慢：

* 修复了 TTM 中的一些重要问题，目前正在解决其他一些问题。受这些问题影响的应用程序包括非线性视频编辑软件（不使用 Xv 进行视频预览）或 VirtualBox 中的“screen”等。
* 关于 OpenGL 锁定问题，尚未进行任何工作。glxgears 可以正常运行，但一些现代桌面环境或 WebGL 演示会挂起。待上述 TTM 错误修复完毕，这将是下一个目标。
* 已经向 Mesa 提交了让其开箱即用的补丁，上游已合并部分，但并非所有补丁都已合并。此外，通过与 Jonathan Gray（OpenBSD）的联合工作，Mesa 应该可以在 FreeBSD、OpenBSD 及其他 BSD 系统上工作，无需额外的补丁。

几位用户测试了该驱动程序。Andriy Gapon、Jonathan Gray 和 Mark Kettenis（OpenBSD）提交了补丁，kyzh 慷慨捐赠了几张来自不同系列的独立显卡。感谢所有贡献者！

该驱动程序仍然不够稳定，尚不适合广泛邀请测试者。

#### 待办事项

1. 编写 wiki 指南，解释如何测试该驱动程序。

### [改进的 TCP SYN Cookies](https://www.freebsd.org/status/report-2013-04-2013-06.html#Improved-TCP-SYN-Cookies)

| 链接                                                                             |
| ------------------------------------------------------------------------------ |
| [描述](http://docs.freebsd.org/cgi/getmsg.cgi?fetch=28838+0+current/freebsd-net) |
| [补丁](http://people.freebsd.org/~andre/syncookie-20130708.diff)                 |

联系方式：Andre Oppermann <<andre@FreeBSD.org>>

我们已经实现了 SYN cookie 很长时间了，但它在当前窗口扩展（window scaling）和 SACK 编码中的一些局限性，特别是在少量可用位的情况下。

这个补丁通过以下方式更新和改进了 SYN cookies：

1. 在初始序列号（ISN）中编码 MSS、WSCALE（窗口扩展）和 SACK，而无需使用时间戳位。
2. 切换到非常快速且加密强度较高的 SipHash-2-4 哈希 MAC 算法，以防止 SYN cookie 被伪造。

自从 SYN cookies 发明约 17 年以来，TCP 会话中常见的参数发生了很大变化。今天，我们有了更多的带宽，这使得窗口扩展几乎是强制性的。而且 SACK 已经成为标准，因为它使得丢包恢复变得更加高效。

最初的 SYN cookies 方法仅在 cookie 中存储了一个索引的 MSS 值。显然，这不再足够，并且在存在 WSCALE 时会出现问题。WSCALE 信息仅在 SYN 和 SYN-ACK 时交换。如果我们无法跟踪它，那么我们就会严重低估可用的发送或接收窗口，再加上窗口扩展较大时，TCP 段头中的窗口大小信息会更低。

几年前，SYN cookies 被扩展为在 TCP 时间戳字段中存储额外的状态（如果连接支持时间戳）。这一方法也被 Linux 采用。虽然 BSD、Linux 和其他 Unix 系统中都支持时间戳，但 Windows 从未默认启用它们，因此对于绝大多数互联网上的客户端来说，时间戳并不可用。

这个补丁中的新改进将所有必要的信息重新移动到 ISN 中，从而消除了对时间戳的需求。MSS 和发送 WSCALE 被以 3 位索引形式存储，并且有一个单独的位用于 SACK。虽然我们不能仅用 3 位表示所有可能的 MSS 和 WSCALE 值（它们在 TCP 头部中是 16 位字段），但事实证明这并非实际需要的。

这些改进允许仅在面向互联网的服务器上运行 SYN cookies。然而，尽管 SYN cookies 始终被计算和发送，但只有在 syn 缓存因攻击或过载而溢出时才会使用。在这种情况下，你可以放心，TCP 连接建立的性能将不再受到显著影响，即使是 Windows 客户端也可以利用窗口扩展和 SACK。

#### 待办事项

1. 在繁忙的服务器上进行额外测试。

### [多线程 Pagedaemon](https://www.freebsd.org/status/report-2013-04-2013-06.html#Multi-threaded-Pagedaemon)

| 链接                                                            |
| ------------------------------------------------------------- |
| <http://people.freebsd.org/~kib/misc/pagedaemon-numa.1.patch> |

联系方式：Konstantin Belousov <<kib@FreeBSD.org>>

该项目旨在提高虚拟内存子系统的可扩展性。基于 Jeff Roberson 提供的原型变更，已经实现了每域页面队列和每域 pagedaemon 工作线程，以支持这一目标。目前，域与 NUMA 接近域重合，但这并不是必需的，并且可以通过进一步分离来改进，以便在 pagedaemon 中实现更多的并行性。

该补丁相对简单，最微妙的部分是页面清理（page laundry）和 OOM 逻辑，这要求所有 pagedaemon 线程之间协调，以防止误触发。

需要在不同的工作负载和真实的多插槽机器上进行测试。

该项目由 FreeBSD 基金会赞助。

#### 待办事项

1. 在多域 NUMA 机器上进行调试。
2. 测试，进行代码审查并提交。

### [原生 iSCSI 堆栈](https://www.freebsd.org/status/report-2013-04-2013-06.html#Native-iSCSI-Stack)

| 链接                                                 |
| -------------------------------------------------- |
| <https://wiki.freebsd.org/Native%20iSCSI%20target> |

联系方式：Edward Tomasz Napierała <<trasz@FreeBSD.org>>

原生内核 iSCSI 目标和启动器项目在 4 月到 6 月期间取得了良好的进展。主要的工作是为 iSER（基于 RDMA 的 iSCSI）在启动器和目标中引入支持。为此，首先需要将一些通用部分合并，并为用户空间缺少 iSER 支持实现一个解决方法。除此之外，还有许多小的改进。例如，创建了更易于使用的管理工具，如 iscsictl(8)，它显示每个 iSCSI 会话的 SCSI 设备节点。这使得用户不再需要通过 camcontrol(8) 获取相同的信息。此外，还对日志记录和手册页做了改进。

待 iSER 支持稳定，工作将重点转向性能优化。计划在 8 月提交新的启动器和目标，以便将其包含在 10.0 版本中。项目还将继续实现对软件 iWARP 堆栈（主要用于测试和开发）、SCSI 直通和其他改进的支持。

该项目由 FreeBSD 基金会赞助。

#### 待办事项

1. 性能优化。
2. 合并到 FreeBSD 主干。

### [Newcons 重启](https://www.freebsd.org/status/report-2013-04-2013-06.html#Newcons-Reboot)

联系方式：Aleksandr Rybalko <<ray@FreeBSD.org>>

Newcons 项目的目的是为控制台和视频输出提供新的接口，支持图形设备。这将允许简单的驱动程序在早期访问控制台和终端模式，并为 Xorg 提供帧缓冲访问。驱动程序将不再需要嵌入的字体位图、色彩图或鼠标光标位图，因为整个基础设施将由 vt(4) Newcons 驱动程序提供。

由于该项目包括内核模式设置（KMS）的集成，其中一个目标是支持现代的 Xorg 版本，使内核能够在图形模式或分辨率变更后切换回虚拟终端模式。

项目涉及很多更改，主要任务包括：

* 核心功能（几乎完成）。
* 鼠标支持。
* KMS（内核模式设置）支持。
* USB 键盘支持。
* 启动画面支持（部分完成）。
* 驱动程序支持。
* vidcontrol(1) 支持。

该项目的第一批交付物，包括 moused(8)、ukbd(4) 和 KMS 支持，预计将在 2013 年 8 月中旬或底部交付。整个项目预计将在 2013 年 11 月完成。

该项目由 FreeBSD 基金会赞助。

感谢 Ed Schouten 启动了 Newcons 项目并完成了大部分工作。

#### 待办事项

1. 提供不同类型的硬件来测试实现。发布测试邀请时，请积极参与。

### [Realtek RTL8188CU/RTL8192CU USB 无线驱动](https://www.freebsd.org/status/report-2013-04-2013-06.html#Realtek-RTL8188CU/RTL8192CU-USB-Wireless-Driver)

联系方式：Rui Paulo <<rpaulo@FreeBSD.org>> 联系方式：Kevin Lo <<kevlo@FreeBSD.org>>

已从 OpenBSD 导入驱动程序 urtwn(4) 。这是一个针对非常小型的 Realtek USB WiFi 卡的驱动，这些网卡价格便宜，可以实现最大理论速度为 150 Mbps 的 802.11n。这些卡非常适合嵌入式系统，如树莓派和 BeagleBone。该驱动需要固件，这些固件可以从 FreeBSD Ports 中的 net/urtwn-firmware-kmod 获取。请注意，目前尚不支持 802.11n。

### [SDIO 驱动](https://www.freebsd.org/status/report-2013-04-2013-06.html#SDIO-Driver)

| 链接                                                       |
| -------------------------------------------------------- |
| [SDIO 项目页面](https://wiki.freebsd.org/SDIO)               |
| [源代码](https://github.com/kibab/freebsd/tree/kibab-dplug) |

联系方式：Ilya Bakulin <<ilya@bakulin.de>>

SDIO 是一个扩展现有 SD 卡标准的接口，旨在通过标准 SD 控制器将不同外设连接到主机。目前市场上销售的外设包括 WLAN/BT 模块、摄像头、指纹识别器、条形码扫描器。该驱动作为现有 MMC 总线的扩展实现，添加了许多新的 SDIO 特定的总线方法。卡片信息查询功能已完成，包括查询所有支持的 I/O 功能。简单的字节传输和多字节读取也能正常工作。

目前正在开发一个 Marvell SDIO WLAN/BT 模块的驱动原型，参考现有的 Linux 驱动。

#### 待办事项

1. 扩展 MMC 总线接口，增加更多的 SDIO 特定的总线方法，以允许子驱动执行多字节输入/输出传输。
2. 为 WLAN 驱动原型编写固件加载代码。关于 WLAN 驱动的进一步工作可能需要作为独立项目进行。
3. 实现卸载路径。目前尚未测试，因为可用的 DreamPlug 硬件没有外部 SDIO 支持的插槽。

### [Linux 兼容层中的 V4L2 更新](https://www.freebsd.org/status/report-2013-04-2013-06.html#V4L2-Update-in-the-Linuxulator)

联系方式：Alexander Leidinger <<netchild@FreeBSD.org>>

FreeBSD 头文件中的 linuxulator 已更新 V4L2 支持。这使得 Skype v4 可以显示视频。

#### 待办事项

1. 查明 Skype v4 在某些通话后音频停止工作的原因。

### [改进无线网络](https://www.freebsd.org/status/report-2013-04-2013-06.html#Wireless-Networking-Improvements)

联系方式：Adrian Chadd <<adrian@FreeBSD.org>>

最近，FreeBSD 无线网络栈在以下领域进行了更新：

* 改进了 net80211(4) 中的传输锁定，消除了导致出错包传递到驱动程序的一类微妙的竞争条件。
* 为 AR9280、AR9285、AR9287 系列 NIC 提供了频谱扫描（FFT）信息。
* 添加了对 AR93xx、AR94xx、AR95xx NIC 的支持 — 已测试 hostap、adhoc 和站点模式，包括这些 NIC 支持的 3x3 流。
* 在 hostap 模式下实现了 ps-poll 处理。这对于实现具有激进节能功能的站点正确行为是必需的。
* 添加了 AR933x SoC 支持 — 包括所有板载外设 — 8devices.com 的 Carambola-2 开发板现已完全支持，并能从 NOR 闪存运行 FreeBSD。

### [改进 Xen 支持](https://www.freebsd.org/status/report-2013-04-2013-06.html#Xen-Support-Improvements)

| 链接                                                                             |
| ------------------------------------------------------------------------------ |
| [Git 仓库](http://xenbits.xen.org/gitweb/?p=people/royger/freebsd.git;a=summary) |

联系方式：Justin T. Gibbs <<gibbs@FreeBSD.org>> 联系方式：Will Andrews <<will@FreeBSD.org>> 联系方式：Andre Oppermann <<andre@FreeBSD.org>> 联系方式：Roger Pau Monné <<roger.pau@citrix.com>>

FreeBSD Xen HVM 可以通过在 HVM 虚拟机内部使用更多的 PV 接口进一步改进。目前已完成以下工作：

* 更新 Xen 接口文件。（已合并到主干）
* 添加对向量回调注入机制的支持。此机制替代 PCI 中断，并提供每 CPU 的回调，而 PCI 中断则无法实现这一点。
* 重新设计事件通道实现，使用相同的代码路径来处理 PV 和 PVHVM。
* 实现 PV 一次性事件定时器和时间计数器。
* 实现 PV IPI（Inter-Processor Interrupts）。
* 为 PV 定时器和 PV IPI 实现实时迁移支持。

通过这些更改，FreeBSD 将拥有一个完整的 PVHVM 移植版本，这也为未来的 PVH Port 奠定了基础（当 PVH 支持合并到 Xen 中时）。

PVHVM 允许以本地客户端身份启动的虚拟机能够充分利用半虚拟化驱动，从而在大多数 I/O 相关任务中提升性能。PVH 允许虚拟机利用硬件辅助进行内存管理，但使用完全的半虚拟化事件和启动过程，这带来了两个超越性能的显著优势。首先，域 0 无需运行 QEMU 实例来进行 PVH 虚拟机的仿真启动，而这通常是托管服务商为 Windows 和其他 HVM 虚拟机收取更多费用的原因。其次，PVH 域可以作为域 0 使用，无需不同的 pmap（内存管理）代码。这将使我们能够发布一个支持裸金属硬件的单一内核二进制文件，该二进制文件可作为 Xen 非特权虚拟机运行，并最终作为 Xen 域 0 运行。

blkfront 和 netfront 的进一步改进也已经提交：

* 修复 netfront 在卸载接口时崩溃的问题。
* 使 netfront 能够指定最大 TSO 长度，将段链限制为 Xen 主机端能处理的大小（在碎片化后）。
* 为 blkfront 添加了屏障和刷新支持。

netfront 的更改已合并到稳定分支，blkfront 的更改仅在主干中。

#### 待办事项

1. 将剩余的更改合并到主干。

### [ZFS TRIM 和增强的 BIO\_DELETE 支持](https://www.freebsd.org/status/report-2013-04-2013-06.html#ZFS-TRIM-and-Enhanced-BIO_DELETE-Support)

联系方式：Pawel Jakub Dawidek <<pjd@FreeBSD.org>>\
联系方式：Steven Hartland <<smh@FreeBSD.org>>

截至六月底，FreeBSD 的 ZFS 实现现在在 head、stable/9 和 stable/8 分支中包含了 TRIM 支持。这使得 ZFS 能够在高负载条件下帮助保持基于闪存的设备（如 SSD）上的高性能。

在创建新的池并向现有池添加新设备时，它会首先执行完整设备级别的 TRIM，以帮助确保最佳的起始性能。如果磁盘是新的或已被安全擦除（也可以通过 camcontrol(8) 安全操作来完成），则可以通过将 sysctl 变量 `vfs.zfs.vdev.trim_on_init` 设置为 `0` 来覆盖此行为。

为了支持 TRIM，内核要求底层设备驱动程序支持 BIO\_DELETE。目前，通过硬件方法（如 ATA TRIM 和 SCSI UNMAP）来映射，这些方法通常由 SSD 通过 CAM 支持。

为了扩大支持的硬件范围，CAM 的 SCSI 层也得到了增强，允许通过 SATL ATA Passthrough 使用 ATA TRIM，此外还支持现有的 UNMAP 和 WS 方法。这使得通过基于 CAM 的驱动程序（如 mps(4) 和 mpt(4)）连接到 SCSI 控制器的 SATA 磁盘也能提供删除支持。

ZFS TRIM 的统计信息可以通过查看 sysctl 变量 `kstat.zfs.misc.zio_trim` 以及通过命令 `gstat -d` 查看实时 GEOM 删除统计信息来监控。

该项目由 [Multiplay](http://www.multiplay.com/) 提供赞助，并由 Pawel Jakub Dawidek 实现。

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

### [支持英特尔 IOMMU (VT-d, DMAR)](https://www.freebsd.org/status/report-2013-04-2013-06.html#Intel-IOMMU-\(VT-d,-DMAR\)-Support)

| 链接                                                                                                     |
| ------------------------------------------------------------------------------------------------------ |
| <http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/vt-directed-io-spec.html> |
| <http://lists.freebsd.org/pipermail/freebsd-arch/2013-May/014368.html>                                 |
| <http://people.freebsd.org/~kib/misc/dmar.1.patch>                                                     |

联系方式：Konstantin Belousov <<kib@FreeBSD.org>>

Intel VT-d 是一组最初设计用于虚拟化设备的扩展。它允许虚拟机安全访问物理设备，并且也可用于提高隔离性和性能。开发了一个 VT-d 驱动程序，它使用当前 Intel 芯片组中的 DMA 重映射单元（DMAR）实现了 busdma(9) 接口。该驱动程序通过限制总线主设备访问主内存，提供了系统的可靠性和安全性改进。

它还通过分配符合设备访问限制的重映射区域，消除了跳跃缓冲（拷贝）。

通过额外的工作来定义适当的接口，VT-d 驱动程序还将为虚拟机监控程序提供 PCI 直通功能。

该项目由 FreeBSD 基金会赞助。

#### 待办事项

1. 为芯片组错误执行补救措施。
2. 在额外测试后提交到 HEAD。
3. 使用中断重映射单元重新平衡 MSI/MSI-X，这对于大机器上的 x2APIC 使用也是必需的。
4. 与 Intel GPU MMU 集成，并处理 Ironlake 和 SandyBridge 错误，以支持 GFXVTd 单元。
5. 提供 VMM（虚拟机监控程序）接口。
6. 考虑为 AMD 的 IOMMU 实现驱动程序。

### [支持 ARMv7 的超级页](https://www.freebsd.org/status/report-2013-04-2013-06.html#Superpages-for-ARMv7)

| 链接                                                                            |
| ----------------------------------------------------------------------------- |
| <http://static.usenix.org/events/osdi02/tech/full_papers/navarro/navarro.pdf> |
| <https://wiki.freebsd.org/ARMSuperpages>                                      |
| <https://github.com/semihalf-bodek-zbigniew/freebsd-arm-superpages.git>       |

联系方式：Zbigniew Bodek <<zbb@semihalf.com>>\
联系方式：Grzegorz Bernacki <<gjb@semihalf.com>>\
联系方式：Rafal Jaworowski <<raj@semihalf.com>>

ARM 架构越来越普及，应用领域不仅限于移动和嵌入式系统。最近几个月，"ARM 服务器" 这一概念成为了行业中的新兴趋势。一些顶尖公司，如戴尔和惠普，已经开始开发此类系统。

FreeBSD 在这些新领域中的成功关键在于能够处理平台的复杂特性，例如增加对超级页的支持。

该项目的目标是使 FreeBSD/arm 能够使用超级页，从而提高 TLB 转换的效率（通过扩大 TLB 覆盖范围），在许多应用程序中提升性能并增强可扩展性。该功能旨在 ARMv7 处理器上运行，但仍然保持对 ARMv6 的兼容性。

自上次状态报告以来，已经完成了以下工作：

* 实现了 pmap\_copy() 来支持 fork() 系统调用。
* 支持多种页面大小。
* 实现了超级页的创建、提升、降级和驱逐机制。
* 实现了超级页的 PV 条目管理。
* 部分代码已集成到 head 分支中。

接下来的步骤：

* 测试和基准测试。
* 完成与 FreeBSD head 的集成。

该项目由 FreeBSD 基金会和 Semihalf 联合赞助。

#### 待办事项

1. 开始在 ARMv6/v7 上利用超级页。
2. 查找并调试 bug。

## [用户空间程序](https://www.freebsd.org/status/report-2013-04-2013-06.html#Userland-Programs)

### [bsdconfig(8) 和 sysrc(8)](https://www.freebsd.org/status/report-2013-04-2013-06.html#bsdconfig\(8\)-and-sysrc\(8\))

| 链接                                 |
| ---------------------------------- |
| <http://druidbsd.sourceforge.net/> |

联系方式：Devin Teske <<dteske@FreeBSD.org>>

在 FreeBSD 基本系统中引入了新的工具：bsdconfig(8) 和 sysrc(8)。bsdconfig(8) 是废弃的 sysinstall(8) 的后安装能力的替代工具，而 sysrc(8) 是一个强大的命令行工具，用于管理 rc.conf(5)，无需文本编辑器。

### [在 hastd(8) 中的 bsnmpd(1) 支持](https://www.freebsd.org/status/report-2013-04-2013-06.html#bsnmpd\(1\)-Support-in-hastd\(8\))

联系方式：Mikolaj Golub <<trociny@FreeBSD.org>>

最近，已将一个 bsnmpd(1) 模块提交到 FreeBSD head，并合并到 stable/8 和 stable/9 分支中。该模块使得通过 SNMP 协议监控和管理 hastd(8) 成为可能。

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

| 链接                                                             |
| -------------------------------------------------------------- |
| <http://www.cl.cam.ac.uk/research/security/capsicum/>          |
| <https://lists.cam.ac.uk/mailman/listinfo/cl-capsicum-discuss> |

联系方式：Pawel Jakub Dawidek <<pjd@FreeBSD.org>>\
联系方式：Capsicum 邮件列表 <<cl-capsicum-discuss@lists.cam.ac.uk>>

Capsicum 是一款轻量级的操作系统能力和沙箱框架，正在积极开发中。在过去几个月中，已经完成了以下任务：

* 提交了 Capsicum 重构到 FreeBSD head（r247602）。这使得在更多地方使用能力权限成为可能，简化了内核代码，并实现了限制 ioctl(2) 和 fcntl(2) 系统调用的功能。
* hastd(8) 现在使用 Capsicum 进行沙箱化，因为现在可以进行 ioctl 白名单配置（r248297）。
* auditdistd(8) 现在也使用 Capsicum 进行沙箱化，因为现在可以为文件描述符设置仅追加的限制（在 Perforce 可用）。
* 实现了允许在能力模式下使用的 UNIX 域套接字的 connectat(2) 和 bindat(2) 系统调用（r247667）。
* 实现了 chflagsat(2) 系统调用（r248599）。
* 修订了 Casper 守护进程以支持应用程序能力。
* 实现了 libcapsicum 用于应用程序能力。
* 实现了多个 Casper 服务，以便能够在沙箱中使用更多功能：system.dns、system.pwd、system.grp、system.random、system.filesystem、system.socket、system.sysctl。
* 实现了对 kdump(1) 的 Capsicum 沙箱化（从 r251073 到 r251167）。Perforce 版本还支持 -r 标志的沙箱化，使用 Casper 服务。
* 实现了对 dhclient(8) 的 Capsicum 沙箱化（从 r252612 到 r252697）。
* 实现了对 tcpdump(8) 的 Capsicum 沙箱化（在 Perforce 中可用）。
* 实现了对 libmagic(3) 的 Capsicum 沙箱化（在 Perforce 中可用）。
* 实现了 libnv 库，用于名称/值对处理，希望能够在 FreeBSD 中得到更广泛的应用。

对于 FreeBSD 基本系统中的 Capsicum 沙箱化，以上提到的提交和提供的代码旨在作为示例。我们希望看到更多 FreeBSD 工具被沙箱化——例如，任何可以解析来自不可信来源的数据的工具。这需要深入理解该工具如何工作，而不仅仅是 Capsicum。

该项目由 FreeBSD 基金会赞助。

#### 待办事项

1. 参与其中，真正 (!) 让互联网成为一个安全的地方。请通过 cl-capsicum-discuss 邮件列表联系我们，我们可以提供如何正确进行沙箱化的指南。名声已经在那里，等待着你。

### [移植 LLDB 调试器](https://www.freebsd.org/status/report-2013-04-2013-06.html#LLDB-Debugger-Port)

| 链接                              |
| ------------------------------- |
| <https://wiki.freebsd.org/lldb> |

联系方式：Ed Maste <<emaste@FreeBSD.org>>

LLDB 是 LLVM 家族中的调试器项目。它支持 Mac OS X、Linux 和 FreeBSD 平台，但后者最近因为缺乏维护而遇到了困难。

在清理 LLDB 在 FreeBSD 上的支持后，它已经可以重新构建，并用于基本的单线程应用程序调试。测试套件也已经完成，尽管出现了大量失败。

Ed Maste 已获得 LLDB 提交权限，现在直接将持续的 bug 修复和开发提交到上游仓库。还有大量工作要做，其中一个目标是将 lldb 纳入 FreeBSD 基本系统。

该项目由 DARPA/AFRL 与 SRI 国际公司和剑桥大学合作赞助。

#### 待办事项

1. 为多线程进程添加支持。
2. 修复观察点。
3. 添加对远程调试（gdbserver / debugserver）的支持。
4. 添加对 core 文件的支持。
5. 添加对内核调试的支持。
6. 验证 i386 和 ARM 架构。
7. 实现 MIPS 目标支持。
8. 验证跨平台调试。
9. 调查并修复测试套件失败问题。
10. 为将 lldb 纳入基本系统做准备。

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

### [FreeBSD Haskell Ports](https://www.freebsd.org/status/report-2013-04-2013-06.html#FreeBSD-Haskell-Ports)

| 链接                                                                    |
| --------------------------------------------------------------------- |
| [FreeBSD Haskell wiki 页面](http://wiki.freebsd.org/Haskell)            |
| [FreeBSD Haskell ports 仓库](https://github.com/freebsd-haskell/ports/) |
| [实验性 pkg(8) 包仓库](http://haskell.inf.elte.hu/packages/)                |

联系方式：Gábor Páli <<pgj@FreeBSD.org>>\
联系方式：Ashish SHUKLA <<ashish@FreeBSD.org>>

我们自豪地宣布，FreeBSD Haskell 团队已将 Haskell 平台更新为 2013.2.0.0，GHC 更新为 7.6.3，并将现有 Port 更新至最新稳定版本。在此更新中，我们为 Haskell Port 提供了对基于 LLVM 的代码生成的实验性支持（默认禁用）。我们还添加了许多新 Port，使 FreeBSD Ports 中的 Haskell Port 总数达到了 402，并且现在 Haskell Port 与 portmaster(8)-based 升级兼容性更好。

在 Konstantin Belousov 和 Dimitry Andric 的合作下，我们成功地修复了 GHC 在 32 位 10.x 系统上的构建问题，因此我们现在可以再次为 10.x 提供软件包。然而，事实证明，这个 bug（在线程信号传递方面）也可能影响到其他平台的构建过程，这解释了我们用户过去遇到的一些奇怪的构建中断问题。

我们还了解到，GHC 上游正在进行的工作将使我们能够在 GHC 7.8 成为 Haskell 平台的一部分后，原生支持 Clang 编译。

#### 待办事项

1. 测试实验性 Clang/LLVM 代码生成支持，启用默认支持。
2. 提交待定的 Haskell Port 到 Ports。
3. 移植更多（流行的）Cabal 包。

### [GNOME/FreeBSD](https://www.freebsd.org/status/report-2013-04-2013-06.html#GNOME/FreeBSD)

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

联系方式：FreeBSD GNOME 团队 <<gnome@FreeBSD.org>>

GNOME 3.6 的工作进展缓慢但稳步推进。几乎所有的 GNOME 3 桌面 Port 都已更新为对应的 3.6 版本。

一个大挑战是将 webkit-gtk3 Port 更新到 2.0.3。目前，使用 webkit-gtk3 的程序在启动时会崩溃。由于 webkit-gtk 的调试版本在开发系统上要么内存不足，要么磁盘空间不足，导致很难找到崩溃原因。

#### 待办事项

1. 更新 FreeBSD GNOME 网站，反映 Ports 中的最近变更，为 GNOME 3 和 Mate 等做准备，添加新项目等。
2. 将 Glib 2.36、GTK+ 3.8 以及相关 Port 合并回 Ports。
3. 继续推进 GNOME 3.6，修复 bug，编写缺失功能的代码。
4. 完成 MATE 的移植。

### [KDE/FreeBSD](https://www.freebsd.org/status/report-2013-04-2013-06.html#KDE/FreeBSD)

| 链接                                          |
| ------------------------------------------- |
| [KDE/FreeBSD 首页](http://freebsd.kde.org/)   |
| [area51](http://freebsd.kde.org/area51.php) |

联系方式：KDE FreeBSD <<kde@FreeBSD.org>>

KDE/FreeBSD 团队继续提升 KDE 软件和 Qt 在 FreeBSD 上的使用体验。本季度，团队保持大多数 KDE 和 Qt Port 的最新状态，工作涉及以下版本：

* KDE SC: 4.10.2, 4.10.3, 4.10.4
* Qt: 5.0.2 (area51)
* PyQt: 4.10.2; QScintilla 2.7.2; SIP: 4.14.7
* KDevelop: 4.5.1
* Calligra: 2.6.2
* CMake: 2.8.11.1
* Digikam (及 KIPI 插件): 3.1.0, 3.2.0
* KDE Telepathy: 0.6.0, 0.6.1

结果 — 根据 [PortScout](http://portscout.freebsd.org/kde@freebsd.org.html) — kde@ 目前有 473 个 Port（从 431 增加），其中 98.73% 已更新（从 93.5% 增加）。iXsystems Inc. 继续为团队提供机器来构建包并测试更新。iXsystems Inc. 长期以来一直为 KDE/FreeBSD 团队提供支持，我们对此表示感谢。本季度，我们还要感谢 Steve Wills (swills@) 提供的另一台机器，让我们能更快速地完成工作。

尽管团队的大量工作集中在打包发布代码上，我们也主动确保我们移植的软件的后续版本也能在 FreeBSD 上良好运行。这包括与上游保持紧密联系，提升 FreeBSD 作为活跃项目的意识，并且发送补丁，这些补丁通常也会对其他操作系统产生好处。在这方面，我们花了大量时间确保 clang 和 libc++ 在 KDE 和 Qt 中得到全面支持。这不仅导致了向这些项目发送了许多补丁，也让我们在 Clang-on-FreeBSD 项目中受益匪浅。Dimitry Andric (dim@) 为我们提供了很多帮助，解决了我们遇到的各种问题。

如往常一样，团队始终在寻找更多的测试人员和移植者，请联系我们并访问我们的首页。特别是，帮助移除对已废弃的 HAL 项目的依赖，并与 KDE 的 Bluedevil 蓝牙接口集成，将是非常有用的任务。

#### 待办事项

1. 更新过时的 Port，查看 [PortScout](http://portscout.freebsd.org/kde@freebsd.org.html) 获取 Port 列表。
2. 为 KDE 4.11 和 Qt 5 进行工作。
3. 确保整个 KDE 堆栈（包括 Qt）与 clang 和 libc++ 构建并正常工作。
4. 移除对 HAL 的依赖。

### [Xfce/FreeBSD](https://www.freebsd.org/status/report-2013-04-2013-06.html#Xfce/FreeBSD)

| 链接                              |
| ------------------------------- |
| <https://wiki.freebsd.org/Xfce> |

联系人：FreeBSD Xfce 团队 <<xfce@FreeBSD.org>>

FreeBSD Xfce 团队已将其 Port 更新到最新的稳定版本，特别是：

* 核心（主要是 bug 修复和翻译更新）：
  * deskutils/xfce4-tumbler (0.1.29)
  * x11-wm/xfce4-panel (4.10.1)
  * sysutils/xfce4-settings (4.10.1)
  * x11-wm/xfce4-session (4.10.1)
  * sysutils/garcon (0.2.1)
  * x11/libxfce4util (4.10.1)
  * x11-wm/xfce4-wm (4.10.1)
* 应用程序：
  * multimedia/xfce4-parole (0.5.1)
  * www/midori (0.5.2)
  * deskutils/xfce4-notifyd (0.2.4)
  * misc/xfce4-appfinder (4.10.1)
  * x11/xfce4-terminal (0.6.2)
  * x11-fm/thunar (1.6.3)
* 面板插件：
  * deskutils/xfce4-xkb-plugin (0.5.6)
  * textproc/xfce4-dict-plugin (0.7.0)
  * x11-clocks/xfce4-timer-plugin (1.5.0)
  * x11/xfce4-embed-plugin (新)
* Thunar 插件：
  * audio/thunar-media-tags-plugin (0.2.1)
  * archivers/thunar-archive-plugin (0.3.1)
* x11/xfce4-embed-plugin 可以将任何应用程序窗口集成到 Xfce 面板中。
* 另有一个新的插件可用于监视和显示地震，名为 [xfce4-equake-plugin](http://people.freebsd.org/~olivierd/xfce4-equake-plugin.shar)。

#### 待办事项

1. 修复 textproc/xfce4-dict-plugin 中的 CPU 问题 ([bug #10103](https://bugzilla.xfce.org/show_bug.cgi?id=10103))。
2. 调查为什么 midori-gtk3 崩溃太频繁。（Port 已完成，但一些库在 Ports 中未默认存在）。
3. 修复 x11-themes/gtk-xfce-engine 与 Gtk+ >=3.6 的兼容性问题。

### [FreeBSD xorg](https://www.freebsd.org/status/report-2013-04-2013-06.html#xorg-on-FreeBSD)

| 链接                                                   |
| ---------------------------------------------------- |
| <http://wiki.freebsd.org/Xorg>                       |
| <http://trillian.chruetertee.ch/ports/browser/trunk> |

联系人： <<x11@FreeBSD.org>>\
联系人：Niclas Zeising <<zeising@FreeBSD.org>>\
联系人：Koop Mast <<kwm@FreeBSD.org>>

在本季度初，工作集中在使 xorg 更新尽可能稳健和稳定，为合并到 Port 做准备。作为其中的一部分，进行了 Port exp-runs 以发现并解决回归和其他问题。完成此操作后，xorg 于 5 月 25 日更新为 7.7 版本，这一过程历时一年多的努力。

更新之后，工作立即转向更新和修补 xorg 客户端库，因为已发现这些库存在众多安全问题。不幸的是，这花费了比预期更长的时间，但最终所有修复都已提交。

此外，还开展了将新的 xorg 发行版作为 FreeBSD 9.1 及以后版本的默认版本的工作。已经发布了补丁并进行了测试，结果良好，但由于 KMS 驱动程序无法切换虚拟终端，这项工作目前被推迟。

目前，工作重点放在保持 xorg 驱动程序和库的最新状态。与其每年或更少做一次大更新，不如定期进行一些库、应用程序和驱动程序的小更新。现在，重点也开始转向更新 MESA 和 xorg-server 的版本，但这仍然处于非常实验阶段。

#### 待办事项

1. 继续移植 MESA 的最新版本。这项工作仍在进行，但将其集成到开发库中是一项艰巨的任务。待完成，并且 ATI 的 KMS 支持更加成熟，就可以进行更多的测试。
2. 移植 Wayland。开源操作系统中图形环境的未来似乎是 Wayland。需要将其移植到 FreeBSD，以便更广泛的用户群体可以测试，并最终可以将其集成到 Ports 中，或许作为当前 xorg 的替代。
3. 寻找 HAL 的替代品。HAL 用于设备的热插拔，但它早已被 Linux 放弃。一个基于 devd(8) 的替代品将是一个不错的选择。这项工作应该与 FreeBSD GNOME 和 KDE 团队协调进行。

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

### [将文档集升级到 DocBook 5.0](https://www.freebsd.org/status/report-2013-04-2013-06.html#Upgrading-the-Documentation-Set-to-DocBook-5.0)

联系人：Gábor Kővésdén <<gabor@FreeBSD.org>>

文档项目直到最近才使用旧版本的标记标准，我们切换到真正的 XML 工具链和 DocBook 4.5。然而，我们仍然依赖过时的技术 — DSSSL 和 Jade。DocBook 5.0 提供了更清晰的标记和一些不错的新特性。

该项目的目标是将文档集升级到 DocBook 5.0，并找到一种方法在不使用 DSSSL 的情况下正确渲染我们的源文件，因为 DSSSL 样式表已被弃用，无法渲染 DocBook 5.0。文档源文件已经成功转换为 DocBook 5.0，渲染过程的更新正在开发中。FreeBSD 开发人员的普遍看法是，Java 是一种不应使用的重依赖。这促使我们将 DocBook 源文件转换为 TeX，并使用 TeX 作为渲染后端。有两种方法可以做到这一点；源文件可以直接转换，或者通过样式表为 DocBook 项目生成的 XSL FO 输出进行转换。后者已被选择为首选方法，因为它更适合现有的文档基础设施，并提供更简单的定制。

此项目得到了 FreeBSD 基金会的大力赞助。

#### 待办事项

1. 完成渲染过程的实现。
2. 将渲染解决方案集成到基础设施中。
3. 将更改合并回主干。

## [事件](https://www.freebsd.org/status/report-2013-04-2013-06.html#Events)

### [2013 BSD 日](https://www.freebsd.org/status/report-2013-04-2013-06.html#BSD-Day-2013)

| 链接                                                                                                  |
| --------------------------------------------------------------------------------------------------- |
| [BSD-Day 2013 网站](http://bsdday.eu/2013)                                                            |
| [YouTube 讲座播放列表](http://www.youtube.com/playlist?list=PLJJHfhjb5TOjB-sHRwJBGWd8XA7nc1gk_)           |
| [活动照片集](https://picasaweb.google.com/116452848880746560170/BSDDay2013?authkey=Gv1sRgCNvIoMWoxNTRYw) |

联系人：Gábor Páli <<pgj@FreeBSD.org>>

BSD-Day 现在成为了 BSD 开发者和用户定期聚会的机会，大家可以面对面交流、喝点啤酒，并讨论他们目前的工作。今年活动转到了意大利美丽的那不勒斯，披萨的故乡。幸运的是，活动再次得到了许多慷慨赞助商的支持，如 FreeBSD 基金会、EMC 公司、iXsystems、FreeBSDMall、BSD Magazine 等，帮助我们支付了讲者的旅行和住宿费用。我们对此非常感激。

和往年一样，整个活动以周五在市中心（大概在爱尔兰酒吧附近）的一顿晚餐开始，随后突然变成了一个自助披萨盛宴。然后，周六的活动在生物结构与生物成像研究所举行。在那里，上午举行了 BSDA 考试，参加人数为 8 人。活动本身也有许多有趣的主题，比如将 MCLinker 引入 BSD 世界、FreeBSD 项目的组织与文化、全新的 callout(9) 框架、使用 Poudriere 和 Tinderbox 构建和测试 Port、FreeBSD 在嵌入式领域的应用，或者使用 OpenBSD 构建可靠的 VPN 网络等。请参见报告中的链接了解更多信息。

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

### [新的 Capsicum 特性](https://www.freebsd.org/status/report-2013-04-2013-06.html#New-Capsicum-Features)

| 链接                                                           |
| ------------------------------------------------------------ |
| <https://wiki.freebsd.org/SummerOfCode2013/CapsicumFeatures> |

联系人：Mariusz Zaborski <<oshogbo@FreeBSD.org>>\
联系人：Pawel Jakub Dawidek <<pjd@FreeBSD.org>>

Capsicum 是一个轻量级的操作系统能力和沙箱框架，在 FreeBSD 中实现。这仍然是一项新技术，因此有很多改进的空间。感谢 Google 夏季编码计划和 Pawel Jakub Dawidek 自愿担任导师，Mariusz 将有机会在夏季参与这个项目。

最近，rwho(1) 和 rwhod(8) 工具的沙箱工作已经完成。还计划为 Casper 实现两个新模块。Casper 是一个为应用程序提供服务的守护进程，利用 Capsicum 的能力模式。当前正在进行一些实验，旨在实现两个新能力权限，并将更多程序移植到使用 Capsicum 框架的现有功能。

#### 待办事项

1. system.unix — Casper 模块提供连接和监听 Unix 域套接字。
2. system.udp — Casper 模块启用连接、监听、发送和接收 UDP 数据包。
3. 实现 fetch(1) 的沙箱。
4. 引入新的能力权限：CAP\_SEND\_RIGHTS 和 CAP\_RECV\_RIGHTS。

### [pkg(8) 的 Qt 和 GTK+ 前端](https://www.freebsd.org/status/report-2013-04-2013-06.html#Qt-and-GTK+-Frontends-for-pkg\(8\))

| 链接                                                   |
| ---------------------------------------------------- |
| <https://wiki.freebsd.org/SummerOfCode2013/pkgQtGtk> |

联系人：Justin Muniz <<jmuniz@FreeBSD.org>>\
联系人：Eitan Adler <<eadler@FreeBSD.org>>

该项目是谷歌编程之夏计划的一部分。工作才刚刚开始，代码仍处于初期阶段。Subversion 仓库中存放的是正在积极开发的实验性代码。开发预计将在 9 月底前完成，项目将进入生命周期的维护阶段。

#### 待办事项

1. 与 Matt Windsor 合作为 PackageKit 创建一个 pkg(8) 后端。
2. 扩展 PackageKit 的 Qt 前端，通过 pkg(8) 提供更多功能。
3. 扩展 PackageKit 的 GTK+ 前端，通过 pkg(8) 提供更多功能。

## [其他事项](https://www.freebsd.org/status/report-2013-04-2013-06.html#Miscellaneous)

### [FreeBSD 基金会](https://www.freebsd.org/status/report-2013-04-2013-06.html#The-FreeBSD-Foundation)

| 链接                                  |
| ----------------------------------- |
| <http://www.freebsdfoundation.org/> |

联系人：Deb Goodkin <<deb@FreeBSDFoundation.org>>

我们在本季度开始时启动了“筹集百万 — 花费百万”春季筹款活动。这是今年计划的三次主要筹款活动中的第一次。我们很高兴在活动结束时筹集了 365,291 美元 —— 到 5 月 31 日时。去年同期，我们仅筹集了 56,196 美元。今年我们开始了更好的筹款策略。我们要向所有在 2013 年捐款的人表示衷心的感谢。你们的早期捐款对我们今年的筹款工作产生了重要影响。

在上个季度，我们取得的一些成就包括：

* 参加了在渥太华举行的 BSDCan、在奥斯丁举行的 Texas LinuxFest、在夏洛特举行的 SouthEast LinuxFest 以及在北京举行的 ICANN 46 会议。
* 我们是 BSDCan 2013 的黄金赞助商，并赞助了 7 名开发者参加会议。
* 我们注册为 EuroBSDCon 2013 的铂金赞助商。
* 我们赞助了 1 名开发者参加 OpenHelp。
* 在 BSDCan 会议上，我们表彰了 Mark Linimon、Simon L. B. Nielsen、Bjoern A. Zeeb 和 Ken Smith，感谢他们对 FreeBSD 的重要贡献。我们还表彰了 Dan Langille，感谢他为 BSDCan 举办了 10 年。
* 我们赞助了 BSDCan 的开发者和供应商峰会，分别有 100 和 30 名与会者。
* 我们赞助了 2013 年 4 月 6 日在意大利那不勒斯举行的 BSD-Day 2013。
* 我们在渥太华召开了年度董事会会议。
* 我们赞助了以下项目：Capsicum、ARM 超大页、iSCSI、页面队列锁定、输入/输出内存管理单元、文档项目基础设施以及编写白皮书。
* 我们聘请了 Edward Tomasz Napierała 作为我们的第二位技术员工，全职从事 FreeBSD 项目工作。
* 我们聘请了 Ed Maste 作为项目开发总监。
* 在继续支持 FreeBSD 基础设施建设的同时，我们为 Sentex 实验室购买了高端服务器，配备最新的 Chelsio 40 Gbps 以太网卡，用于性能测试和分析，购买了小型服务器用于 NYI 和 ISC 的防火墙，以及连接 Juniper 交换机的电缆，最终将其连接到我们为 NYI 购买的大型 Juniper 交换机。
