FreeBSD 2012 年第二季度状态报告
引言
本报告涵盖了 2012 年 4 月至 6 月期间与 FreeBSD 相关的项目。本季度的亮点是选举产生了新的核心团队,该团队于 7 月 11 日上任,并开始工作,团队成员中有相对较高比例的新成员。请注意,这是 2012 年计划的四份报告中的第二份。
感谢所有报告者的优秀工作!本报告包含了 17 个条目,希望你能喜欢阅读。
请注意,提交涵盖 2012 年 7 月至 12 月期间内容的报告的截止日期为 2013 年 2 月 17 日。
项目
用户空间程序
FreeBSD 服务控制(fsc)
联系方式:Tom Rhodes <trhodes@FreeBSD.org>
FSC 移入了 Port 系统(见 sysutils/fsc),并且继续在 Port 外部改进。在服务控制、系统启动和简化进程方面有一些有趣的工作正在进行中。请继续关注后续状态报告中的更多信息。
待完成任务
测试,测试,再测试。反馈对该项目非常重要。
替换正则表达式代码
链接:TRE 主页
联系方式:Gábor Kövesdán <gabor@FreeBSD.org>
决定将优化和扩展实现为更为独立的层,而不是直接在 TRE 中实现。自上次报告以来,这方面取得了一些进展,代码进行了显著重构。尽管目前还未在这种新形式下完全工作,但接近工作状态了。除此之外,多模式匹配需要一些调试,并且缺少一些小功能。
待完成任务
完成多模式启发式正则表达式匹配。
实现 GNU 特定的正则表达式扩展。
测试性能、标准兼容性和正确行为。
FreeBSD 团队报告
来自各官方及半官方团队的报告,见 管理页面。
FreeBSD 文档项目
链接:
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 频道与我们联系。
待完成任务
审查网站内容,删除过时部分或在适用的情况下进行更新。
浏览 wiki 上的文档创意列表,并开始处理它们。
FreeBSD 核心团队
链接:公告
联系方式:核心团队 <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 和佐藤広生。
完整的新当选核心团队成员包括:
Thomas Abthorpe tabthorpe@FreeBSD.org
Gavin Atkinson gavin@FreeBSD.org
John Baldwin jhb@FreeBSD.org
Konstantin Belousov kib@FreeBSD.org
David Chisnall theraven@FreeBSD.org
Attilio Rao attilio@FreeBSD.org
佐藤広生 hrs@FreeBSD.org
Peter Wemm peter@FreeBSD.org
Martin Wilke miwi@FreeBSD.org
新核心团队感谢离任成员 Wilko Bulte、Brooks Davis、Warner Losh、Pav Lucistnik、Colin Percival 和 Robert Watson 在过去两年(在某些情况下是更多年)中的贡献。
核心团队特别感谢 Dag-Erling Smørgrav 组织了此次选举。
FreeBSD Ports 管理团队
链接:
http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributing-ports/
http://portsmon.freebsd.org/index.html
http://www.freebsd.org/portmgr/index.html
http://blogs.freebsdish.org/portmgr/
http://www.twitter.com/freebsd_portmgr/
http://www.facebook.com/portmgr
联系方式:Thomas Abthorpe <portmgr-secretary@FreeBSD.org>
联系方式:Ports 管理团队 <portmgr@FreeBSD.org>
Ports 树逐步接近 24,000 个 Port。PR 数量仍接近 1200。
在第二季度,我们新增了 7 名提交者,并保管了 1 个提交位。
Ports 管理团队一直在进行 -exp 运行,验证基础系统更新如何影响 Ports 树,并为主要 Port 更新提供 QA 运行。值得注意的是,-exp 运行完成了以下更新:
automake 更新
cmake 更新
xorg 更新
png 更新
修复
make reinstall在 bsd.ports.mk 中实现
USE_QT4KDE4 更新
XFCE4 更新
bison 更新
perl5.14 设置为默认
ruby1.9 设置为默认
ruby1.8 更新
bsdsort 回归测试
在此期间,大量精力投入到将 Ports 树准备好以支持 FreeBSD 9.1。
显著的进展是实现了 OptionsNG。
创纪录数量的 Port 管理者参加了 BSDCan 2012,有五位参与了为期一周的活动,并在最后一天的 portmgr PR 会议中处理了 18 个 PR。你可以在此查看团队照片,同时点击“点赞”图标。
Beat Gaetzi 一直在进行 Ports 树的持续测试,以确保从 CVS 迁移到 Subversion 的顺利过渡。该迁移在 2012 年 6 月 14 日的周末顺利完成。
待办任务
寻求帮助使 Port 使用 clang 编译。
寻求帮助修复 CURRENT 上的损坏 Port。(该列表需要更新。)
寻求帮助解决 Tier-2 架构的 Port 问题。
大部分 Port PR 分配了,现在需要专注于测试、提交和关闭。
内核
改进 FreeBSD/at91
链接:FreeBSD 在 ATMEL AT91 上的支持 Wiki
联系方式:Warner Losh <imp@FreeBSD.org>
FreeBSD 对 Atmel 的支持停滞了一段时间。随着对新 SoC(系统级芯片)需求的出现,许多改进变得迫切需要。虽然新的 SoC 支持并不难,但它确实涉及大量代码的复制。我开始着手使这变得更容易。原本计划通过表驱动的方式来实现,但后来我发现 Atmel 生成了 dts 文件。
因此,我计划转而使用 Atmel 的 .dtsi 文件或其变体。他们为所有 AT91SAM9 系列的芯片提供了 .dtsi 文件。这应该能帮助我们更快地支持新的 SoC 和开发板。
然而,这种方法也有一些挑战。引脚复用在 Atmel 的 dts 文件中似乎没有定义。目前,只有少数设备的定义较为清晰,而且编码方式似乎还不成熟。
因此,我们有目标丰富、非常适合重构的移植工作。
待办任务
更新基础系统的 libfdt 至支持 include 的版本。
为 Atmel AT91RM9200 编写 .dtsi 文件。
为所有支持的开发板编写 .dti 文件。
帮助解决引脚复用问题。
重构现有的开发板文件,使新文件更容易编写。
自由发挥,实施新 CPU 的开发板支持。
网络基础设施
FreeBSD 的多路径 TCP(MPTCP)
链接:
联系方式:Nigel Williams <njwilliams@swin.edu.au>
联系方式:Lawrence Stewart <lastewart@swin.edu.au>
联系方式:Grenville Armitage <garmitage@swin.edu.au>
目前正在为 FreeBSD 内核开发符合 IETF 草案标准的多路径 TCP 实现。
该项目的主要目标是创建研究平台,用于探讨一系列与多路径相关的传输问题,包括拥塞控制、重传策略和数据包调度策略。我们还旨在与在鲁汶天主教大学开发的 Linux 内核实现保持完全的互操作性。
随着项目的进展,我们预计会在项目主页发布代码和结果。
SMP 友好的 pf(4)
链接:
联系方式:Gleb Smirnoff <glebius@FreeBSD.org>
该项目旨在将 pf(4) 包过滤器从单一互斥锁中移出,并在整体上改进其在 FreeBSD 上的移植。
该项目接近完成,计划在更多测试和基准测试后将代码提交到主干。如果你对细节感兴趣,请参阅 freebsd-pf 邮件线程(见链接)。
待办任务
重写 pf(4) 的
ioctl()接口,使其不再使用内核中的结构。这样可以使 ABI 更稳定,并促进未来的开发。
文档
FreeBSD 日文文档项目
链接:
联系方式:佐藤広生 <hrs@FreeBSD.org>
联系方式:Ryusuke Suzuki <ryusuke@FreeBSD.org>
我们的翻译工作略微转向了手册部分,从 www/ja(CVS)或 htdocs(SVN)子树移至此部分,因为几乎所有已翻译的网页内容都更新为最新的英文版本。
在此期间,我们翻译了 8.3-RELEASE 公告并及时发布。同时也尽快翻译了新闻快讯及其他更新。
对于 FreeBSD 手册,完成了“cutting-edge”和“打印”部分的翻译工作。也更新了“linuxemu”和“serialcomms”部分。目前,“bsdinstall”、“cutting-edge”、“desktop”、“install”、“introduction”、“kernelconfig”、“mirrors”、“multimedia”、“pgpkeys”、“ports”、“printing”和“x11”章节与英文版本同步了。
待办任务
继续翻译
ja_JP.eucJP子树中过时的文档。
架构
FreeBSD/arm 在 ARM Fast Models 模拟器上用于 Cortex-A15 MPCore 处理器
链接:
联系方式: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)支持
多用户模式
Ports
BSD 许可的排序实用程序(GNU sort(1) 替代)
链接:
IEEE Std 1003.1-2008 sort(1) 规范
联系方式:Oleg Moskalenko <oleg.moskalenko@citrix.com>
联系方式:Gábor Kévesdén <gabor@FreeBSD.org>
BSD sort(1) 成为了 10-CURRENT 中的默认排序实用程序。它与最新的 GNU sort(1) 版本 8.15 兼容,只是默认情况下未启用多线程模式。
待完成任务
当 BSD sort(1) 的记录跟踪允许时,将 GNU sort(1) 从 -CURRENT 中移除。
改进多线程排序的可靠性,并调查是否可以将其作为默认编译模式。
调查将排序功能提取为独立库的可能性,以便其他实用程序也能使用。
FreeBSD Haskell Port
链接:
联系方式: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 Ports 树中的 Haskell Port 总数为 336 个。
待完成任务
测试 GHC 与 clang/LLVM 的兼容性。
向 lang/ghc Port 添加选项,以便使用已安装的 GHC 来构建,而不是要求单独的 GHC 启动包。
将待处理的 Haskell Port 提交到 FreeBSD Ports 树。
向 Ports 添加更多的 Port。
KDE/FreeBSD
链接:
联系方式: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 维护者,所以请联系我们并访问我们的主页。
待完成任务
测试 KDE SC 4.8.95。
测试 KDE PIM 4.8.95。
更新过时的 Port,请参见 PortScout 获取列表。
Portbuilder
链接:
联系方式: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%。
Redports
联系方式:Bernhard Froehlich <decke@FreeBSD.org>
在过去的半年里,redports 取得了良好的进展,并得到了各方的大力支持,使其成为稳定且快速的服务。
在 BSD-Day 维也纳大会上,提出了 tinderbox 中长期存在的安全问题,并由 beat 进行了处理。这大大提升了并行运行作业的安全性和隔离性,让我感到更加安心。
我们最近还从 FreeBSD 基金会获得了两台强劲的机器,极大地提升了计算能力。因此不再有积压,作业完成得更快了。
但正如往常一样,现在我们有了足够的计算能力,我能够兑现另一个承诺,将 Ports QAT 功能集成到 redports 中。Ports QAT 是自动化服务,在每次提交到官方 FreeBSD Ports 树之后执行构建测试。如果构建失败,它会向提交者发送邮件和日志文件。这能够快速发现坏的提交,并让提交者在第一个用户注意到之前修复问题。这个服务在大约两年前停止了,我们没有适当的替代方案。现在,这一功能完全集成到了 redports 中,也为我们带来了共同平台的所有好处。
待办任务
自动构建来自 Ports PRs 的传入补丁,并将结果发送到 GNATS 数据库。
人们希望在 redports 上有 GCC 测试环境,在该环境中所有 Port 都使用 lang/gcc47 构建。为了实现这一点,我们需要修补 Port 框架以处理这一需求,并正确地使用基础 GCC 进行引导。这还使我们能够使用现代 GCC 构建所有二进制软件包,并且对普通用户而言易于使用。有贡献者吗?
FreeBSD 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 的新版本。
待办任务
切换到使用 FreeGLUT 而非 libGLUT,因为后者过时了,并且不再有上游支持或发布。该项工作大部分完成了。
将 xorg 分发版更新为开发仓库中的版本。xorg 项目最近发布了新版本,而开发仓库中包含该版本。此版本需要更多的测试,才能合并,并且 6 月初发出了 CFT。该项工作仍在进行中。
决定如何处理新旧 xorg 分发版。在新版 xorg 中,很多遗留的驱动支持已丢弃,因此我们需要维护两个 xorg 分发版,以避免丧失大量硬件驱动。目前,通过在 /etc/make.conf 中设置
WITH_NEW_XORG标志来完成此操作,但需要更实用的解决方案。特别是考虑到该标志不够用户友好,并且目前没有官方软件包支持新版分发版。
其他事项
BSD-Day 2012
链接:
联系方式: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 等。有关详细信息,请查阅报告中的链接。
最后更新于