FreeBSD 2012 年第一季度状态报告

引言

本报告涵盖了 2012 年 1 月至 3 月期间与 FreeBSD 相关的项目。这是计划中的四个报告中的第一个。这个季度的亮点是 FreeBSD 9.0 的发布,它最终在 2012 年 1 月初发布。FreeBSD 项目将 FreeBSD 9.0-RELEASE 献给 UNIX® 操作系统的创始人之一 Dennis M. Ritchie。我们的发布工程团队还忙于准备 8.3-RELEASE,这在 4 月公开发布。

感谢所有报告员的出色工作!本报告包含 27 个条目,我们希望你喜欢阅读。

请注意,提交覆盖 2012 年 4 月至 6 月期间的报告的截止日期是 2012 年 7 月 15 日。

链接

http://people.freebsd.org/~trhodes/fsc/

联系人:Tom Rhodes <trhodes@FreeBSD.org>

经过一段时间的调整和换工作,我终于回到了这个项目(也感谢 Julian Fagir 的多次提交),新版本已经上传,并附有简短的描述页面。当前版本支持更多选项、配置文件以及更新的 rc.d 脚本。它还包括手册页面的更新和一个可选的调试模式。

[GNU-Free C++ 11 栈](https://www.freebsd.org/status/report-2012-01-2012-03.html#GNU-Free-C++ 11-Stack)

联系人:David Chisnall <theraven@FreeBSD.org>

自上次状态报告以来,libc++ 和 libcxxrt 的组合进行了额外的测试,并获得了一些新特性,包括对 ARM EABI 的支持。在 clang 3.1 中,我们现在通过了所有的 C++ 11 原子操作测试。

xlocale 实现(libc++ 所需)已通过一系列最初为 Darwin 实现编写的 Port 进行测试,并修复了这些测试中发现的错误。这将在 9.1 中发布。

在-CURRENT 中,我们现在将 libsupc++ 构建为共享库。这提供了 ABI 层,并且将其构建为共享库意味着我们可以轻松地用 libcxxrt 替换它。如果你正在运行 -CURRENT,请尝试使用 libmap.conf 来启用 libcxxrt 而不是 libsupc++ 。

如果 libstdc++ 正在使用 libcxxrt,现在你可以链接同时使用 libstdc++ 和 libc++ 的库,从而使迁移变得稍微容易一些,尽管你不能在使用不同 STL 版本的库之间传递 STL 对象。

我们仍然需要替换 libgcc_s 的某些部分以及链接器,但我们正在朝着在 10.0 中实现一个 BSD 许可证的 C++ 栈的方向前进。

待办事项

  1. 使用 libc++ 测试 Port 。希望大多数 Port 能正常工作,但其他 Port 可能需要补丁或对 libstdc++ 有硬性依赖。

  2. 默认启用构建 libc++ 。这依赖于使用 clang 进行构建,因为基本系统中的 gcc 版本不支持 C++ 11,因此不能用于构建 libc++ 。

  3. 从基本系统中删除 libstdc++ ,并通过 Port 提供以支持向后兼容性。

联系人:Edward Tomasz Napierala <trasz@FreeBSD.org>

该项目的目标是使得能够在文件系统已挂载为读写时扩展文件系统,包括 UFS 和 ZFS。这涉及到对两种文件系统、GEOM 基础设施和 da(4)驱动程序的更改。为了测试,我还为 mdconfig(8) 添加了调整大小功能,并在 CAM 目标层实现了 LUN 大小调整。

从系统管理员的角度来看,这使得可以使用 gpart(8) 调整已挂载分区的大小,然后使用 growfs(8) 扩展其上的文件系统—所有这些都无需先卸载它;特别是在根文件系统的情况下非常有用。

所有功能都已实现,并正在完善、审核并合并到 HEAD 中。

该项目由 FreeBSD 基金会赞助。

待办事项

  1. 实现的写挂起基础设施(/dev/ufssuspend)使得调整大小成为可能,同时也使得实现在线的 tunefs(8) 和 fsck(8) 成为可能。

  2. 目前,GEOM 类无法否决调整大小—类会接收到调整大小通知,它们可以适应或退化。许多类将其元数据存储在最后一个扇区,因此调整包含例如 gmirror 的分区大小将使其无法使用。如果 geom_mirror(4)能够否决调整大小,将会很有帮助,这样试图做出不当操作的管理员会得到警告。

链接

http://www.freenas.org/

联系方式: Josh Paetzel <jpaetzel@FreeBSD.org> 联系方式: 李鑫 <delphij@FreeBSD.org>

FreeNAS 8.0.4 上个月发布,标志着 FreeNAS 8.0.x 分支的结束。

FreeNAS 8.2.0 当前处于 BETA 阶段,预计将在 4 月底之前发布。

它相比 8.0.x 系列带来了许多改进,包括插件支持(可以在 jail 中运行任意软件),以及命令行 ZFS 和 GUI 之间的更好集成。

8.2.0 发布后,8.3.0 将紧随其后,届时将包括多个驱动更新和期待已久的 ZFS v28。

联系方式: Brooks Davis <brooks@FreeBSD.org> 联系方式: David Chisnall <theraven@FreeBSD.org> 联系方式: Dimitry Andric <dim@FreeBSD.org> 联系方式: Ed Schouten <ed@FreeBSD.org> 联系方式: Pawel Worach <pawel.worach@gmail.com> 联系方式: Roman Divacky <rdivacky@FreeBSD.org>

FreeBSD 10.0-CURRENT 和 9.0-STABLE 当前都默认安装了 Clang 3.0 版本。至少在 10.0-CURRENT 上,整个系统和 GENERIC 内核都可以在没有任何 -Werror 警告的情况下完全构建。这可能对于某些定制的内核配置尚不适用。

从 r231057 开始,src.conf(5) 中添加了 WITH_CLANG_EXTRAS 选项,这将启用一些额外的 LLVM 和 Clang 工具,如 'llc' 和 'opt'。这些工具主要用于需要操作 LLVM 位码(.bc)和 LLVM 汇编语言(.ll)文件,或希望自己动手调整 LLVM 和 Clang 的用户。

此外,从 r232322 开始,src.conf(5) 中新增了选项 WITH_CLANG_IS_CC,这将使 Clang 安装为 /usr/bin/cc/usr/bin/c++/usr/bin/cpp,将其作为默认的系统编译器。除非同时使用选项 WITHOUT_GCC ,否则 gcc 仍然会作为 /usr/bin/gcc/usr/bin/g++/usr/bin/gcpp 可用。

我们的目标是尽早启用此选项,以便开始准备在 10.0-RELEASE 中将 Clang 作为默认的系统编译器,并逐步弃用 gcc。

另外,由于上游 LLVM/Clang 已宣布将在 2012 年 4 月 16 日分支 3.1 版本,我们将很快导入一个新的 Clang 快照。实际的 3.1 版本可能会在几周后发布,然后我们会再进行一次导入。

最后,很多开发者正在为确保我们的 ports 能在 Clang 下正常编译而努力。现在已经定期检查和提交了修复补丁,并且也定期进行了完整的 Clang 编译测试。当然,仍然存在一些难题,尤其是对于一些非常旧的软件,连新版 gcc 都无法编译,更不用说 clang 了。

待办任务:

  1. 当前最重要的任务是尽可能在 Clang 下构建和运行整个 FreeBSD 系统。任何编译时或运行时的问题应报告到相应的邮件列表,或者提交为 PR。如果有补丁和/或解决方法,当然更好。

  2. Clang 在 3.0 之后应该获得了更好的交叉编译支持,因此待导入 3.1 版本,我们将需要探索如何使 FreeBSD 的系统和内核进行交叉编译。这主要适用于 ARM 和 MIPS 等架构,这些架构通常不适合在本地编译。

  3. 帮助那些不愿意与 Clang 一起编译的 ports 也是一个始终需要并且非常感激的任务。请将补丁发送给你喜欢的 port 的维护者,或者提交 PR。

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

自上次报告以来,TRE 的优化取得了显著进展。多模式启发式代码已基本完成,它通过区分多个不同的情况来加速模式匹配。它从原始模式中提取字面片段,并使用多模式匹配算法查找任何出现。GNU grep 使用 Commentz-Walter 算法,这是一种基于自动机的算法,而在本项目中,决定使用 Wu-Manber 算法,它更加高效且更容易实现。在当前状态下,它还没有完全实现,某些情况,如 REG_ICASE 标志,尚未覆盖。这是完成多模式接口的下一步主要任务。在开发分支中,BSD grep 已经被修改为使用这个新接口,以便用于测试和调试。

待办任务:

  1. 完成多模式启发式正则表达式匹配。

  2. 实现 GNU 特定的正则表达式扩展。

  3. 测试标准合规性和正确行为。

bsdconfig(8) 工具

联系方式: Devin Teske <dteske@FreeBSD.org> 联系方式: Ron McDowell <rcm@fuzzwad.org>

bsdconfig(8) 工具的代码行数接近 20,000 行,完成度约为 70%。项目完成后,bsdconfig(8) 将与已存在的 bsdinstall(8) 一同,提供一套完整的工具,能够有目的地逐步淘汰 FreeBSD 9 及更高版本中的 sysinstall(8) 。这是 Ron McDowell 和我花费超过 90 天时间的心血之作,现已接近完成这一令人激动的工具。

待办任务:

  1. 完成用于获取/安装二进制包和附加发行版集的“安装程序套件”模块。启动服务模块。

链接

http://www.freebsd.org/releng/

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

代表 FreeBSD 项目,发布工程团队很高兴宣布 FreeBSD 8.3-RELEASE 将于 2012 年 4 月 18 日发布。

随着 FreeBSD 8.3 发布周期的完成,我们的重点转向准备 FreeBSD 9.1-RELEASE。计划将很快公布,预计发布日期为 2012 年 7 月中旬。

链接

https://www.freebsd.org/status/www.FreeBSDFoundation.org

联系方式: Deb Goodkin <deb@FreeBSDFoundation.org>

基金会赞助了 2012 年的 AsiaBSDCon,该活动于 3 月 22-25 日在日本东京举行。我们还在 1 月 21 日参加了 SCALE 会议,并将在 3 月 17 日参加 NELF 会议。这个季度,我们计划参加 4 月 14 日的 ILF(印第安纳州 LinuxFest),5 月 11-12 日的 BSDCan 会议,以及 6 月 9 日的 SELF(东南 LinuxFest)。

我们自豪地成为 BSDCan 2012 的黄金赞助商,该会议将于 5 月 11-12 日在加拿大渥太华举行。我们将赞助 14 名开发人员参加会议。

我们启动了三个基金会资助的项目——Edward Tomasz Napierala 的“在线扩展文件系统”,Pawel Jakub Dawidek 的“实现 auditdistd 守护进程”,以及 Semihalf 的“支持 NAND Flash”。

我们高兴地 宣布 George Neville-Neil 加入我们董事会。我们的运营总监 Deb Goodkin 接受了 bsdtalk 的采访。

我们宣布了项目提案的征集通知。我们将在 4 月 30 日之前接受提案。请阅读 项目提案程序 以了解更多信息。

FreeBSD 9.0 已发布,我们很自豪地表示,我们资助了其中的 7 个新功能!

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

最近,内核中的 DTrace 功能得到改进,可以在加载 dtrace 模块后加载具有静态 dtrace 提供程序的内核模块。这使我能够将专门针对 linux 兼容层的静态提供程序工作提交到 -CURRENT。

结合 linux 兼容层 DTrace 探针,我开发了一些 D 脚本,用于检查 linux 兼容层中的各种代码路径。这些脚本检查了各种错误情况,这些情况可能对验证用户空间代码很有意义,也涉及到 linux 兼容层内部的情况,例如锁。

截至此文发布时,我正在将测试机更新到更近期的 -current 版本,以准备提交。

联系方式: Alexander Motin <mav@FreeBSD.org>

snd_hda(4) 驱动程序进行了多项改进,以更好地支持 HDMI/DisplayPort 音频,包括:

  • 从 CODEC 和视频驱动程序中获取类似 EDID 的数据,描述显示设备的音频能力。

  • 添加了设置 HDMI/DP 特定 CODEC 选项的功能,例如通道数、扬声器配置和通道映射。

  • 添加了对更多多通道格式的支持。现在支持的 HDMI 和 DisplayPort 设备格式包括:2.0、2.1、3.0、3.1、4.0、4.1、5.0、5.1、6.0、6.1、7.0 和 7.1 通道。

  • 添加了对压缩流直通(数据速率 6.144 - 24Mbps)的支持,例如 DTS-HD Master Audio 或 Dolby TrueHD。

  • 添加了对 HDA 总线多路复用的支持,以处理更高的数据速率(最多 92、184 或更多 Mbps,取决于硬件能力)。它使得可以同时处理多个 192/24/8 LPCM 播放流。

上述功能已在 NVIDIA GT210 和 GT520 显卡上通过 nvidia-driver-290.10 驱动程序成功测试。旧款 NVIDIA ION 和 Geforce 8300 板上的 HDMI 音频仍无法正常工作,原因尚不清楚。关于最新的基于 KMS 的 Intel 显卡驱动程序也有成功报告。ATI 显卡的支持仅限于旧款显卡,因为支持新显卡的驱动程序不支持 HDMI 音频。

该代码已提交到 HEAD 并合并到 9-STABLE 分支。

该项目由 iXsystems, Inc. 赞助。

待办任务:

  1. 更好地利用接收到的类似 EDID 的数据。

  2. 识别并修复旧款 NVIDIA 显卡的问题。

联系方式: Oleksandr Tymoshenko <gonzo@FreeBSD.org>

MIPS 架构的 hwpmc(9) 功能已经重构。更改内容包括:

  • 将 msip24k 代码拆分为特定于 CPU 和特定于架构的部分,以便更容易添加对新 CPU 的支持。

  • 添加了对 Octeon PMC 的支持。

  • 添加了对 MIPS 的采样支持。

联系方式: Jim Harris <jimharris@FreeBSD.org>

现已在 head、stable/9、stable/8 和 stable/7 中提供 Intel 支持的 isci(4) 驱动程序,用于 Intel C600 芯片组中的集成 SAS 控制器。

isci(4) 驱动程序还将成为 FreeBSD 8.3 版本的一部分。

链接

http://wiki.freebsd.org/AdrianChadd/AtherosTxAgg

http://wiki.freebsd.org/dev/ath(4)

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

802.11n 站点和 hostap 支持现在已完全功能,除了 hostap 侧的省电功能尚未正确实现。TX 聚合和 TX BAR 处理已实现。

站点芯片的省电功能尚未实现,且不在此项工作的范围内。

测试人员应禁用 bgscan(-bgscan),因为扫描/bgscan 会直接丢弃 TX/RX 队列中的任何流量,导致潜在的流量停滞。

待办任务:

  1. 修复 hostap 侧的省电处理。

  2. 在驱动程序中实现过滤帧的支持。

  3. 修复扫描/bgscan 功能,使其能够正确缓冲并重新传输离开通道时的帧,避免帧被“丢弃”——这会在聚合会话中引发问题,可能导致流量停滞。

  4. 测试/修复任何与 adhoc 802.11n 支持相关的问题。

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

与 IPv4 相比,IPv6 在 FreeBSD 上的性能通常较低(显著)。继去年 IPv6-only 内核工作之后,本项目分析了造成这一现象的各种原因,并开始修复其中的一些问题。

作为项目的一部分,创建了一个基准测试框架,可以执行各种测试,包括在运行之间进行重启,并在不需要用户干预的情况下可重复地收集结果。它允许通过最小配置进行定期基准测试,并且便于未来扩展以支持更多基准测试。

根据初步分析,改进了 UDP 锁定和路由查找,实施了 IPv6 的延迟校验和、TSO6 和 LRO 支持。在此基础上,启用了对环回接口的 IPv6 校验和“卸载”,并进行了各种其他单独的改进,包括锁定和常规代码更改,以及减少缓存大小占用。部分更改也同样应用于 IPv4。

在物理接口和环回接口上的性能,使用 TCP/IPv6 卸载支持时,已经与 IPv4 相当,这是一项巨大的改进。IPv6 上的 UDP 和非卸载性能虽然有所提升,但仍低于 IPv4,仍需进一步工作以赶上 IPv4 的十年基准测试和代码路径优化。然而,IPv6 最小大小的 UDP 发送路径数据包每秒(pps)数已经超过了 IPv4,尤其是在向本地丢弃设备发送时。

这一进展使得我们接近能够默认优先使用 IPv6,而不会导致环回性能回归。对于物理接口,cxgb(4) 已在 HEAD 中支持 IPv6 TCP 卸载,且已添加 LRO/v6 支持。为了在不同硬件上获得更多测试结果,ixgbe(4) 和 cxgbe(4) 也已更新,以支持 TSO6 和 IPv6 上的 LRO。

通过这项工作的洞察,未来对于下层/链路层的改造以及 mbuf 变更的讨论将得到帮助,为我们堆栈的更多未来改进做好准备。

再次感谢 FreeBSD 基金会和 iXsystems 对项目的支持,以及 George Neville-Neil 提供的审阅。

通过开始解决其中一个最大的功能对等性差距,我将继续改进 IPv6 代码路径,并希望很快能看到社区的更多贡献和独立结果。

待办任务:

  1. 小心地将代码更改合并到 SVN 中。

联系方式: Bjoern A. Zeeb <bz@FreeBSD.org> 联系方式: Alexander V. Chernikov <melifaro@FreeBSD.org>

在 2008 年,针对 IPv4 引入了多转发信息库(FIB)功能,允许在内核中最多使用 16 个独立的转发(“路由”)表。得益于 Cisco Systems, Inc. 的赞助,这项功能现在也可用于 IPv6,填补了其中一个较大的 IPv6 功能对等性差距。这些更改已经集成到 HEAD,并回归到 stable/9 和 stable/8 分支,将作为这些分支未来发布的一部分。也已在项目分支中为 stable/7 提供了回溯。如果请求多个 FIB,IPv6 FIB 将与额外的 IPv4 FIB 一起添加,而无需任何特殊配置,并且像 netstat 和 setfib 这样的程序,以及 ipfw 等,也已扩展以无缝支持这项多 FIB 功能,适用于两个地址族。

感谢 Alexander V. Chernikov 的帮助,现在多 FIB 功能的所有使用都依赖于启动时变量,而不是依赖于编译时选项。在 HEAD 中,这使得你可以在 GENERIC 内核上使用多 FIB 功能,而不再需要重新编译自己的内核。以前的内核选项仍然可以用来设置默认值,若需要的话。否则,可以使用 net.fibs 加载器可调变量来在启动时请求多个 IPv6 和 IPv4 FIB。

最后,路由套接字现在已经意识到 FIB,并且只会显示目标 FIB 上的路由消息。这允许路由监视器或路由守护进程仅获取特定 FIB 的选择性更新。

联系方式: 佐藤広生 <hrs@FreeBSD.org> 联系方式: Ryusuke Suzuki <ryusuke@FreeBSD.org>

和以前一样,www/ja 子目录中的过时内容已更新为与英文版本对应的最新版本。www/ja 子目录中过时翻译的更新工作几乎完成。只有旧版本的发布文档的翻译可能会过时。

在此期间,我们翻译了 9.0-RELEASE 发布公告,并及时发布了它。看来,发布公告的日文版本对日本人来说非常重要,因为该页面被频繁引用。

对于 FreeBSD 手册,"cutting-edge" 部分的翻译工作仍在进行中。"printing" 和 "linuxemu" 部分的一些更新也已经完成。

待办任务:

  1. 继续翻译 doc/ja_JP.eucJP 和 www/ja 中过时的文档。

链接

http://svnweb.freebsd.org/base/projects/armv6/sys/arm/ti/

联系方式: Ben Gray <bgray@FreeBSD.org> 联系方式: Olivier Houchard <cognet@FreeBSD.org> 联系方式: Damjan Marion <dmarion@FreeBSD.org> 联系方式: Oleksandr Tymoshenko <gonzo@FreeBSD.org>

该项目的目标是让 FreeBSD 在使用 TI 基于 SoC(系统级芯片)的各种流行开发板上运行,如 OMAP3、OMAP4、AM335x。项目涵盖一些 ARM 通用的 Cortex-A 组件:GIC(通用中断控制器)、PL310 L2 缓存控制器和 SCU。

PandaBoard(TI OMAP4430)和 PandaBoard ES(OMAP4460)双核 ARM Cortex-A9 开发板的支持包括:USB、通过 USB 的板载以太网、GPIO、I2C 和 MMC/SD 卡驱动程序。该开发板可以在 NFS 根目录下以多用户模式工作。

BeagleBone(TI AM3358/AM3359)单核 ARM Cortex-A8 开发板的支持目前包括:以太网、L2 缓存、GPIO、I2C。该开发板可以在 NFS 根目录下以多用户模式工作。

待办任务:

  1. 完成缺失外设的支持:DMA、SPI、MMC/SD、视频、音频。

  2. 完成 SMP 支持并进行测试。

  3. 将 BeagleBoard(OMAP3)代码导入 SVN。

  4. 提升整体稳定性和性能。

联系人:Michal Dubiel <md@semihalf.com> 联系人:Rafal Jaworowski <raj@semihalf.com> 联系人:Piotr Ziecik <kosmo@semihalf.com>

这项工作旨在将 FreeBSD 移植到 Freescale QorIQ 数据路径加速架构(DPAA)系统芯片,并为集成外设提供设备驱动程序。自上次状态报告以来,已增加以下支持:

  • 以 DPAA 基础设施的常规模式实现完整网络功能的以太网支持

  • 支持 QorIQ P5020 SoC(e5500 核心以传统 32 位模式)

  • 支持 P5020 QorIQ 开发系统

  • 增强型 SDHC 的初步支持

下一步是:

  • 以原生 64 位模式支持 e5500 核心

相关出版物:

  • Michal Dubiel, Piotr Ziecik, "FreeBSD on Freescale QorIQ Data Path Acceleration Architecture Devices",AsiaBSDCon, 2012 年 3 月,日本东京。

联系人:Grzegorz Bernacki <gjb@semihalf.com> 联系人:Mateusz Guzik <mjg@semihalf.com>

NAND Flash 堆栈包括 NAND 控制器和内存芯片的驱动框架、NAND 设备模拟器以及容错的日志结构文件系统,伴随有工具、实用程序和文档。

  • NAND FS 支持已合并到"nand"项目分支

    • NAND FS 文件系统

    • NAND FS 用户空间工具

  • NAND 框架和 NAND 模拟器已合并到"nand"项目分支

    • NAND 框架:nandbus、通用 nand 芯片驱动程序

    • NAND Flash 控制器(NFC)驱动程序,支持 NAND 模拟器和 Marvell MV-78100(ARM)

    • NAND 工具(可用于擦除、读写页面/oob 等)

下一步包括:

  • 修复错误

  • 合并到 HEAD

该项目的工作得到了 FreeBSD 基金会和 Juniper Networks 的支持。

联系人:Oleksandr Tymoshenko <gonzo@FreeBSD.org>

DTrace 的主要部分已经移植到 MIPS 平台。支持的 ABI:o32 和 n64。n32 尚未测试。MIPS 实现通过了 DTrace 测试套件中的 927 个测试中的 853 个。

目前不支持 fbt 提供者和用户空间 DTrace。

ARM 的移植工作正在进行中。

待办事项

  1. 为 MIPS 实现用户空间 DTrace 支持。

  2. 调查使 fbt 提供者至少部分工作所需的工作量。

  3. 找到跨平台生成 CTF 数据的合适解决方案(ARM 需要)。

联系人:Alexander Leidinger <netchild@FreeBSD.org>

我们收到了一个基于 CentOS 6 的 linux_based Port 的 PR。目前,这只能用作测试环境,因为它依赖于比 linuxulator 提供的更高版本的 Linux 内核。

截至本文编写时,我正在准备提交该 Port 。

待办事项

  1. 由 portmgr 进行 repocopy。

  2. 在其他 linux_base Port 中添加冲突。

  3. 提交基于 CentOS 的版本。

  4. 一些清理工作。

联系人:Oleg Moskalenko <oleg.moskalenko@citrix.com> 联系人:Gábor Kövesdán <gabor@FreeBSD.org>

目前,BSD sort 已达到可用的稳定阶段。它非常稳定,速度与 GNU sort 相同,并且支持多字节语言环境(这是 GNU sort 做得不正确的)。BSD sort 具有 GNU sort 5.3.0 的所有功能(包括在 FreeBSD 中的版本),并附带一些额外功能和错误修复。

待办事项

  1. 将 BSD sort 作为替代方案添加到 HEAD,并安装为 bsdsort。如果证明其按预期工作,则将其更改为默认的 sort 版本并移除 GNU sort。

  2. 调查并实现多线程 sort 的可能性,如果证明它更高效。

  3. 升级 BSD sort 的功能,加入最新 GNU sort 版本 8.15 中的一些新特性。

联系人:KDE FreeBSD <kde@FreeBSD.org>

团队已发布多个版本并上游提交了许多修复和补丁。最近的发布版本包括:

  • KDE SC: 4.7.4(在 ports 中)和 4.8.0, 4.8.1, 4.8.2(在 area51 中)

  • Qt: 4.8.0, 4.8.1(在 area51 中)

  • PyQt: 4.9.1;SIP: 4.13.2(在 area51 中)

  • KDevelop: 2.3.0;KDevPlatform: 1.3.0(在 area51 中)

  • Calligra: 2.3.87(在 area51 中)

  • Amarok: 2.5.0

  • CMake: 2.8.7

由于 Port 冻结期的延长,KDE 团队无法更新 KDE Port ,因为这被视为侵入性更改。

团队始终在寻找更多的测试人员和 Port 维护者,欢迎通过 kde@FreeBSD.org 联系我们,并访问我们的主页 http://FreeBSD.kde.org

待办事项

  1. 测试 KDE SC 4.8.2。

  2. 测试 KDE PIM 4.8.2。

  3. 测试 phonon-gstreamer 和 phonon-vlc,因为 phonon-xine 后端已被弃用(但暂时仍会保留在 ports 中)。

  4. 测试 Calligra beta 版本(在 area51 仓库中)。

链接

http://wiki.freebsd.org/Perl#Test_Dependencies

联系人:Steve Wills <swills@FreeBSD.org>

许多 Perl 模块在 ports 中包含了随源代码一起提供的测试用例。该项目的目标是确保所有这些测试通过。该项目已取得显著进展。已经提交了构建 Perl 时使用 -pthread 的更改,并且没有报告问题。许多 Port 已添加了缺失的依赖项和/或进行了其他更改,约 90% 的 p5- Port 通过了测试。正在努力将测试支持从 Port tinderbox 中移出。

待办事项

  1. 完成将测试支持引入 Port 的补丁工作。

  2. 增加对其他类型 Port (如 Python 和 Ruby)的测试支持。

联系人:Gábor PÁLI <pgj@FreeBSD.org> 联系人:Ashish SHUKLA <ashish@FreeBSD.org>

我们很高兴地宣布,FreeBSD Haskell 团队已经提交了 Haskell Platform 2011.4.0.0 更新,GHC 7.0.4 更新,现有 Port 的更新以及由于 9.0-RELEASE 冻结而未提交的新 Port 。一些提交的新 Port 包括 Yesod、Happstack、wxHaskell、gitit、Threadscope 等,目前 FreeBSD Ports 中的 Haskell Port 数量已接近 300 个。所有这些更新将在即将发布的 8.3-RELEASE 中提供。

我们启动了 hsporter 项目,用于自动化从 .cabal 文件创建新的 FreeBSD Haskell Port 以及更新现有 Port 。我们还发布了在 FreeBSD Haskell 项目中使用的脚本,作为 hsmtk 项目的一部分。

待办事项

  1. 测试 GHC 是否与 clang/LLVM 兼容。

  2. 为 lang/ghc Port 添加一个选项,以便能够使用已安装的 GHC 构建,而不是要求使用单独的 GHC 启动包。

  3. 向 Ports 中添加更多 Port 。

联系人:Thomas Abthorpe <portmgr-secretary@FreeBSD.org> 联系人: Ports 管理团队 <portmgr@FreeBSD.org>

Ports 的 Port 数量缓慢增加,已经超过 23,000 个。目前的 PR 数量仍然约为 1100 个。

在第一季度,我们新增了 2 名提交者,接收了 2 个提交权限以作保管,并且有一名提交者返回了 Port 工作。

Ports 管理团队一直在持续运行 -exp 测试,验证基本系统更新如何影响 Ports,同时为主要 Port 更新提供质量保证测试。值得注意的是,-exp 测试已完成以下内容:

  • 在 FreeBSD 10 环境中的 Port 验证

  • 更新 bison、libtool 和 libiconv

  • 设置 java/opendjdk6 为默认 Java

  • 设置 clang 为默认编译器的测试

  • 更新 devel/boost 和相关组件

  • 更新 audio/sdl 和相关组件

  • Port 许可基础设施的更改测试

  • 更新 devel/ruby1[8|9]

  • 更新 postresql

  • 更新 apr

  • 检查新的 x11/xorg

  • 对 security/gnutls 进行的安全更新

  • 持续验证使用 pkgng 的基础设施

在此期间,许多精力集中在为 FreeBSD 8.3 准备 Ports 的工作上,包括为发布版本准备包文件。

Beat Gaetzi 一直在对 Ports 进行持续测试,以确保从 CVS 向 Subversion 的平稳过渡。

待办事项

  1. 寻求帮助,使 Port 能与 clang 构建。

  2. 寻求帮助,支持 Tier-2 架构。

  3. 由源代码更改引起的 Port 故障。

  4. 在 pointyhat 上失败的 Port 。

  5. 在 pointyhat-west 上失败的 Port 。

  6. 标记为 BROKEN 的 Port 。

  7. 该 Port 何时出现故障?

  8. 大多数 Port PR 已分配,我们现在需要专注于测试、提交和关闭。

最后更新于

这有帮助吗?