FreeBSD 2012 年第二季度状态报告

引言

本报告涵盖了 2012 年 4 月至 6 月期间与 FreeBSD 相关的项目。本季度的亮点是选举产生了新的核心团队,该团队于 7 月 11 日上任,并开始了其工作,团队成员中有相对较高比例的新成员。请注意,这是 2012 年计划的四份报告中的第二份。

感谢所有报告者的优秀工作!本报告包含了 17 个条目,希望你能喜欢阅读。

请注意,提交涵盖 2012 年 7 月至 12 月期间内容的报告的截止日期为 2013 年 2 月 17 日。

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

FSC 已被移入 Port 系统(见 sysutils/fsc),并且继续在 Ports 外部改进。在服务控制、系统启动和简化进程方面有一些有趣的工作正在进行中。请继续关注后续状态报告中的更多信息。

待完成任务:

  1. 测试,测试,再测试。反馈对该项目非常重要。

链接

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

决定将优化和扩展实现为一个更为独立的层,而不是直接在 TRE 中实现。自上次报告以来,这方面已经取得了一些进展,代码已进行了显著重构。尽管目前还未在这种新形式下完全工作,但已经接近工作状态。除此之外,多模式匹配需要一些调试,并且缺少一些小功能。

待完成任务:

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

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

  3. 测试性能、标准兼容性和正确行为。

链接

http://wiki.freebsd.org/GoogleCodeIn/2011Status

http://wiki.freebsd.org/201208DevSummit

http://wiki.freebsd.org/DocIdeaList

联系:<freebsd-doc@FreeBSD.org>

我们继续推进将 2011 年谷歌 Code-In 项目的成果提交到 FreeBSD 项目中的工作;相关进展的概述请见http://wiki.freebsd.org/GoogleCodeIn/2011Status。文档提交者和 GCIN 导师应鼓励查看此列表并帮助将未完成的任务提交到代码库。

我们计划在 2012 年 8 月 DevSummit 前一天举办一次全天的文档峰会,这将是 2012 年 5 月 BSDCan 上举行的成功的 DocSummit 活动之后的延续。进一步的细节请见:http://wiki.freebsd.org/201208DevSummit

在 7 月初,我们通过 IRC(EFnet 上的 #bsddocs 频道)举行了一次文档冲刺活动,计划重新激活市场团队,并强烈希望建立一个更有组织的新网站。

过去几个月,创建和更新文档以及网站内容方面取得了很多进展和动力。还可以阅读 doceng 报告,了解最近的基础设施改进。

任何希望帮助这一工作的人员,欢迎加入我们的行列,并通过 freebsd-doc 邮件列表或 EFnet IRC 的#bsddocs 频道与我们联系。

待完成任务:

  1. 审查网站内容,删除过时部分或在适用的情况下进行更新。

  2. 浏览 wiki 上的文档创意列表,并开始处理它们。

链接

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

FreeBSD 项目高兴地宣布 2012 年核心团队选举的完成。FreeBSD 核心团队充当项目的“董事会”,负责批准新的源代码提交者、解决开发者之间的争议、任命特定目的的子委员会(如安全官员、发布工程、 Ports 管理、网站管理员等),以及根据需要做出任何其他行政或政策决策。自 2000 年以降,核心团队每两年由 FreeBSD 开发者选举产生。

Peter Wemm 在两年间歇后重新加入核心团队,新成员 Thomas Abthorpe、Gavin Atkinson、David Chisnall、Attilio Rao 和 Martin Wilke 加入现任成员 John Baldwin、Konstantin Belousov 和佐藤広生。

完整的新增选核心团队成员包括:

新核心团队感谢离任成员 Wilko Bulte、Brooks Davis、Warner Losh、Pav Lucistnik、Colin Percival 和 Robert Watson 在过去两年(在某些情况下是更多年)中的贡献。

核心团队特别感谢 Dag-Erling Smørgrav 组织了此次选举。

链接

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

Ports 逐步接近 24,000 个 Port 。PR 数量仍接近 1200。

在第二季度,我们新增了 7 名提交者,并为安全存档获取了一个提交位。

Ports 管理团队一直在进行 -exp 运行,验证基础系统更新如何影响 Ports,并为主要 Port 更新提供 QA 运行。值得注意的是,-exp 运行已完成以下更新:

  • automake 更新

  • cmake 更新

  • xorg 更新

  • png 更新

  • 修复 make reinstall

  • 在 bsd.ports.mk 中实现 USE_QT4

  • KDE4 更新

  • XFCE4 更新

  • bison 更新

  • perl5.14 设置为默认

  • ruby1.9 设置为默认

  • ruby1.8 更新

  • bsdsort 回归测试

在此期间,大量精力投入到将 Ports 准备好以支持 FreeBSD 9.1。

一个显著的进展是实现了 OptionsNG。

创纪录数量的 Ports 管理者参加了 BSDCan 2012,有五位参与了为期一周的活动,并在最后一天的 portmgr PR 会议中处理了 18 个 PR。你可以在此查看团队照片,同时点击“点赞”图标。

Beat Gaetzi 一直在进行 Ports 的持续测试,以确保从 CVS 迁移到 Subversion 的顺利过渡。该迁移在 2012 年 6 月 14 日的周末顺利完成。

待办任务:

  1. 寻求帮助使 Port 使用 clang 编译

  2. 寻求帮助修复 CURRENT 上的损坏 Port 。(该列表需要更新。)

  3. 大部分 Port PR 已分配,现在需要专注于测试、提交和关闭。

链接

联系方式: Warner Losh <imp@FreeBSD.org>

FreeBSD 对 Atmel 的支持已经停滞了一段时间。随着对新 SoC(系统级芯片)需求的出现,许多改进变得迫切需要。虽然新的 SoC 支持并不难,但它确实涉及大量代码的复制。我已经开始着手使这变得更容易。原本计划通过表驱动的方式来实现,但后来我发现 Atmel 已经生成了 dts 文件。

因此,我计划转而使用 Atmel 的 .dsti 文件或其变种。他们为所有 AT91SAM9 系列的芯片提供了 .dsti 文件。这应该能帮助我们更快地支持新的 SoC 和开发板。

然而,这种方法也有一些挑战。引脚复用在 Atmel 的 dts 文件中似乎没有定义。目前,只有少数设备的定义较为清晰,而且编码方式似乎还不成熟。

因此,我们有一个目标丰富、非常适合重构的 Port 。

待办任务:

  1. 更新基础系统的 libfdt 至支持 include 的版本。

  2. 为 Atmel AT91RM9200 编写 .dtsi 文件。

  3. 为所有支持的开发板编写 .dti 文件。

  4. 帮助解决引脚复用问题。

  5. 重构现有的开发板文件,使新文件更容易编写。

  6. 自由发挥,实施新 CPU 的开发板支持。

链接

联系方式: Nigel Williams <njwilliams@swin.edu.au> 联系方式: Lawrence Stewart <lastewart@swin.edu.au> 联系方式: Grenville Armitage <garmitage@swin.edu.au>

目前正在为 FreeBSD 内核开发一个符合 IETF 草案标准的多路径 TCP 实现。

该项目的一个主要目标是创建一个研究平台,用于探讨一系列与多路径相关的传输问题,包括拥塞控制、重传策略和数据包调度策略。我们还旨在与在洛万大学开发的 Linux 内核实现保持完全的互操作性。

随着项目的进展,我们预计会在项目主页发布代码和结果。

链接

联系方式: Gleb Smirnoff <glebius@FreeBSD.org>

该项目旨在将 pf(4) 包过滤器从单一互斥锁中移出,并在整体上改进其 FreeBSD Port 。

该项目接近完成,计划在更多测试和基准测试后将代码提交到主干。如果你对细节感兴趣,请参阅 freebsd-pf 邮件线程(见链接)。

待办任务:

  1. 重写 pf(4) 的 ioctl() 接口,使其不再使用内核中的结构。这样可以使 ABI 更稳定,并促进未来的开发。

链接

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

我们的翻译工作已略微转向手册部分,从 www/ja(CVS)或 htdocs(SVN)子树移至此部分,因为几乎所有已翻译的网页内容已更新为最新的英文版本。

在此期间,我们翻译了 8.3-RELEASE 公告并及时发布。同时也尽快翻译了新闻快讯及其他更新。

对于 FreeBSD 手册,已完成“前沿”和“打印”部分的翻译工作。也更新了“linuxemu”和“serialcomms”部分。目前,“bsdinstall”、“cutting-edge”、“desktop”、“install”、“introduction”、“kernelconfig”、“mirrors”、“multimedia”、“pgpkeys”、“ports”、“printing”和“x11”章节已与英文版本同步。

待办任务:

  1. 继续翻译 ja_JP.eucJP 子树中过时的文档。

链接

联系人:Zbigniew Bodek <zbb@semihalf.com> 联系人:Rafal Jaworowski <raj@semihalf.com> 联系人:Tomasz Nowicki <tn@semihalf.com>

ARM Fast Models 是一种平台,帮助软件开发人员在 SoC 设计的同时进行调试,从而加速和改善系统开发。本项目旨在将 FreeBSD 搬上基于 ARM Cortex-A15 和外设组件的 ARM Fast Models 系统。它在单用户模式下运行,使用编译进内核的 RAM 磁盘最小根文件系统。

当前的 FreeBSD 支持包括:

  • L1、L2 缓存,分支预测器

  • 双核(SMP)支持,设置为 WB 缓存模式

  • Cortex-A15 集成通用定时器

  • ARM 外设组件的驱动程序:

    • PL011 UART 控制器

    • PL390 GIC - 通用中断控制器

    • SP804 双定时器

接下来的步骤:

  • 四核(SMP)支持

  • 多用户模式

链接

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

BSD sort(1) 已成为 10-CURRENT 中的默认排序实用程序。它与最新的 GNU sort(1) 版本 8.15 兼容,只是默认情况下未启用多线程模式。

待完成任务:

  1. 当 BSD sort(1) 的记录跟踪允许时,将 GNU sort(1) 从 -CURRENT 中移除。

  2. 改进多线程排序的可靠性,并调查是否可以将其作为默认编译模式。

  3. 调查将排序功能提取为独立库的可能性,以便其他实用程序也能使用。

链接

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

我们很高兴地宣布,FreeBSD Haskell 团队已将 Haskell 平台更新为 2012.2.0.0,将 GHC 更新为 7.4.1,并更新了现有的 Port 到其最新的稳定版本。我们还添加了许多新的 Haskell Port ,现在 FreeBSD Port 树中的 Haskell Port 总数为 336 个。

待完成任务:

  1. 测试 GHC 与 clang/LLVM 的兼容性。

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

  3. 将待处理的 Haskell Port 提交到 FreeBSD Port 树。

  4. 向 Ports 添加更多的 Port 。

链接

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

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

  • KDE SC: 4.8.3、4.8.4(在 Port 中)和 4.8.95(在 area51 中)

  • Qt: 4.8.1、4.8.2

  • PyQt: 4.9.1; SIP: 4.13.2; QScintilla 2.6.1

  • KDevelop: 2.3.1; KDevPlatform: 1.3.1

  • Calligra: 2.4.2、2.4.3

  • Amarok: 2.5.90(在 area51 中)

  • CMake: 2.8.8

  • Digikam(及 KIPI 插件): 2.6.0

因此,根据 PortScout,kde@ 总共有 393 个 Port ,其中 91% 是最新的。

团队始终欢迎更多的测试人员和 Port 维护者,所以请联系我们并访问我们的主页。

待完成任务:

  1. 测试 KDE SC 4.8.95。

  2. 测试 KDE PIM 4.8.95。

  3. 更新过时的 Port ,请参见 PortScout 获取列表。

链接

联系人:David Naylor <naylor.b.david@gmail.com>

自上次更新以来,已经发布了 2 个新功能版本和 4 个 bug 修复版本。主要更新内容包括:

  • 已经增加了对以下功能的支持:

    • -j:每个阶段控制并发

    • pkgng:下一代包管理器

    • 通过仓库安装包

    • 动态默认设置(从 /etc/make.conf 加载)

    • 新的选项框架(即 OptionsNG)

  • 一些修复包括:

    • 修正了断言

    • 修正了构建逻辑

    • 当 kevent 收到 EINTR 时重试

    • 正确检测已安装的 Port

    • 许多构建逻辑方面的修复

进行了一项基准测试,将 Portbuilder 与标准 Port 构建 KDE(x11/kde4)在一个干净的 chroot(8) 环境中的构建时间进行了对比。Portbuilder 实现了 2:21:16 的构建时间,而标准 Port 构建时间为 4:47:21,使用 Portbuilder 时,构建时间减少了 51%。

链接

http://www.redports.org/

联系方式: Bernhard Froehlich <decke@FreeBSD.org>

在过去的半年里,redports 取得了良好的进展,并得到了各方的大力支持,使其成为一个稳定且快速的服务。

在 BSD-Day 维也纳大会上,tinderbox 中长期存在的安全问题被提出,并由 beat 进行了处理。这大大提升了并行运行作业的安全性和隔离性,让我感到更加安心。

我们最近还从 FreeBSD 基金会获得了两台强劲的机器,极大地提升了计算能力。因此不再有积压,作业完成得更快了。

但正如往常一样,现在我们有了足够的计算能力,我能够兑现另一个承诺,将 Ports QAT 功能集成到 redports 中。Ports QAT 是一个自动化服务,在每次提交到官方 FreeBSD ports 树之后执行构建测试。如果构建失败,它会向提交者发送邮件和日志文件。这能够快速发现坏的提交,并让提交者在第一个用户注意到之前修复问题。这个服务在大约两年前停止了,我们没有适当的替代方案。现在,这一功能已经完全集成到 redports 中,也为我们带来了一个共同平台的所有好处。

待办任务:

  1. 自动构建来自 Ports PRs 的传入补丁,并将结果发送到 GNATS 数据库。

  2. 人们希望在 redports 上有一个 GCC 测试环境,在该环境中所有 Port 都使用 lang/gcc47 构建。为了实现这一点,我们需要修补 Port 框架以处理这一需求,并正确地使用基础 GCC 进行引导。这还使我们能够使用现代 GCC 构建所有二进制包,并且对普通用户而言易于使用。有贡献者吗?

链接

http://wiki.freebsd.org/Xorg

http://trillian.chruetertee.ch/ports/browser/trunk

联系方式: Martin Wilke <miwi@FreeBSD.org> 联系方式: Koop Mast <kwm@FreeBSD.org> 联系方式: Niclas Zeising <zeising@FreeBSD.org> 联系方式: Eitan Adler <eadler@FreeBSD.org>

在此期间初,FreeBSD 对 xorg 分发版进行了更新,更新为 xorg 7.5.2。此更新包括一个新标志,WITH_NEW_XORG,允许使用较新的 xorg 分发版,适用于现代硬件。若要获得对最新 Intel 图形芯片组的 KMS 支持,还必须设置 WITH_KMS。此要求 FreeBSD 10-CURRENT 或 FreeBSD 9-STABLE 的新版本。

待办任务:

  1. 切换到使用 FreeGLUT 而非 libGLUT,因为后者已经过时,并且不再有上游支持或发布。该项工作大部分已经完成。

  2. 将 xorg 分发版更新为开发库中的版本。xorg 项目最近发布了一个新版本,而开发库中包含该版本。此版本需要更多的测试,才能合并,并且 6 月初已发出了 CFT。该项工作仍在进行中。

  3. 决定如何处理新旧 xorg 分发版。在新版 xorg 中,很多遗留的驱动支持已被丢弃,因此我们需要维护两个 xorg 分发版,以避免丧失大量硬件驱动。目前,通过在 /etc/make.conf 中设置 WITH_NEW_XORG 标志来完成此操作,但需要更实用的解决方案。特别是考虑到该标志不够用户友好,并且目前没有官方包支持新版分发版。

链接

联系方式: Gábor Póli <pgj@FreeBSD.org>

今年,我们将活动时间提前了六个月,因此它于 2012 年 5 月 5 日举行,并与奥地利 Linux 周 (Linuxwochen Österreich) 在维也纳共同举行。我们有许多赞助商,如刚加入的 FreeBSD 基金会、iXsystems、FreeBSDMall、BSD Magazine 和 allBSD.de 项目,他们使我们能够继续在中欧各地举办我们先前启动的多项目 BSD 开发者峰会系列。

活动开始时,周五晚上在维也纳市中心的 Kolar 举办了“Stammtisch”(本地啤酒聚会)——一如既往。接着,周六的活动涵盖了来自 FreeBSD、OpenBSD 和 NetBSD 世界的许多有趣话题:在嵌入式系统中运行 NetBSD 管理 VOIP 应用程序、Capsicum 安全框架介绍、relayd(8)(OpenBSD 的负载均衡器和代理解决方案)、FreeBSD ports 树的开发进度、云中使用 DVCS、pfSense 防火墙和 mfsBSD 等。有关详细信息,请查阅报告中的链接。

最后更新于

这有帮助吗?