FreeBSD 2023 年第四季度状态报告

警告

这个页面目前是机器翻译。

这是 2023 年第四份状态报告,涉及 18 个项目。

这是 2023 年最后一个季度。正如你可能已经注意到的那样,这份状态报告比通常要晚一些,报告数量也比上个季度要少。事实上,请记住每年的最后一个季度对我们社区的许多成员来说:是庆祝圣诞节和新年的时节,这意味着社区成员将把更多时间花在与家人团圆上,而在他们花在其挚爱的志愿软件项目上的时间将会更少。因此,报告内容较少且报告往往较晚到达。但最终,它们都在这里了。

祝你阅读愉快。

洛伦佐·萨尔瓦多,代表状态团队。


FreeBSD 团队报告

各种官方和半官方团队的项目,可在管理页面中找到。


FreeBSD 核心团队

联系:FreeBSD 核心团队 core@FreeBSD.org

FreeBSD 核心团队是 FreeBSD 的治理机构。

FreeBSD 项目致力于将 14.0-RELEASE 献给 Hans Petter Selasky。

14.0-RELEASE

FreeBSD 14.0 在 2023 年第四季度末发布。

发布说明可以在下面找到

https://www.freebsd.org/releases/14.0R/relnotes/

新的发布工程团队

多年来担任发布工程师的 gjb@ 离任了。

cperciva@ 接替成为了新的发布工程师。karels@ 担任新的副发布工程师。

核心团队感谢 gjb@ 的长期任职以及由他创建的许多及时的发行版。

FreeBSD 2024 社区调查

在 2023 年底,核心团队与基金会合作进行了 2024 年社区调查。


FreeBSD 基金会

链接:FreeBSD 基金会 网址: https://freebsdfoundation.org/ 技术路线图 网址: https://freebsdfoundation.org/blog/technology-roadmap/ 捐款 网址: https://freebsdfoundation.org/donate/ 基金会伙伴计划 网址: https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/ FreeBSD 杂志 网址: https://freebsdfoundation.org/journal/ 基金会活动 网址: https://freebsdfoundation.org/our-work/events/

联系人:Deb Goodkin deb@FreeBSDFoundation.org

FreeBSD 基金会是一家 501(c)(3) 非营利组织,致力于支持和推广 FreeBSD 项目和全球社区,帮助推进 FreeBSD 的发展。我们通过技术和非技术方式实现这一目标。我们完全依靠个人和公司的捐赠支持,这些投资帮助我们资助以下项目:

  • 在 FreeBSD 中开发功能和特性的软件开发项目

  • 赞助并组织大会和开发者峰会,提供协作机会并推广 FreeBSD

  • 购买和支持硬件,改进和维护 FreeBSD 基础设施

  • 为改进安全、质量保证和持续集成项目提供支持

  • 用于推广、教育和宣传 FreeBSD 的材料和工作人员

  • 商业供应商与 FreeBSD 开发人员之间的合作

  • 在执行合同、许可协议和其他需要认可法律实体的安排时代表 FreeBSD 项目。

我们在 2023 年最后一个季度以以下方式发展 FreeBSD:

操作系统改进

在 2023 年第四季度,有 236 个 src、47 个 port 和 33 个 doc 提交,其赞助商标为为 FreeBSD 基金会。部分由该基金会赞助的工作在单独的报告条目中进行说明。

三名新开发者开始工作。Cheng Cui 全职从事无线网络工作。Cheng 项目的主要目标是协助 Bjoern Zeeb 在 iwlwifi 中支持 802.11ac。Tom Jones 开始将 Vector Packet Processor (VPP) 移植到 FreeBSD。VPP 是一个开源的、高性能的用户空间网络堆栈,提供适用于软件定义网络和网络功能虚拟化应用的快速数据包处理。Olivier Certner 加入了 FreeBSD 基金会担任普通 FreeBSD 开发人员。Olivier 迄今为止的一些贡献包括:

  • 审查、修复和加固几项旨在限制进程能见度的安全策略,这些策略基于用户身份、组成员资格(子 jail 成员资格)

  • 提交修复登录类代码的修复程序,包括允许非特权用户绕过资源限制的修复程序

  • 为受影响的 AMD Zen2 处理器实施针对 Zenbleed 问题的安全硬件修复。

这是 2023 年最后一个季度完成的其他基金会赞助一些工作:

  • arm64:添加 Armv8 rndr 随机数生成器

  • 修复和改进 net80211、LinuxKPI、iwlwifi

  • OpenSSL: 更新至 3.0.11、3.0.12

  • 为准备 FreeBSD 升级所做的各种 freebsd-update 修复

  • ssh: 更新至 OpenSSH 9.5p1

  • 各种 IOMMU 修复

  • 各种 makefs/zfs 修复

要了解我们在 2023 年全年的软件开发工作,请访问 https://freebsdfoundation.org/blog/2023-in-review-software-development/

FreeBSD 基础设施

我们批准了超过 $100,000 的预算,用于集群更新。这项工作始于 2023 年末,将持续到来年:购买和运送 15 台新服务器到 NYI 慷慨捐赠的 4 个机架(位于芝加哥的新设施)中。系统规格由集群管理团队确定,包括:

  • 5 台软件包构建服务器

  • 3 台网页服务器

  • 2 台软件包镜像站

  • 2 台 CI 服务器

  • 2 台防火墙/路由器

  • 1 台管理员堡垒机

更多有关我们 2023 年基础设施支持的信息,请访问:https://freebsdfoundation.org/blog/2023-in-review-infrastructure/.

持续集成和工作流改进

作为我们持续支持 FreeBSD 项目的一部分,基金会聘请全职员工致力于改进项目的持续集成系统和测试基础设施。完整的进度可以在季度状态报告中找到。

合作伙伴关系和研究

在第四季度,我与以下人员、公司和组织取得了联系:Phil Shafer(在 Juniper Networks 工作),我们在 All Things Open 会议上见面。他告诉我对 libxo 库以及他在相关问题上的持续工作,比如重写和过滤输出以允许正则表达式提供更丰富的选项。然后谈论了 Juniper,我还在供应商峰会上遇到了 Simon Gerraty,并聆听了他有关 SecureBoot 的讲话。按字母顺序,我还会见了 AMD 的 Ampere、Center for Internet Security(CIS)、Innovate UK 的Michael Dexter、Metify,Microsoft、NetApp 的一些人员(感谢您的邀请!!),NetScaler、NIST、Nozomi Networks、NVIDIA、Open Container Initiative 社区的成员,OpenSSF,RG Nets,Doug Rabson。

十分感谢能有机会参加 NetApp 年度大会。我在十月份与 NetApp 及其合作伙伴和客户的专家就人工智能、无缝人工智能数据管道、混合云和绿色计算等主题进行了交流。我抓住机会发放了一些 FreeBSD 领带别针 🙂,并与一个 FreeBSD 用户和企业工作组成员建立了联系,他的公司是 NetApp 的客户。

在第四季度,我们宣布了新的 FreeBSD SSDF 认证计划,以帮助 FreeBSD 的商业用户遵守新的美国政府采购法规。该计划收到了 NetApp、Metify 和 NIST 的宝贵反馈,这个想法的起源要归功于我与开源政策专家的合作,特别是通过 OSI 的开放政策联盟。

开放容器倡议技术监督委员会在十二月投票通过 Doug Rabson 的提议,创建一个工作组来扩展 OCI 运行时规范,来支持 FreeBSD。非常感谢所有参与其中的人!FreeBSD 的 OCI 运行时扩展是最需求的功能之一,我很高兴能在协调这一努力中扮演了一个小角色。

十一月的供应商峰会是一个很棒的活动。非常感谢 John Baldwin 和 Anne Dickison 为组织和协调所做的一切工作。我从这次活动中收获颇丰。个人亮点包括与各类用户的交流、CHERI 讨论、最终用户小组讨论以及 Allan 关于成为一个首要上游公司的演讲。关于我们在 2023 年加强伙伴关系和增加资金的努力的完整回顾,请查看:https://freebsdfoundation.org/blog/2023-in-review-partnerships-and-research/。

宣传

组织和参加活动,创建教育性技术内容,扩大在媒体中对 FreeBSD 的报道,这是上个季度我们为支持 FreeBSD 所做的一些工作样本。

  • 帮助组织并赞助了 2023 年 11 月在圣何塞 NetApp 举行的厂商峰会。许多人认为这是迄今为止最好的峰会之一。请务必查看视频。

  • 在北卡罗来纳州的 All Things Open 向新人和老朋友介绍 FreeBSD。

  • 提供了 FreeBSD 14 的概述:安全性、性能和互操作性;介绍 FreeBSD 14

  • 与核心团队合作,发布了 2024 年 FreeBSD 社区调查

  • 参加了关于 FreeBSD 的采访:What the Dev Podcast: FreeBSD 项目的演变

  • 立即发布 2023 年 9 月/10 月期 FreeBSD Journal,所有文章均提供 HTML 版本。

要了解我们在 2023 年为 FreeBSD 做了哪些倡导工作的详细回顾,请查看倡导年度回顾: https://freebsdfoundation.org/blog/2023-in-review-advocacy/ 或每月通讯: https://freebsdfoundation.org/our-work/latest-updates/?filter=newsletter.

筹款

感谢每位上个季度为支持我们的项目工作而给予财务支持的人。您让我们更接近我们的目标,我们对您对 FreeBSD 的投资表示感激!我们仍在通过邮件收到捐赠,将在二月中旬公布最终数字。

请考虑在 2024 年通过在此处捐款来支持我们的努力:https://freebsdfoundation.org/donate/。

或者,查看我们在此处的合作机会:https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/。

法律/FreeBSD IP

基金会拥有 FreeBSD 商标,我们有责任保护它们。我们还为核心团队提供法律支持,以调查出现的问题。

访问 https://freebsdfoundation.org 了解有关我们如何支持 FreeBSD 以及如何帮助您的更多信息!


FreeBSD 发行工程团队

链接:FreeBSD 13.3-RELEASE 计划 网址:https://www.freebsd.org/releases/13.3R/schedule/ FreeBSD 发行版本 网址:https://download.freebsd.org/releases/ISO-IMAGES/ FreeBSD 开发快照 网址:https://download.freebsd.org/snapshots/ISO-IMAGES/

联系:FreeBSD 发行工程团队,< re@FreeBSD.org>

自由 BSD 发布工程团队负责制定和发布自由 BSD 的官方项目发布时间表,宣布冻结代码,并维护各自的分支,等等。

在年度第四季度期间,团队继续进行 14.0-RELEASE 的工作,最终在 11 月发布了最终的发布版本并宣布。已开始计划即将到来的 13.3-RELEASE 和 14.1-RELEASE 周期。

发布工程团队继续为主要和稳定/13 分支提供每周开发快照版本构建,并在 14.0-RELEASE 之后开始为稳定/14 进行每周构建。

经过十多年担任发布工程主管后,Glen Barber 已经退休; 他的副手 Colin Percival 已经成为主管,而 Mike Karels 已经担任副发布工程师。


集群管理团队

链接:集群管理团队成员网址:https://www.freebsd.org/administration/#t-clusteradm

联系人:集群管理团队clusteradm@FreeBSD.org

FreeBSD 集群管理团队成员负责管理项目依赖的机器,用于同步分布式工作和通讯。

在本季度,团队已开展以下工作:

  • 提供对 FreeBSD.org 用户账户的常规支持。

  • 为所有物理主机和镜像提供常规磁盘和部件支持(及更换)。

  • 在 FreeBSD 项目管理的镜像中启用 https://www.FreeBSD.org 和 https://docs.FreeBSD.org 的镜像。

  • 群集刷新,升级所有主机和 jails 到 15-CURRENT、14-STABLE、13-STABLE 和 12-STABLE 的最新版本。

  • 随着 12-STABLE 分支接近生命周期结束,开始逐步淘汰基础架构。

除了这些项目,Modirum 慷慨赞助 Philip 十月大部分时间,我们成功在十一月 14.0-RELEASE 之前及时将 pkgbase 带入“预览”生产阶段。

我们还在瑞典 Sjöbo 安装了一个新的欧洲镜像站点,由 Teleservice Skåne AB 赞助。 现在,在欧洲的流量大致平均分布在我们位于德国法兰克福的现有镜像站点(由 Equinix 赞助)和瑞典的新镜像站点之间。 在运行超过十年后,我们计划在 2024 年第一季度停用我们在英国的镜像站点。 我们要感谢 Bytemark Hosting 长久以来支持这个镜像站点。

下一个季度,得到 FreeBSD 基金会的支持,我们计划在芝加哥建立一个新的主要集群站点。

FreeBSD 官方镜像概述

目前的位置包括澳大利亚、巴西、德国、日本(两个完整的镜像站点)、马来西亚、南非、瑞典、台湾、英国(完整的镜像站点)、美国加利福尼亚州、新泽西州(主站点)和华盛顿。

该硬件和网络连接由慷慨捐赠者提供:


持续集成

链接: FreeBSD Jenkins 实例网址: https://ci.FreeBSD.org FreeBSD CI Tinderbox 查看网址: https://tinderbox.freebsd.org FreeBSD CI 构件存档网址: https://artifact.ci.FreeBSD.org 托管的 CI Wiki 网址: https://wiki.FreeBSD.org/HostedCI 第三方软件 CI 网址: https://wiki.FreeBSD.org/3rdPartySoftwareCI 与 freebsd-testing@ 相关的支票网址: https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=_ open_&email1=testing%40FreeBSD.org&emailassigned_to1=1&emailcc1=1&emailtype1=equals FreeBSD CI 代码库网址: https://github.com/freebsd/freebsd-ci dev-ci 邮件列表网址: https://lists.FreeBSD.org/subscription/dev-ci

联系人:Jenkins 管理员 < jenkins-admin@FreeBSD.org> 联系人:Li-Wen Hsu < lwhsu@FreeBSD.org> 联系人:freebsd-testing 邮件列表 联系人:IRC #freebsd-ci 频道在 EFNet 上

在 2023 年第四季度,我们与项目贡献者和开发人员合作,以满足他们的测试需求。与此同时,我们还与外部项目和公司合作,通过在 FreeBSD 上进行更多测试来增强其产品。

重要已完成任务:

  • 将工作添加到使用 GCC 13 构建 amd64 架构(感谢 jhb@)

  • 为 stable-14 添加 powerpc64le 作业配置(感谢 alfredo@)

  • 将主分支和 stable/14 分支的作业构建环境更新为 14.0-RELEASE

进行中的任务:

  • 设计和实现预提交 CI 构建和测试以及基于拉取/合并请求的系统(以支持工作流工作组)

    • 概念验证系统正在进行中

  • 设计和实现使用 CI 集群来构建发布工件,就像发布工程所做的那样,从快照构建开始

  • 简化为贡献者和开发者设置 CI/测试环境

  • 设置 CI 阶段环境并将实验性任务放入其中

  • 重新设计硬件测试实验室并增加更多硬件进行测试

  • 合并 https://reviews.freebsd.org/D38815

  • 合并 https://reviews.freebsd.org/D36257

打开或排队的任务:

  • 收集和整理 CI 任务和想法

  • 为运行测试的 VM 客户机设置公共网络访问

  • 使用裸设备硬件来运行测试套件

  • 添加 drm ports 构建针对-CURRENT 的测试

  • 计划运行 ztest 测试

  • 帮助更多软件在其 CI 流水线中获得 FreeBSD 支持(Wiki 页面:第三方软件 CI, HostedCI)

  • 与托管的 CI 提供商合作,以获得更好的 FreeBSD 支持

请查看与 freebsd-testing@相关的工单以获取更多的 WIP 信息,并毫不犹豫地加入这一努力!

赞助商:FreeBSD 基金会


Ports 集合

链接:关于 FreeBSD Ports 网址:https://www.FreeBSD.org/ports/ 贡献至 Ports 网址:https://docs.freebsd.org/en/articles/contributing/#ports-contributing

Ports 管理团队 网址: https://www.freebsd.org/portmgr/ Ports 压缩包 网址: http://ftp.freebsd.org/pub/FreeBSD/ports/ports/

联系人: Tobias C. Berner < portmgr-secretary@FreeBSD.org> 联系人: FreeBSD Ports 管理团队 < portmgr@FreeBSD.org>

Ports 管理团队负责监督 Ports 树的整体方向、构建软件包以及人事事务。以下是本季度发生的情况。

  • 根据 INDEX,Ports 集合中目前有 31,942 个 ports。目前有约 3,100 个开放的 ports PR。本季度主分支有 157 位提交者提交了 9,424 次提交,2023Q4 分支有 71 位提交者提交了 781 次提交。与上一季度相比,这意味着主分支提交次数大幅减少(从 11,454 减少)和季度分支的回溯次数略有减少(从 828 减少)。ports 的数量也略有下降(从 34,600 减少)。

Q4 主分支有约 9424 次提交。最活跃的提交者是:

sunpoet   2946
yuri       861
bofh       793
jbeich     419
fuz        324
eduardo    168
fernape    160
jhale      153
thierry    146
diizzy     123

在 Q4,我们欢迎 Michael Osipov(michaelo)和 Timothy Beyer(beyert)作为新的提交者,但遗憾的是我们也不得不告别 bland、sbruno、hselasky 和 gjb。

我们邀请了 arrowd、flo 和 riggs 成为接下来几个月 portmgr-lurkers 的一部分。

FreeBSD 12.x 的支持在季度末被移除。

第四季度末还引入了子软件包到 ports 树中。类似于 flavors 被引入时,新子软件包需要 portmgr 的批准才能被推送到树中。使用子软件包可以从单次构建的 port 中创建多个软件包。

基础设施方面发生了以下事情:

  • 为 14.0-RELEASE 构建了软件包

  • Poudriere 已更新至 release-3.4

不再维护的 www/qt5-webkit 已被移除。

postgresql11, php80, mysql57, percona57, ghostscript9 已被移除。

以下默认版本已更改:

  • Perl 升级到 5.36

  • Ghostscript 升级到 10

  • Corosync 升级到 3

发生的主要 ports 更新包括:

  • ports-mgmt/pkg 更新至 1.20.9

  • ports-mgmt/poudriere 更新至 3.4.0(子软件包支持)

  • KDE-bits to plasma-5.27.10, frameworks-5.112, gear-23.08.4, and beta-2

  • www/chromium to 120.0.6099.129

  • www/firefox to 121.0 (rc1)

  • 语言/rust 到 1.74.1

  • …还有更多…

在上个季度内,pkgmgr@ 运行了 26 次实验性运行,测试各种 ports 升级,ports 默认版本更新,子包支持和基础系统更改。


Bugmeister Team and Bugzilla

Links: Bugmeister team URL: https://www.freebsd.org/administration/#t-bugmeister FreeBSD Bugzilla URL: https://bugs.freebsd.org/bugzilla/

Contact: Bugmeister <bugmeister@FreeBSD.org>

我们的 Bugzilla 实例最近进行了维护:

  • 每周提醒邮件现在包括 mfc-*标志查询的正确值;

  • 仪表板页面删除了一个过时的查询。(我们不再使用“patch-ready”关键词;这太繁琐了。因此,对该字段的查询是无用的。)

  • 将最大报告的 PR 数量上限从 10000 提高到 12500。

此外,我们 Bugzilla 上的 Wiki 文档已更新:

  • 页面 https://wiki.freebsd.org/Bugzilla/SearchQueries 已经进行了重大改版:

    • 特别是,已添加关于如何搜索标志值的文档。(这可能以前尚未完成。) 示例:搜索设置了标志'mfc-stable14'的 PR;

    • 这个页面可能会引起所有提交者和贡献者的兴趣;

  • 页面 https://wiki.freebsd.org/Bugmeister/BugmeisterQA 也已更新; 虽然与上述类似,但更具体地适合 bugmeister 和审查者的兴趣。

同样,特定于 FreeBSD 12 的 PR 正在被清除,因为 12 已经在 20231231 之前不再受支持。

我们正在进一步努力记录 Bugzilla 本身的设置,特别是关于我们的定制部分。这是为了使我们自己的存储库与生产环境上运行的内容保持最新。

过去季度(和年度)的 PR 数量保持稳定。然而,我们似乎最近更快地关闭了传入的 PR。供参考:https://bugs.freebsd.org/bugzilla/page.cgi?id=dashboard.html&days=90。

总体 PR 数量仍然约为 11,400。

Bugmeister 也正在努力重新启动 Bugathons。请查看更新的页面 https://wiki.freebsd.org/Bugathons。

Bugmeister 想要感谢许多人协助进行错误修复,包括 Mina Galić、Graham Perrin、Lorenzo Salvadore 和 Fernando Apesteguìa 等人。

除此之外,bugmeister 想要感谢所有帮助处理 PR 的 FreeBSD 提交者。在过去的几个月里,我们似乎更接近稳定状态了。


用户空间

变更影响基本系统和其中的程序。


服务 jails - 自动监禁 rc.d 服务

链接:D40370:自动监禁 rc.d 服务的基础设施 URL:https://reviews.freebsd.org/D40370 D40371:自动服务 jails:一些设置以实现自动服务 jails 的全部功能 URL:https://reviews.freebsd.org/D40371 D42779:Service Jails 的手册/ rc 文章更新 URL:https://reviews.freebsd.org/D42779

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

服务 jails 扩展 rc(8) 系统,以允许自动监禁 rc.d 服务。 服务 jail 继承父主机或 jail 的文件系统,但默认情况下使用其他所有限制 (进程可见性、受限网络访问、文件系统装载权限、sysvipc 等)。 附加配置允许继承父级的 IP、sysvipc、内存页面锁定以及使用 bhyve 虚拟机监视器( vmm(4))。

如果想将例如 local_unbound 放入一个服务 jail 并允许 IPv4 和 IPv6 访问,只需更改 rc.conf(5) 为:

local_unbound_svcj_options=net_basic
local_unbound_svcj=YES

注意:所有基本系统服务都在补丁中进行了覆盖,要么使用 name_svcj_options 或者硬编码禁用了服务 jails 功能,其中它没有意义(例如纯服务会更改运行时配置,但不会启动守护程序,或者在其中运行有些事情无法以明智的方式在 jail 内运行)。 因此,上面的 local_unbound_svcj_options 行是多余的,仅仅作为总配置数量的一个示例。

虽然这种方法不具备与手动 jail 设置相同的安全性好处(使用单独的文件系统和 IP/VNET),但它设置起来要容易得多,同时提供了类似 jail 的一些安全性好处,如隐藏同一用户的其他进程。

自上次服务 jails 状态报告以来,已添加以下内容:

  • 在服务 jails 框架内支持 NFS(未经测试)。

  • 监狱化除了 start 和 stop 之外的其他服务命令的可能性,

  • 在补丁 D40371 中为所有基础系统服务的服务 jails 选项/配置,

  • 在手册中对服务 jails 进行第一步的文档化。

不是所有的服务都经过测试,但所有的服务都有配置。

欢迎进行任何测试和反馈(即使只是简单的“服务 X 在服务 jail 中工作”)。


内核

更新到内核子系统/功能、驱动程序支持、文件系统等。


Packrat - 非易失性存储器上的 NFS 客户端缓存

联系人:Rick Macklem rmacklem@FreeBSD.org

NFSv4.1/4.2 支持一种称为委托的功能。当 NFSv4.1/4.2 客户端持有委托时,客户端对文件具有某些权利,包括保证在委托被撤回之前,没有其他客户端会对该文件进行更改。因此,当客户端持有文件的委托时,它可以积极地缓存文件的数据,知道在返回委托之前,其他客户端不会对其进行修改。

这个项目旨在允许 NFSv4.1/4.2 客户端在客户端持有文件委托时,积极地将文件数据缓存到客户端本地的非易失性存储中。我很久以前创建了一个补丁来尝试为 NFSv4.0 实现这一功能,但当时的状态还不够成熟。这个项目是对该补丁的完全重写,部分原因是 NFSv4.1/4.2 和其他最近的 NFSv4 相关更改使得实现这一目标变得更加可行。

我现在有了运行得相当好的代码,希望在这个冬天有一个补丁准备好供其他人测试。初步测试显示出了希望。在进行“make buildkernel”测试时,启用和未启用 packrat 的测试结果如下:

'表 1。NFS 操作次数

'表 2。经过的运行时间|经过的运行时间(秒)

'正如你所看到的,带有 packrat 的情况运行速度稍快,且 RPC 较少。虽然这个测试是在我的小型局域网上运行的,但希望在 WAN 上进行 NFSv4.1/4.2 挂载会显示更大的性能差异。我会注意到,packrat 缓存通过将 FreeBSD 的/usr/src 的 tarball 展开到 NFSv4.1/4.2 挂载点来初始化。'

这将是一个非常实验性的功能,但希望它能更有效地允许 NFS 挂载的使用,特别是在 WAN 情况下,比如移动笔记本电脑。

仍然有工作要做,特别是在 NFSv4.1/4.2 客户端重新启动后恢复委托的工作。希望下一个状态报告将包括一个允许用户测试下载补丁的网址。


架构

更新平台特定功能并支持新的硬件平台。


armv7 Ports 质量保证

联系人:Robert Clausecker < fuz@FreeBSD.org>

作为改善 FreeBSD ports 集合在 armv7 架构下质量的长期项目的一部分,已经解决了基本系统和各种 ports 中的一些问题。通过此举,成功从 2023 年第四季度分支的 ports 集合构建的二进制软件包数量从 30018(截至 2023-10-04)增加到 31118(截至 2023-11-24)。

发现并解决了影响软件包构建的两个内核错误(PR 267788 和 PR 274705),仅这两个错误就导致了大约 900 个构建失败的软件包。其它导致构建失败的常见原因包括

  • 缺乏适用于 FreeBSD 特定 armv7 支持代码

  • 数据对齐问题(armv7 是我们不支持未对齐内存访问的少数架构之一)

  • 在构建过程中出现地址空间耗尽(通常与 LTO 相关;PR 274705 解决了许多情况)

  • armv7 FreeBSD 上缺乏 OpenMP 支持

如果您是在 armv7 上使用 FreeBSD ports 集合的用户,请在出现任何问题时毫不犹豫地在我们的错误跟踪器上提交错误报告。


AMD64 的 SIMD 增强

链接:FreeBSD 基金会博客文章网址:https://freebsdfoundation.org/blog/a-sneak-peek-simd-enhanced-string-functions-for-amd64/ simd(7) 网址:https://man.freebsd.org/cgi/man.cgi?query=simd&sektion=7&manpath=FreeBSD+15.0-CURRENT 目前正在接受测试的工作网址:https://github.com/clausecker/freebsd-src/commits/acceptance-testing

联系人:Robert Clausecker fuz@FreeBSD.org

用于增强 libc 并为 amd64 实现字符串函数的 SIMD 实现项目现已结束。总共为 17 个 libc 函数编写了 SIMD 实现,必要时补充了标量实现。通过此重写,64 个字符平均长度的字符串函数的性能平均提高了 5.54 倍。此外,还有 9 个其他库函数被重写以调用 SIMD 增强的例程,带来好处,而无需额外的汇编实现。有关详情,请参阅上面链接的 FreeBSD 基金会博文。

SIMD 工作的部分已经在 CURRENT 分支中找到。其余部分目前正在接受验收测试,如果没有问题将会合并。计划将所有的改进都回退到 14-STABLE,以便包括在 FreeBSD 14.1 中。

赞助方:FreeBSD 基金会


更新云特定功能并为新云平台提供支持。


在 FreeBSD 上的 OpenStack

链接: OpenStack 网址: https://www.openstack.org/ 在 FreeBSD 上的 OpenStack 网址: https://github.com/openstack-on-freebsd

联系人: 张智欣 < starbops@hey.com> 联系人: 许立文 < lwhsu@FreeBSD.org>

在第四季度,我们成功地将最初虚拟化的 OpenStack 平台迁移到运行 FreeBSD 14.0-STABLE 的物理机器上。移植的 OpenStack 组件包括 Keystone、Glance、Placement、Neutron 和 Nova。在这个过程中,我们抓住机会更新了安装文档和依赖项列表。

未来,我们鼓励对这个项目感兴趣的用户和开发人员根据此文档在其 FreeBSD 环境中轻松重新创建 OpenStack 平台。欢迎报告在 GitHub 项目页面上遇到的任何问题或困难。您的贡献将有助于完善我们的安装文档和整体移植工作。

在即将到来的季度,我们的重点将转向将迁移过程中生成的各种补丁和解决方案以更有结构的代码形式整合到项目中。此外,我们计划为每个 OpenStack 组件开发一个 FreeBSD 包,进一步简化安装流程。

赞助方: FreeBSD 基金会


FreeBSD 在 Microsoft HyperV 和 Azure 上

链接: Microsoft Azure 上的 FreeBSD 维基文章 网址: https://wiki.freebsd.org/MicrosoftAzure Microsoft HyperV 上的 FreeBSD 维基文章 网址: https://wiki.freebsd.org/HyperV

联系人: Microsoft FreeBSD Integration Services Team < bsdic@microsoft.com> 联系人: freebsd-cloud 邮件列表 联系人: The FreeBSD Azure Release Engineering Team < releng-azure@FreeBSD.org> 联系人: Wei Hu < whu@FreeBSD.org> 联系人: Souradeep Chakrabarti < schakrabarti@microsoft.com> 联系人: Li-Wen Hsu < lwhsu@FreeBSD.org>

本季度,我们解决了所有阻塞问题,并在 Azure Marketplace 上发布了 14.0-RELEASE,提供完整的架构(amd64、arm64)和 VM 生成(gen1、gen2)支持,根文件系统支持 UFS 和 ZFS。

进行中的任务:

  • 自动化镜像构建和发布过程,并合并到 src/release/。

  • 将快照构建发布到 Azure 社区画廊。

以上任务由 FreeBSD 基金会赞助,微软提供资源。

打开任务:

  • 在 Microsoft Learn 更新 FreeBSD 相关文档

  • 在 Azure Pipelines 中支持 FreeBSD

  • 更新 Azure 代理 port 到最新版本

  • 上游本地修改的 Azure 代理

  • Port Linux 虚拟机扩展 for Azure

赞助商:Microsoft 为 Microsoft 用户提供支持,为其他用户提供资源 赞助商:自由协会 (The FreeBSD Foundation) 负责其他所有任务


FreeBSD 在 EC2 上

链接:FreeBSD/EC2 Patreon 网址:https://www.patreon.com/cperciva

联系:Colin Percival cperciva@FreeBSD.org

FreeBSD 可在 amd64(Intel 和 AMD)和 arm64(Graviton)EC2 实例上使用。正在进行工作,以确保支持即将推出的实例类型;最近为支持“第七代”Intel 和 AMD 实例进行了必要的更改。

FreeBSD 14.0-RELEASE 随附实验性 ZFS-root AMI 和“cloud-init” AMI。计划推出其他“flavored” FreeBSD AMI,包括“AMI Builder”和“minimal”(无调试符号)。

修复了发布构建过程中的一个错误,导致 14.0-RELEASE AMIs 在/etc/rc.conf 中出现重复行,未来的发布不应受影响。

修复了 ec2-aws-imdsv2-get 实用程序中的一个错误,导致 14.0-RELEASE AMIs 不支持二进制用户数据文件,未来的发布不应受影响。

这项工作得到了 Colin 的 FreeBSD/EC2 Patreon 的支持。


文档

文档树、手册页面或新的外部图书/文档的重要变化。


文档工程团队

链接:FreeBSD 文档项目 URL:https://www.freebsd.org/docproj/ 链接:FreeBSD 文档项目新贡献者入门指南 URL:https://docs.freebsd.org/en/books/fdp-primer/ 链接:文档工程团队 URL:https://www.freebsd.org/administration/#t-doceng

联系方式:FreeBSD Doceng 团队 doceng@FreeBSD.org

doceng@团队是处理与 FreeBSD 文档项目相关的一些元项目问题的主体;欲了解更多信息,请参阅 FreeBSD Doceng 团队章程.

在上个季度:

格伦·巴伯从文档工程部门辞职。文档工程部门感谢 gjb@的服务。

Ceri Davies 的提交权限已根据他的要求暂时保留。文档工程部门感谢 ceri@的贡献。

mhorne@ to be mentored by carlavilla@ to obtain a documentation commit bit.

FreeBSD 手册:

该手册已更新,显示 FreeBSD 14.0 是最新版本。

在 Weblate 上的 FreeBSD 翻译

链接:在 Weblate 上翻译 FreeBSD 网址:https://wiki.freebsd.org/Doc/Translation/Weblate 链接:FreeBSD Weblate 实例网址:https://translate-dev.freebsd.org/

2023 年第四季度状态

  • 17 个团队语言

  • 203 注册用户

语言

  • 简体中文(中国大陆)(zh-cn)(进度:7%)

  • 繁体中文(中国台湾)(zh-tw)(进度:3%)

  • 荷兰语(荷兰)(nl)(进度:1%)

  • 法语(fr)(进度:1%)

  • 德语(de)(进度:1%)

  • 印尼语(id)(进度:1%)

  • 意大利语 (it) (进度: 5%)

  • 韩语 (ko) (进度: 33%)

  • 挪威语 (nb-no) (进度: 1%)

  • 波斯语 (fa-ir) (进度: 2%)

  • 波兰语 (进度: 1%)

  • 葡萄牙语 (进度: 0%)

  • 葡萄牙语 (pt-br) (进度: 22%)

  • 西班牙语 (es) (进度: 35%)

  • 土耳其语 (tr) (进度: 2%)

我们要感谢所有为翻译或审阅文档做出贡献的人。

请帮助在您当地的用户组推广这一工作,我们始终需要更多的志愿者。

FreeBSD 手册工作组

联系人:Sergio Carlavilla carlavilla@FreeBSD.org

常见问题解答工作组

联系人:Sergio Carlavilla carlavilla@FreeBSD.org

与 FreeBSD 14.0 一起发布了新的常见问题解答。

FreeBSD 网站改版 - WebApps 工作组

联系人:Sergio Carlavilla carlavilla@FreeBSD.org

负责创建新的 FreeBSD 文档门户和重新设计 FreeBSD 主网站及其组件的工作组。FreeBSD 开发人员可以在 FreeBSD Slack 频道# wg-www21 上关注并加入工作组。工作将分为三个阶段:

  1. 重新设计网页脚本的手册页面,使用 mandoc 生成 HTML 页面。(已完成,已获 Doceng 批准,部署日期尚未确定)https://man-dev.FreeBSD.org 上的公共实例

  2. 重新设计 FreeBSD 主网站,全新设计,响应式和暗色主题。(几乎完成,在 EuroBSDCon 上展示)

  3. 重设计 Web Ports 页面上的脚本,创建一个应用程序门户。(正在进行中)


FreeBSD 在线编辑器和手册页面编辑器

链接:FreeBSD 在线文档编辑器 网址:https://github.com/Wang-Yan-Hao/FreeBSD-Online-Document-Editor FreeBSD 在线手册页面编辑器 网址:https://github.com/Wang-Yan-Hao/man_page_editor

聯絡人:Yan-Hao Wang bses30074@gmail.com 聯絡人:Li-Wen Hsu lwhsu@FreeBSD.org

本報告提供了 FreeBSD 在線編輯器和手冊頁編輯器項目的持續概述,概述了近期努力改進文檔和手冊頁編輯流程。為了優化項目的結構完整性,我們聘請了一位專業的前端程序員的專業知識。我們計劃很快發布編輯器,目前有一些需要額外支援的任務。

  1. 我們正在積極尋找一位合格的個人,來對項目進行全面的前端安全審查。

  2. 在确保其健壮性和效率的情况下,对 JavaScript 代码进行细致的检查是至关重要的。我们正在寻找具有专业知识的人来彻底检查代码库,识别任何问题,并提出增强性能的建议。

  3. 由于目前没有现成的 JavaScript 库可以渲染 mandoc,我不得不自己创建一个。然而,在编辑过程中仍会出现一些隐藏的错误。我们正在寻求帮助来解决这些渲染问题。


FreeBSD Wiki

链接: Wiki 网址: https://wiki.freebsd.org

联系: Wiki 管理员 < wiki-admin@FreeBSD.org>

计划正在进行中,以在 Discord 上向我们的观众介绍 Wiki(在我们的 FreeBSD 社区中有太多的“孤立群体”)。有关更多信息,请在 FreeBSD Discord 上联系 Setesh。

正在进行更新维基软件本身的初步工作。继续运行 MoinMoin 需要一个带有 downrev 版本的 Python 的 jail。MoinMoin 项目本身似乎在重新设计的中途停滞了;至少需要完全升级后端数据库。

正在考虑的替代方案包括 MediaWiki 和 DocuWiki;请参阅 https://wiki.freebsd.org/Wiki/NextGeneration。大部分讨论发生在 Matrix 上;如果您想参与,请联系 wiki-admin@FreeBSD.org。


Ports

影响 Ports 集合的变化,无论是触及大部分树木的全面变化,还是个别的 ports 本身。


FreeBSD 上的 KDE

链接:KDE/FreeBSD 倡议 URL:https://freebsd.kde.org/ FreeBSD — KDE 社区维基 URL:https://community.kde.org/FreeBSD

联系人:Adriaan de Groot < kde@FreeBSD.org>

KDE on FreeBSD 项目为 FreeBSD ports 树打包了 CMake、Qt 和来自 KDE 社区的软件。软件包括一个完整的桌面环境,称为 KDE Plasma(适用于 X11 和 Wayland),以及数百个可以在任何 FreeBSD 机器上使用的应用程序。

KDE 团队是 desktop@ 和 x11@ 的一部分,负责构建软件堆栈,使 FreeBSD 既美观又适合作为日常使用的图形桌面工作站。下面的说明主要描述了 ports 的 KDE,但也包括了对整个桌面堆栈重要的项目。

基础设施

CMake 已经更新了多次,现在是最新的上游版本 3.28.1。FreeBSD 的 ports 再次完全更新。

Qt5 现在处于长期支持状态,更新很少。KDE 补丁集是 Qt 的社区支持分支,从 KDE 社区汇集上游补丁和修复,并更新到了 5.15.12。在 Qt5ports 中有几处弃用(见下文)。

Qt6 和 KDE 即将推出的 KDE Plasma 6 大版本(计划于 2024 年第一季度发布)是 KDE 团队的下一个重要里程碑。Qt6 已更新至 6.6.1 版本,同时还更新了 Qt 的 Python 绑定库 PySide。KDE Frameworks 6 的 Alpha 版本已添加到 ports 树中。

KDE 堆栈

KDE Gear 每季度发布一次,KDE Plasma 每月更新一次,KDE Frameworks 也每月发布新版本。这些(大型)更新会在上游发布后不久到来,不会单独列出。

  • KDE Frameworks 达到了 5.112 版本。KDE Frameworks 5 系列即将完成,尽管它还需要几个月才能进入上游的长期支持。

  • KDE Plasma 桌面更新到了版本 KDE Plasma 5.27.10。

  • KDE Gear 更新到了 23.08.4 版本。

  • KDE Frameworks 6 (alpha) 5.247 在 ports 树中已更新。

  • KDE Plasma Desktop 6 (beta 2) 5.91.0 在 ports 树中已更新。

相关 Ports

KDE 生态系统包括各种定制 — 大多由 kde@ 维护,都建立在 Qt 和 KDE 框架的共享基础上。KDE 团队根据需要更新它们。本季度,KDE 团队要再次感谢 Tobias C. Berner、Gleb Popov 和 Jason E. Hale 保持更新。

许多定制已经被“调味”以支持 Qt5 和 Qt6 镜像在 BSD 树中。

特别提及:

  • 新的 port x11/xwaylandvideobridge。根据设计,X11 应用程序无法访问 Wayland 客户端的窗口或屏幕内容。视频桥改善了对 Discord、MS Teams、Skype 等屏幕共享工具的 Wayland 支持。屏幕共享完全由 Wayland 用户控制。

  • 更新 multimedia/mlt7 到 7.20.0。

  • 更新 sysutils/bsdisks 到 0.33。

  • 修复 devel/llvm15 中的错误,使 devel/kdevelop 再次正常工作。

  • www/qt5-webengine 和 www/qt6-webengine 的安全修复。

废弃操作

Web 浏览器非常庞大,并且具有相当大的安全漏洞。在 2023 年的最后一天,这个备受尊敬的 www/qt5-webkit WebKit port 被移除。


GNOME 44 的状态

链接:GNOME 网址:https://www.gnome.org/ 开发仓库网址:https://codeberg.org/olivierd/freebsd-ports-gnome

联系人:FreeBSD GNOME 团队 gnome@FreeBSD.org 联系人:Olivier Duchateau duchateau.olivier@gmail.com

GNOME 是一个完整的桌面环境,主要基于 GLib、GTK3/GTK4 和 libadwaita。它提供两个窗口管理器或合成器:x11-wm/mutter 和 x11-wm/metacity。

目前在 ports 集合中,x11/gnome-shell 不再得到上游支持。由于这是一项繁重的工作,为了让用户能够使用 GNOME 44,我决定拆分此更新,因为它影响了几个 ports。

作为 x11/budgie 和 Pantheon 桌面的维护者(一种基于 x11-wm/mutter 的窗口管理器,为 elementary OS 开发),我需要一些 GNOME 库的更新版本。

首先我曾经在 WebKitGTK 上工作。4.0 "legacy" API 几乎没有被 GNOME 的库使用。至少要符合 4.1 API 的最低要求。我为 Mk/Uses 框架创建了 webkit.mk,以便为 www/webkit2-gtk3 添加不同风味。尽管正在进行努力,但目前它太不稳定。经常出现一些应用程序,如 Epiphany,邮件客户端(Geary,Evolution)或 package:sysutils/gnome-control-center 中的在线帐户面板崩溃。

尽管如此,桌面的其余部分是可用的,最新发布的 GNOME Shell 版本(44.7)是可用的。我已经开始提交我的第一个要审查的补丁(以及那些在 Bugzilla 中)。

我还移植了 GNOME Flashback 会话模块。它依赖 x11-wm/metacity 和 x11-toolkits/libwnck3。

我还维护一份文档,我们可以看到各种可用的桌面。

GNOME 45 几乎完成了,除了 GNOME Shell 扩展。这个版本我将专注于 Wayland 支持( bug #258042 和 bug #271836)。

欢迎测试和补丁,特别是针对 WebKitGTK。

下个月我计划做的事情包括:

  • 允许在显示管理器(gdm)中选择会话,这与我们的补丁有关的回归。

  • 修复 sysutils/gnome-control-center 中共享网络(VNC,SSH)面板,并为 bug#275900 进行回溯。

  • 继续更新应用程序和库以适配 GNOME 45。


FreeBSD 上的 GCC

链接:GCC 项目 网址:https://gcc.gnu.org/ GCC 10 发布系列 网址:https://gcc.gnu.org/gcc-10/ GCC 11 发布系列 网址:https://gcc.gnu.org/gcc-11/ GCC 12 发布系列 网址:https://gcc.gnu.org/gcc-12/ GCC 13 发布系列 网址:https://gcc.gnu.org/gcc-13/

联系:Lorenzo Salvadore < salvadore@FreeBSD.org>

正在前进更新 GCC 默认版本至 13。感谢安托万·布罗丁进行实验运行,以及所有其他参与者和 ports 维护者。

正如您可能还记得上一季度一样,额外的补丁与默认版本更新一起进行了测试。它们中的一些已经被合并:

  • lang/gcc11 已切换回 STANDARD_BOOTSTRAP,并已更新至 11.4.0;

  • lang/gcc13 已更新至版本 13.2.0。

大约一半的已知 bug 已经修复,但另一半仍然存在。如果您维护受影响的 ports 之一,请尝试修复您的 port(们),或者使您的 port 可以使用基础编译器构建。

本季度还有许多关于 GCC 的 bug 报告。一旦默认的 GCC 版本更新完成,所有这些 bug 将得到解决。


第三方项目

许多项目建立在 FreeBSD 之上,或者将 FreeBSD 的组件合并到他们的项目中。由于这些项目可能会对更广泛的 FreeBSD 社区产生兴趣,我们有时会在季度报告中包含这些项目提交的简要更新。FreeBSD 项目对这些提交中的任何声明的准确性或真实性不作任何陈述。


容器和 FreeBSD:Pot,Potluck 和 Potman

链接:GitHub 上的 Pot 组织 网址:https://github.com/bsdpot

联系人:Luca Pizzamiglio(Pot)< pizzamig@FreeBSD.org> 联系人:Bretton Vine(Potluck)< bv@honeyguide.eu> 联系人:Michael Gmelin(Potman)< grembo@FreeBSD.org>

Pot 是一个 jail 管理工具,还支持通过 Nomad 进行编排。

在本季度期间,发布了 Pot 0.16.0,其中包含许多功能和修复,包括一个新设置,用于防止 VNET 花盆之间的直接流量,以及用于配置花盆停止行为的新属性。还对 potnet(0.5.0)和 nomad-pot-driver(0.10.0)进行了维护/稳定性发布。

Potluck 的目标是成为 FreeBSD 和 Pot 的 Dockerhub,就像 Dockerhub 是 Linux 和 Docker 的存储库一样:一种 Pot 口味和完整容器映像的存储库,可用于与 Pot 以及许多情况下的 Nomad 一起使用。

上个季度增加的新容器映像之一是 Zincsearch,这是一种轻量级的 Elasticsearch 替代品,使用 Go 语言编写。

Mastodon 容器目前正在为公共 mastodon.africa 实例提供动力。

另外,我们获得了更多的曝光:BSD Now 第 536 集的标题是“Pot-flavored Jails”。

一如既往,欢迎反馈和补丁。

赞助商: Nikulipe UAB, Honeyguide Group


上次修改时间: 2024 年 2 月 2 日 由 Lorenzo Salvadore 修改

最后更新于

FreeBSD 中文社区 2024