FreeBSD 2005 年 7-10 月状态报告
原文地址:FreeBSD 2005 年 7-10 月状态报告
引言
经过漫长、疲倦但极富有成效的 2005 年第三季度,FreeBSD 6.0 已经发布。为了让这个版本取得成功,许多活动被推到了后台。
尽管如此,我们收到了大量的报告,涉及了各种项目,这些项目要么已经进入了 FreeBSD 6.0,要么开始在如今被称为 7-CURRENT 的版本中开发。下周在巴塞尔举行的 EuroBSDCon 和开发者峰会将是一个很好的机会,帮助这里的一些想法起飞。
上一次,我们很高兴介绍了我们被接受的谷歌编程之夏项目。现在,夏天已经结束,我们更高兴地加入了关于这些项目成果的报告。一些项目已经进入了 FreeBSD 源码,或者以其他方式公开发布——最显著的是新的网页设计。
不幸的是,这次出版由于各种原因被推迟了——其中之一就是前面提到的 6.0 版本发布。因此,某些报告可能已经不如收到时那么及时,我们建议大家——尤其是这次——访问网页链接,获取更多的最新信息。
再次感谢所有提交报告的人,对这次延迟我们深感抱歉。
链接
http://wiki.freebsd.org/moin.cgi/BSDInstaller
联系人:Andrew Turner <soc-andrew@FreeBSD.org>
到 8 月底,我成功地修改了发布构建过程,构建了一个可以加载前端和后端的 Live CD。它可以安装所有的 distfiles、安装 Ports,并且具备最基本的安装和卸载包的支持。
自谷歌编程之夏结束以来,我一直在努力将新的 Lua 后端集成进来。这个过程已取得成功,现在它已经超过了 BSDINSTALLER-BETA-1 发布的阶段。它现在可以安装 distfiles,但还不能安装 Ports 或包。
链接
联系人:Christoph Mathys <cmathys@bluewin.ch>
在“编程之夏”期间,我在 csup(一个用 C 重写的 CVSup)上工作。它已经支持 checkout 模式,因此我的任务是实现对 cvs 模式的支持。该项目的最大部分是实现对 rcs 文件的支持。作为“副产品”,我还编写了必要的代码,用于创建节点/硬链接和使用 rsync 算法更新文件。据我所知,代码运行良好,但错误处理几乎不存在。
待办事项
错误应得到适当处理
支持获取修复
支持 rcs 文件更新的难点已经完成,但没有校验和,某些选项未被尊重,性能可以进一步改进
链接
联系人:Emily Boyd <soc-emily@FreeBSD.org>
联系人:Murray Stokely <murray@FreeBSD.org>
联系人:Web Team <freebsd-www@FreeBSD.org>
新网站已经上线!感谢 Emily Boyd 的辛勤工作。自网站上线以来,我们仍有很多工作要做,以整合用户提出的建议。新的 CSS 设计使得快速更改网站的外观变得更加容易,因此可以轻松进行实验。我们仍在寻找更多的 HTML/CSS 设计师,帮助我们改进网站。
链接
联系人:Csaba Henk <soc-chenk@freebsd.org>
Fuse for FreeBSD 是我的“基于 SSH 的 FreeBSD 网络文件系统”SoC 项目的成果。
为 FreeBSD(6.x 和 7.x)实现了 Fuse 项目(Fuse 项目)提供的全面用户空间文件系统 API 的内核接口,并且采用 BSD 许可证。这为将 Fuse 基于的丰富文件系统移植到 FreeBSD 提供了可能性。
现在它已经准备好供更广泛的受众使用。Port sysutils/fusefs-kmod、sysutils/fusefs-libs、sysutils/fusefs-sshfs 预计将在接下来的几天内整合到 FreeBSD Ports 中(这些 Port 由 Anish Mistry 创建并维护,Simon Barner 的细致审查也大有帮助)。
待办事项
实现缺失的功能,如扩展属性和属性/名称缓存(带超时)。
解决 autotools 问题并将用户空间的修改集成到 Fuse 代码库中。
将 Fuse 基于的文件系统和语言绑定移植到 FreeBSD。
创建 sysfs(Fuse 基于的文件系统接口到 sysctl)。
在各种环境下进行测试。
链接
联系人:Ivan Voras <ivoras@yahoo.com>
Gjournal 提供了 GEOM 级别的日志记录和 COW 功能,适用于存储设备。不幸的是,它不能作为文件系统日志记录(fsck 在使用 gjournal 设备托管文件系统时仍然需要)。开发进展已放缓,现有代码需要更多的测试。如果有持续的兴趣,我可能会将功能拆分为两个项目,一个处理 COW,另一个处理日志记录,以使代码更加简洁。
待办事项
需要更多的测试。
联系人:Chris Jones <soc-cjones@freebsd.org>
已于 2005 年 8 月底完成 gvinum 中的移动和重命名对象的支持。所有 gvinum 对象(驱动器、子磁盘、Plex 和卷)都可以被重命名,子磁盘可以从一个驱动器移动到另一个驱动器。此外,还创建了 gvinum 的手册页。
待办事项
更新 FreeBSD 手册中有关 vinum 的章节,以反映 gvinum 的变化。进展缓慢,但希望在年底前完成,前提是工作量允许。
链接:
http://wiki.freebsd.org/moin.cgi/PaoloPisati
联系人:Paolo Pisati <p.pisati@oltrelinux.com>
该项目已完成所有计划目标,以下是 libalias 中实现的新功能:
与内核中的 IPFW 集成
支持 4.x 和 5.x 版本作为 kld
从单体架构转换为模块化架构,增加了在运行时加载/卸载对新协议的支持(模块可以在内核和用户空间中工作)
在内核空间中增加了日志记录支持
欢迎提出其他改进建议。
待办事项
欢迎进行测试和反馈。
链接:
http://people.freebsd.org/~harti/bsnmp/index.html
http://wiki.freebsd.org/moin.cgi/ShteryanaShopova
http://wiki.freebsd.org/moin.cgi/SnmpMonitoringModulesStatus
联系人:Philip Paeps <philip@FreeBSD.org>
联系人:Shteryana Shopova <soc-shteryana@FreeBSD.org>
今年夏天,我们有幸邀请到两位谷歌编程之夏学生参与开发我们的 SNMP 监控机制。Victor 在 bsnmpd 中实现了主机资源、TCP 和 UDP MIB,而 Shteryana 开始开发客户端 SNMP 工具。
通过这些模块和工具,FreeBSD 安装可以在不安装任何(笨重的!)第三方工具的情况下进行监控。
待办事项
尽管目前在 Perforce 中的模块和工具通常是功能性的,但在提交到 CVS 之前仍需要进行一些整理(style(9))和测试。 在撰写本文时,Hostres MIB 在 Perforce 中已经几乎可以提交(
//depot/user/philip/bsnmp/...
),其他模块和工具位于//depot/projects/soc2005/bsnmp/...
它们将在整理后分支并提交,“马上”[tm]。非常欢迎测试人员。 :-) 请告知我们任何 bug!
链接
联系人:Anders Persson <soc-anders@freebsd.org>
netstat 中对内核专用数据结构(如 ifnet 等)的依赖几乎已经完全删除(AppleTalk 和 IPX 仍需工作)。为了移除这些依赖,netstat 的调试功能也被移除。然而,创建一个通用的模块化“数据结构”检查工具的项目仍在进行中,netstat 中的调试功能已被迁移到该工具中。
待办事项
重构 netstat 代码,创建一个模块化版本,类似于 ifconfig。
数据结构检查工具需要完成,目前的状态更像是原型。
链接
联系人:R. Tyler Ballance <tyler@tamu.edu>
简而言之,launchd 可以在 FreeBSD 上完美运行,结合 launchctl,它可以通过 launchctl(1) 接口管理守护进程。到目前为止,作业可以通过两种方式从 launchctl(1) 添加和管理:一种是使用 zarzycki@ 的实验性“submit”命令,另一种是使用我简陋的“launcher”格式(launchd/launchers/*.launch),该格式使用 property(3) 解析出三个简单而重要的细节。程序标签、路径和程序标志。通过“load”命令,可以将数据加载到 launchctl(1) 中,然后使用“start”命令启动进程。作业可以通过“remove”命令被移除或停止。至于“limit”命令,它仍然会让 launchctl(1) 进入无限循环,我计划修复这个问题。
有一些事情需要修复,首先是某种启动时的集成,无论是作为 init 替代(即 PID 1,类似 Mac OS X)还是作为从 init 启动的第一个程序,启动所有 rcng 相关的任务。此外,更重要的是,开发一个 plist 解析器,以便通过 Core Foundation 完全兼容 Mac OS X 的 launchd。
我还在尝试将 launchd(8) 的许可证更改为 BSD 许可证,而不是 APSL,如果有人有任何建议或方法,请通过 tyler@tamu.edu 联系我。
待办事项
使用 lex 和 yacc 编写一个轻量级 plist(非 XML)解析器。
链接
http://wiki.freebsd.org/moin.cgi/NsswitchAndCachingFinalReport
http://wiki.freebsd.org/moin.cgi/MichaelBushkov
联系人:Michael Bushkov <>
nsswitch / 缓存守护进程项目是在谷歌编程之夏项目中开发的。几乎所有项目目标都已实现。感谢 Brooks Davis 和 Jacques Vidrine,他们是我的导师,并给予了我极大的帮助。
nsswitch 子系统被扩展以支持新的源(服务、协议、rpc、openssh 和 GT4)。对于 nsswitch 支持缓存,缓存守护进程在缓存库的基础上实现,该缓存库也是在 SoC 期间开发的。当前版本的守护进程使用简单的 nscd 样式配置文件,并且似乎稳定。为了完成 SoC 项目,开发了启用了进程内缓存的 libc 实验版本,最近将进行基准测试。
有些请求要求缓存守护进程能够像 NSCD 一样执行实际的 nsswitch 查找,因此它已被修改以支持此功能。但当前实现有一些限制,且需要大量测试。目前正在对项目源代码进行最后的润色,以便将其添加到 CURRENT 中。
待办事项
扩展缓存守护进程以支持 NSCD 功能。
测试 Globus Grid Toolkit 4 补丁。
向 nsswitch 添加对 MAC 和审计相关配置文件的支持。
链接
联系人:Harti Brandt <harti@freebsd.org>
联系人:Philip Paeps <philip@freebsd.org>
联系人:Victor Cruceru <soc-victor@freebsd.org>
为 BSNMP 代理实现了新的 MIB:
HOST-RESOURCES-MIB(http://www.ietf.org/rfc/rfc2790.txt)。Philip 将提交代码到 CVS 仓库。
支持 IPv4 和 IPv6 的 TCP-MIB(http://www.ietf.org/rfc/rfc4022.txt)。这个新的 TCP-MIB 与旧版(仅支持 v4)完全兼容。它清晰地区分了活动和被动的 TCP 端点,并且为每个端点提供了属于的进程信息。
支持 IPv4 和 IPv6 的 UDP-MIB(http://www.ietf.org/rfc/rfc4113.txt)。这个新的 UDP-MIB 与旧版(仅支持 v4)完全兼容,并且它支持多个实例的 UDP 端点,并为每个端点提供使用它的进程信息。
待办事项
对于 HOST-RESOURCES-MIB,我们将添加基于 libmemstat(3) 的更详细的内存统计支持。
完成其他 IPv6 MIBs 的工作。
为支持 FreeBSD 配置的 SNMP(通过 SNMP SETs)添加 FreeBSD 企业版 MIBs。
链接
联系人:Brian Wilson <polytopes@gmail.com>
联系人:Scott Long <scottl@FreeBSD.org>
Scott 一直在将日志记录挂钩插入到 ufs 和 ffs 文件系统代码中。Brian 在平衡学业的同时,重新设计了在实际 SoC 项目结束时认为有必要更新的各种内容。
待办事项
完成内部块管理代码的重新设计。
集成和测试 ffs/ufs 挂钩及日志记录代码。
更新用户态工具,以便了解并使用日志。
类似 XFS 的日志缓冲管理与虚拟内存子系统连接。
链接:http://ivoras.sharanet.org/projects/ggtrace.html
联系人:Ivan Voras <ivoras@yahoo.com>
ggtrace 是“GEOM gate 跟踪器”,用于在 FreeBSD 上跟踪存储设备的 I/O 请求。它利用 FreeBSD 的 ggate 功能,连接到文件或设备,并生成可以用于任何 I/O 的设备,包括托管文件系统。
I/O 请求以移动直方图的形式呈现,可用于辨别存储设备中最常被使用的部分。ggtrace 的一个用途是分析文件系统如何安排和访问存储设备上的数据。
该项目正在工作并且仅在 RELENG_6 分支上可用。
链接:ftp://ftp.cs.huji.ac.il/users/danny/freebsd/iscsi-12.tar.bz2
联系人:Daniel Braniss <danny@cs.huji.ac.il>
这个 iSCSI 内核模块及其配套控制程序仍在开发中,但主要部分似乎已经正常工作。第二轮公开测试已经开始。
待办事项
登录 CHAP 认证
摘要
网络断开恢复
联系人:Scott Ullrich <sullrich@gmail.com>
pfSense 是一个基于 m0n0wall 的操作系统平台,具有完全不同的目标,如使用 Packet Filter、FreeBSD 6、ALTQ 进行优异的包队列处理,并最终集成一个软件包管理系统,以便通过新功能扩展环境。
工作正在继续,目的是在 FreeBSD 6 发布之前使 pfSense 稳定。待 FreeBSD 6 发布,pfSense 将进入最终的 beta 和发布候选阶段,为 1.0 版本发布做准备。
待办事项
稳定化安装程序(安装后无法加载内核错误)
完成出站负载均衡监控
修复最后时刻出现的 bugs
联系人:David Xu <davidxu@FreeBSD.org>
FreeBSD 内核非常强大,但仍然缺少一些实时 POSIX 功能,例如 sigqueue。大部分代码已经准备好,目前正在进行测试。
待办事项
POSIX 定时器,timer_xxx 系统调用
链接
联系人:Max Laier <mlaier@freebsd.org>
联系人:Andrew Thompson <thompsa@freebsd.org>
从 9 月 27 日起,旧版 bridge(4) 实现已从 HEAD 移除,并将不再包含在 FreeBSD 7 及以后的版本中。FreeBSD 6 将作为过渡期。功能完整的替代品 if_bridge(4) 已经在 FreeBSD 5(不过尚未包含在 5.4 版本中)、FreeBSD 6 和 -CURRENT 中提供。任何问题应报告给 Andrew Thompson,他正在维护 FreeBSD 中的 if_bridge。
待办事项
在手册和其他参考材料中记录这一变化。
链接
联系人:Alexander Leidinger <netchild@FreeBSD.org>
志愿者的待办事项列表(请参见最后的报告了解更多)目前正在由一些 doc@ 人员审阅中。
链接
联系人:Joseph Koshy <jkoshy@FreeBSD.org>
这个项目实现了一个内核模块(hwpmc(4))、一个应用程序编程接口(pmc(3))以及一些简单的应用程序(pmcstat(8) 和 pmccontrol(8)),用于使用现代 CPU 中的事件监控硬件测量系统性能。
过去三个月主要用于修复 bugs 和调整代码。还有一些小功能和未完成的工作需要处理。完成这些后,我希望能够开始开发一个图形化的性能分析器。
链接
联系人:Warner Losh <imp@freebsd.org>
由于一封电子邮件错误,6 月的报告未能提交,因此此报告涉及了过去 6 个月的内容。
总结:NEWCARD 的 16 位部分已大大增强。此外,电源控制已变为中断驱动。一些驱动程序已开始利用新功能。
pccard 层现在导出了每个设备的 CIS,即使没有该卡的驱动程序或卡的某些部分。
电源开启和重置序列现在是中断驱动的。这消除了系统在插入卡片后常常经历的长时间暂停。我们可以在插入或移除卡片时播放无故障的音频。
PC 卡现在可以识别更多的卡片。此外,驱动程序现在可以读取 CIS 获取更多有关卡片的信息。驱动程序已增强以在适当情况下读取 CIS 中的 MAC 地址等信息。
ed 驱动程序现在可以附加 AX88190 和 AX88790 快速以太网 PC 卡芯片的 MII 总线。这使得需要帮助的 PHY 芯片能够更好地报告状态并增加功能。ed 驱动程序还支持 Tamarack TC5299J 芯片组(包括附加其 MII 总线),这是唯一支持这一功能的开源操作系统(TC5299J 卡可以与其他开源操作系统一起使用,但它们无法报告状态或附加 MII 总线)。
已修复 pccard 或 cardbus 驱动程序中的若干 bug。大部分这些更改已合并到即将发布的 6.0 版本中,其他的将在发布后合并。
待办事项
ExpressCard 笔记本电脑已经出现,配备了 ExpressCard/54 和 ExpressCard/34 插槽。尚不清楚支持它们所需的工作量。
cbb 的 ISA 附加需要工作以使其完全功能化。
需要编写一个用户态的 CIS 解析器。基于 pccardc 的 CIS 解析器还可以,但它对 MFC 卡的支持不好。理想情况下,解析器应生成与 Linux 工具兼容的输出。
需要一个 CIS 覆盖机制。我们需要一个工具,它能将 CIS 的 ASCII 表示转换为二进制格式,并安装到内核中,同时需要内核修改来切换使用卡片中的 CIS 或伪造的 CIS。
我们需要一种机制来创建伪多功能卡。最初,似乎我们只需要任意驱动程序能够添加一个 sio 配件,因为这涉及了我知道的所有情况。资源需要从创建驱动程序“捐赠”给 sio 卡。
如果我们能转向更通用的 CIS 解析和调度机制,那将很好。目前,CardBus 端几乎没有任何使用 CIS 信息的 PCI 驱动程序,除了少数通过标准接口获取 MAC 地址的驱动程序。
ep 驱动程序需要工作,以使得带有 mii 总线的新 ep 卡能够实际探测并附加它。还需要为非 mii 基的卡片增加媒体支持。3C1 驱动程序仍需要修复。
sn 驱动程序需要工作,以支持许多 SMC91Cxxx PC 卡设备。这些通常是组合卡,需要特别的非标准初始化。
通过在 3.3V 而不是 5.0V 电压下启动 16 位卡片,可以实现节能。并非所有卡片都支持这一点,但许多卡片可以,并且在 CIS 中标明了这一支持。Windows 会先尝试 3.3V 配置项再尝试 5.0V 配置项。我们应该做同样的事情。
已经对 pccard 和 cardbus 层所做的大部分更改可以合并回 RELENG_5。
链接
联系人:多媒体邮件列表 <multimedia@FreeBSD.org>
联系人:Ariff Abdullah <skywizard@MyBSD.org.my>
联系人:Alexander Leidinger <netchild@FreeBSD.org>
最近,特别是在格式/速率转换和一般稳定性方面,很多修复已提交至 -current。包括修复了大部分 LOR 问题,并新增了一些功能(如为没有硬件音量控制的声卡提供软件音量控制和切换到 SPDIF 的可能性)。
Ariff(及其他人)付出了大量努力来完成这些改进。正因为如此,Ariff 被“奖励”以获得提交权限,从而可以继续独立提交改进。
由于一些遗留问题(见下文的 'sndctl'),这些工作尚未整合到 6.0-RELEASE 中。
你可以通过查看 GNATS 中与声音相关的 PR 并提交反馈,告诉我们问题是否仍然存在,或是否可以关闭 PR 因为 bug 已修复。同时也欢迎提交补丁,解决下面 TODO 列表中的问题。
待办事项
更新手册页面以反映新功能。
修复驱动程序特定问题(via、t4dwave、maestro)。
使所有驱动程序 MPSAFE。
重写某些部分(例如,新的 mixer 子系统与 OSS 兼容)。
sndctl(1):工具,用于控制声音系统的非 mixer 部分(例如,SPDIF 切换、虚拟 3D 效果),由用户控制(而不是 -current 中的 sysctl 方法);包括 pcmplay(1)、pcmrec(1)、pcmutil(1)。
可插拔的 FEEDER 基础设施。用于调试各种 feeder 内容/作为用户空间库和测试套件。
支持新硬件(envy24、Intel HDA)。
性能提升(通过“从属”通道,变更正在审查中)。
更紧密地与 OSS 兼容,特别是与即将发布的 OSS v4 兼容。
关闭大量 PR。
在 FreeBSD 架构手册 中记录声音系统。
链接:http://people.freebsd.org/~pho/stress/
联系人:Peter Holm <pho@freebsd.org>
当前版本的测试套件在年初形成,经过与 Jeff Roberson 的讨论,在长时间测试 Jeff 的 VFS SMP 工作期间开发完成。
那时,Daniel Seuffert 捐赠了一块 Thunder 7500 主板,配有 CPU、RAM 和散热器。这使我能够进行一些严肃的 SMP 测试。
7 月中旬,Murray Stokely 建议在 6.0 的待办网页中添加一个链接,指向压力测试状态页面。那时出现了一些反复发生的内核崩溃问题,使得很难对内核进行其他问题的测试。许多人在接下来的几个月里为修复这些崩溃和死锁付出了大量努力。与此同时,其他人也介入并在他们自己的硬件上运行测试套件,从而增强了对内核稳定性的关注。
截至 6.0,内核压力测试套件不能使内核崩溃。
链接
联系人:Brooks Davis <brooks@FreeBSD.org>
联系人:Sam Leffler <sam@FreeBSD.org>
OpenBSD 重写版的 dhclient 已被导入,替代了 ISC dhclient。OpenBSD 客户端提供了更好的无线网络漫游支持和更简单的操作模型。每个网络接口有一个独立的 dhclient 实例,而不是每个系统一个实例。当链路丢失时,该实例会自动消失,且在链路恢复时通过 devd 重新启动。为了支持这一变更,网络接口配置过程的许多方面进行了彻底的改革。
当前代码在大多数情况下工作良好,但仍需要更多的测试和优化。一些 bug 正在跟踪中,但大多数是边缘情况。
针对 FreeBSD 7.0,进一步的接口配置增强工作正在进行中。
链接
http://people.freebsd.org/~brooks/pubs/eurobsdcon2004/
http://www.freebsd.org/projects/dingo/
联系人:Brooks Davis <brooks@FreeBSD.org>
该项目旨在清理网络接口的处理,以确保接口可以可靠地被移除。目前的问题包括当 Dummynet 延迟数据包到某接口时,如果该接口被移除则会发生内核崩溃。
我已经从设备驱动程序结构中移除了结构体 ifnet 和二层通用结构。这将最终允许它们在设备移除时得到妥善管理。此代码已提交,并将在 6.0 中出现。流行的驱动程序仍在继续修复。jhb 的锁定工作已识别并修正了许多问题。rwatson 也提交了对多播代码的清理,修复了这一领域的一些问题。
链接
链接:http://people.freebsd.org/~andre/tcpoptimization.html 链接:http://www.freebsd.org/news/status/report-mar-2005-june-2005.html#Fundraising---TCP-&-IP-Routing-Optimization
联系人:Andre Oppermann <andre@freebsd.org>
筹款活动非常成功,我要感谢所有支持并捐款的人。在非常短的时间内,筹集了全部金额以及一些额外资金。更多关于确切金额及其赞助商的信息可以在第一个链接中找到。
由于 FreeBSD 6.0 发布过程中的代码冻结时间(比预期的要长,且冻结的质量非常高),我决定推迟全职工作,直到冻结期结束。目前,我已在本地代码库中完成了一些 mbuf 处理和其他 netinet 清理工作。
待 FreeBSD 6.0 发布,我将恢复该项目的工作,并将许多更改和优化(如第一个和第二个链接中所述)合并到 FreeBSD-current 中。
联系人:Rink Springer <rink@rink.nu>
联系人:Ed Schouten <ed@fxq.nl>
截至 2005 年 7 月 26 日,通过一些小的修补工作,已可以在 Xbox 上运行 FreeBSD。现在支持帧缓冲区;USB 端口、IDE 和音频控制器得到了完全支持;目前唯一严重缺乏支持的是 NForce 网卡控制器。
目前,工作重点是消除 XBOX 内核选项,使该移植版自我识别;这意味着 x86 和 xbox 内核将是相同的。目标是在 7-CURRENT 中提供原生的 Xbox 支持。
此外,还计划从 Linux 的 GPL 强制驱动程序(forcedeth.c)进行移植;不仅 Xbox 移植版将从中受益,所有 NForce 主板的用户也将受益。生成的驱动程序可以通过 kldload 加载,从而保持内核的 GPL-free。
待办事项
Xbox 帧缓冲驱动程序应并入 VESA 框架,以便可以使用 syscons(4)。如果有人能提供帮助,我们将不胜感激!
链接
联系人:Peter Grehan <grehan@freebsd.org>
该项目一直在按照 6.0 发布计划进行,已经发布了 BETA-*
版本,现在已经到了 RC1 构建版本。
Dario Freni 成功为他的编程之夏项目构建了 FreeSBIE/ppc ISO 文件。
链接
联系人:Joe Marcus Clarke <marcus@FreeBSD.org>
联系人:FreeBSD GNOME 团队 <gnome@FreeBSD.org>
自我们上次的状态报告以来,我们的团队迎来了新成员:Jean-Yves Lefort (jylefort)。我们还在我们的 联系页面 加入了我们的照片,在某些情况下,还加上了一只可爱的河马。我们的 Adam Weinberger (adamw) 也被任命为 GNOME 项目的提交者,并负责加拿大英语翻译项目。
我们已经完成了 GNOME 2.12 的移植到 FreeBSD。然而,由于 6.0-RELEASE 发布前的 Ports 冻结,这一更新尚未并入官方 Ports。如果大家渴望在等待 Ports 完全解冻的过程中尝试 GNOME 2.12,我们在我们的网站上提供了 相关说明。GNOME 2.12 将是第一个不支持 FreeBSD 4.X 的 FreeBSD GNOME 发布版。虽然 4.X 仍然是一个非常适合服务器的版本,但它缺少许多 GNOME 桌面环境所需的功能。然而,我们计划继续支持 GNOME 开发平台在 4.X 上的运行,包括 Glib、GTK+、libgnome 等。GNOME 2.12 将引入一个新的移植组件,称为 ltverhack
。它将有助于未来的升级,防止共享库版本不必要的变化。
FreeBSD GNOME 项目还致力于为我们的用户提供稳定的包管理体验。为此,我们扩展了我们的 Tinderbox,为所有受支持版本的 FreeBSD 构建 amd64 包,涵盖生产和开发版本的 GNOME 桌面。开发包甚至还带有调试符号,以便更好地帮助我们报告问题。
待办事项
FreeBSD 需要 HAL Port。HAL 对于 GNOME 和 KDE 提供流畅、优雅的桌面体验至关重要。待 GNOME 2.12 被并入 Ports,此工作将开始让 FreeBSD 上的 HAL 成为现实。如果你有兴趣帮助,请联系 gnome@FreeBSD.org。
我们需要项目文档的帮助。特别是,我们需要帮助审计 FAQ,确保内容仍然相关,并且我们没有遗漏任何重要内容。如果你感兴趣,请联系 gnome@FreeBSD.org。
链接
联系人:Dan Langille <dan@langille.org>
我正在为网站添加个性化新闻提要。对于每个你的 Watch List,你将拥有一个专门的新闻提要。所有对你监视列表中的 Port 的提交都会显示在你的新闻提要中。这个非常棒的新功能现在已在 BETA 网站 上提供,欢迎通过 RSS 订阅。我还在支持多个平台和架构方面做了一些工作。这将使 FreshPorts 能够正确报告某个 Port 在某些平台(例如 i386)上已损坏,但在其他平台上未受影响。这个功能会记录以下架构的 BROKEN、FORBIDDEN 和 IGNORE 状态:
alpha
amd64
i386
ia64
sparc64
以及以下的 OSVERSIONS(随着新版本发布可能会更新):
492100
504102
600033
700001
即将进行的变化包括:
NOT_FOR_ARCHS
ONLY_FOR_ARCHS
IS_INTERACTIVE
我得到了 IRC 上许多人的有用帮助,感谢大家。
待办事项
完成上述工作。
链接
FreeBSD Ports 无法获取的 distfile 调查(Bill Fenner 的报告)
FreeBSD Ports 已更新 distfile 调查(Edwin Groothius 的报告)
联系人:Mark Linimon <linimon@FreeBSD.org>
自上次报告(4 月份)以来,Ports 的工作进展非常大,许多工作都在幕后进行。
在编写本报告时,6.0 版本正在发布中。由于 6.0 发布经历了漫长的 beta 过程并进入 RC 阶段,我们已经经历了超过两个月的 Ports 冻结或临时停滞期。不幸的是,这耽搁了 Ports 基础设施上必要的工作。
5 月初对 bsd.port.mk 的最后一次重大更新是由 Kirill Ponomarew 协调的,添加了许多新功能并解决了 15 个 PR。另一组类似的变更已经过测试,发布后可以提交。
portmgr 团队欢迎了两位新成员加入:Erwin Lansing(之前担任秘书,继续承担此角色)和 Clement Laforet。Clement 有兴趣加快新变更在基础设施中的采用,我相信每个人都会支持这一点。他承诺将带来一些新思路,包括将 devel/portmk 重新活跃起来,作为测试 bsd.port.mk 中新变更的试验场,广大社区可以帮助测试这些变更。
长时间没有更新的无法获取 distfile 调查已由 Bill Fenner 重新启动,并添加了许多新页面进行分析。目前仍在进行中。通过此分析,Bill 和 Mark Linimon 从 bsd.sites.mk 中删除了近 100 行无效或过时的站点。随着调查的不断推进,他们仍在继续工作,处理其他站点和 Ports。我们仍然需要更广泛社区的帮助(见下文)。
Edwin Groothius 实施了一个类似但略有不同的调查。他的程序会访问每个列出的主站点,检查是否有更新版本可用。结果存储在数据库中。这有助于自动化此前由个别维护者查找更新的任务。该调查受到了极大的欢迎,甚至已经直接促成了数十个 Port 更新的提交。
此外,由于机器更换,portsmon 曾一度无法使用,现在已迁移到 portsmon.FreeBSD.org,并进行了更新。特别感谢 Erwin Lansing 提供这台机器的借用,并感谢 Will Andrews 提供了之前版本的机器。
以上两项调查现在都向 Port 维护者定期发送电子邮件,提醒他们有关问题。这些邮件是除定期邮件外的额外通知。调查允许维护者选择不再接收邮件。portsmon 目前没有此功能,但它需要添加。尽管我们知道有时邮件会带来一些困扰(尤其是考虑到可能会有一些误报),但事实是,这些邮件已经直接改善了 Port 的质量。我们请求社区的耐心,同时我们会继续优化生成邮件的算法。(由于这些系统生成大量邮件,因此不可能逐一检查每封邮件以确保其合理性)。
由于以上邮件退信,我们也重新设置了那些无法联系到的维护者。
Pav Lucistnik 在 Porter 手册上做了大量工作,包括一些需要的重新整理和清理。扩展的部分包括 Apache 和 PHP;配置脚本;共享库的处理;用户配置文件的处理;空目录的处理;Python 和 Ruby。此外,Edwin Groothius 还贡献了一个关于 OPTIONS 的部分,其他部分也得到了不同贡献者的改进。
Sam Lawrance 准备了一篇新的文章《维护和贡献 FreeBSD Ports 》,这篇文章已经过审阅,并准备提交。该文档旨在规范 Ports 维护者的权利和责任,这在过去一直只是通过邮件列表讨论的“社区传说”。
我们继续定期增加新的提交者,自上次报告以来新增了 8 名。
目前,Ports 已包含 13,500 余个 Port。自上次报告以来增加了 750 余个。
待办事项
portmgr 希望维护者和提交者能够查看他们在两个 distfile 调查中的 Port 状态,分别是无法获取当前 distfile 和可能已更新的 distfile。这是帮助快速改善用户对 Port 状态感知的有效方法。
我们在清理安装文件不符合规定目录或卸载不干净的 Port 方面取得了很大进展(见 pointyhat 上的 “Extra files not listed in PLIST”)。得益于众多个人的努力,这些 Port 现在已经很少了。
我们仍然有大量的 PR 已经分配给提交者一段时间(实际上,它们占大多数)。portmgr 成员现在正在检查这个列表,要求每个提交者要么提交它们,要么将它们释放给公共池,供其他人处理。此外,针对长期未处理的维护者(PR 超过两周;没有活动的维护者超过三个月)的现有政策将比以前更加严格执行,目的是尽可能保持 Port 的最新状态。(尽管在许多方面已有进展,但仍有一些 Port 出现了 bit-rot)。
链接
联系人:Joe Marcus Clarke <marcus@FreeBSD.org>
联系人:Tinderbox List <tinderbox-list@marcuscom.com>
Ports Tinderbox 是一个用于在干净环境中构建 FreeBSD Ports 的打包系统。它可以用来测试新的 Port 、更新现有 Port,或仅作为一个包构建引擎。Tinderbox 使用与官方 FreeBSD 包构建集群(pointyhat)相同的底层代码。因此,如果一个 Port 在 Tinderbox 中构建成功,它也必定能够在 pointyhat 中构建。
越来越多的 FreeBSD 提交者和 Port 维护者开始使用 Tinderbox。我们刚刚发布了 2.1.0 版本,新增了广受请求的 PostgreSQL 支持,并修复了许多 bugs。我们预计很快会发布 2.1.1 版本,修复一些额外的 bugs。
随着 Tinderbox 2.1.0 版本的发布,我们已经分支了代码库,这样我们可以在 HEAD 分支中专注于更大的功能,同时仍能定期发布稳定版本。Tinderbox 3.0 计划的最大新功能是集群支持,Ade Lovett(ade)正在领导这项工作。
待办事项
目前,我们非常需要文档方面的帮助。我们已经开始为各种 Tinderbox 命令创建 man 页面,但我们需要帮助以更快的速度完成这些工作。如果你擅长 mdoc 并且有兴趣提供帮助,请联系 marcus@marcuscom.com。
链接
联系人:Roman Kurakin <rik@FreeBSD.org>
新的 netgraph-to-zaptel 模块,能将 E1 (ISDN PRI) WAN 适配器用作开源 PBX——Asterisk 的接口卡。所需的只是一个能够在原始电话模式下工作的适配器(如 Cronyx Tau-PCI/2E1),即没有 HDLC 样的帧结构并且支持 Netgraph。
OpenBSD 包过滤器 - pf
链接
联系人:Max Laier <mlaier@freebsd.org>
对 pfsync 进行了进一步改进,以使其在 SMP 环境中表现良好。所有 bug 修复都已被 MFC(合并到 RELENG_5)并且适用。通过 OpenBSD 导入的一些 bug 修复和功能改进(最初由 FreeBSD 用户建议)也已完成。
如上次报告所述,FreeBSD 6.0 及未来的 RELENG_6 发布将基于 OpenBSD 3.7。新代码将在 6.0 稳定后尽快导入。
链接
联系人:Dan Langille <dan@langille.org>
我们正在招聘新成员加入程序委员会。如果你希望在被招募之前自愿参与,请与我联系。
2006 年的日期已公布:2006 年 5 月 12-13 日。地点与之前的活动相同:渥太华大学。价格与 2005 年相同。
请开始思考你的论文。征文通知很快会发出。
EuroBSDCon 2005 - 巴塞尔
联系人:信息 <info@eurobsdcon.org>
在瑞士巴塞尔举行的第四届欧洲 BSD 大会是一个向社区展示新想法并与不同 BSD 的开发者见面的绝佳机会。
为期两天的会议程序(11 月 26 日和 27 日)将由会前的教程日(11 月 25 日)进行补充。
FreeBSD 开发者将在 11 月 24 日和 25 日举行 DevSummit,因此几位开发者将出席会议。
会议的程序已发布,可以查看星期六和星期天的 FreeBSD 相关演讲和话题。
截至今天,已有来自 25 个国家的 160 多人注册参加会议。
最后更新于
这有帮助吗?