# FreeBSD 2023 年第四季度状态报告

* 原文链接：[FreeBSD Status Report Fourth Quarter 2023](https://www.freebsd.org/status/report-2023-10-2023-12/)

这是 2023 年的第四份状态报告，共包含 18 篇条目。

这是 2023 年的最后一个季度。你可能已经注意到，本次状态报告比往常发布时间更晚，且报告数量少于上一季度。事实上，每年最后一个季度对于我们社区的许多成员来说，都是圣诞节和新年庆祝的季节，这意味着他们会花更多时间陪伴家人，而留给自己热爱的自由软件项目的时间会相应减少。因此，本季度的报告较少，提交时间也相对较晚。但最终，它们还是如期而至。

祝阅读愉快！

—— Lorenzo Salvadore，代表状态报告团队

## FreeBSD 团队报告

来自 [管理页面](https://www.freebsd.org/administration/) 中各个官方及半官方团队的报告。

### 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 年底，核心团队与 FreeBSD 基金会合作开展了 2024 年社区调查。

### FreeBSD 基金会

**相关链接：**\
[FreeBSD 基金会](https://freebsdfoundation.org/) 链接：<https://freebsdfoundation.org/>\
[技术路线图](https://freebsdfoundation.org/blog/technology-roadmap/) 链接：<https://freebsdfoundation.org/blog/technology-roadmap/>\
[捐赠](https://freebsdfoundation.org/donate/) 链接：<https://freebsdfoundation.org/donate/>\
[基金会合作计划](https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/) 链接：<https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/>\
[FreeBSD 期刊](https://freebsdfoundation.org/journal/) 链接：<https://freebsdfoundation.org/journal/>\
[基金会活动](https://freebsdfoundation.org/our-work/events/) 链接：<https://freebsdfoundation.org/our-work/events/>

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

FreeBSD 基金会是一家 501(c)(3) 非营利组织，致力于支持和推广 FreeBSD 项目及全球社区，并推动 FreeBSD 的技术发展。我们通过技术和非技术方式来实现这一目标。基金会 100% 依靠个人和企业的捐款，这些资金用于：

* 赞助软件开发项目，为 FreeBSD 实现新功能和特性，
* 赞助和组织会议及开发者峰会，提供合作机会并推广 FreeBSD，
* 购买和维护硬件，以改进和维护 FreeBSD 基础设施，
* 提供资源，提升安全性、质量保证和持续集成，
* 提供推广、教育和宣传 FreeBSD 所需的材料和人员，
* 促进商业供应商与 FreeBSD 开发者之间的合作，
* 代表 FreeBSD 项目执行合同、许可证协议及其他法律事务。

在 2023 年第四季度，基金会通过以下方式支持 FreeBSD：

#### 操作系统改进

在 2023 年第四季度，共有 236 次 `src` 提交、47 次 `ports` 提交和 33 次 `doc` 树提交注明了 FreeBSD 基金会为其赞助方。其中部分由基金会赞助的工作已在单独的报告条目中描述：

* [在 FreeBSD 上运行 OpenStack](https://www.freebsd.org/status/report-2023-10-2023-12/#_openstack_on_freebsd)
* [amd64 平台的 SIMD 增强](https://www.freebsd.org/status/report-2023-10-2023-12/#_simd_enhancements_for_amd64)

本季度有三位新承包商加入：

* **Cheng Cui** 开始全职从事无线网络开发，主要目标是协助 Bjoern Zeeb 在 `iwlwifi` 设备上实现 802.11ac 支持。
* **Tom Jones** 开始将 Vector Packet Processor (VPP) 移植到 FreeBSD。VPP 是一款开源的高性能用户态网络栈，能够快速处理数据包，适用于软件定义网络（SDN）和网络功能虚拟化（NFV）应用。
* **Olivier Certner** 作为 FreeBSD 基金会的一般 FreeBSD 开发者加入，其贡献包括：
  * 审查、修复并加强了多个安全策略，以限制进程可见性，这些策略基于用户身份、用户组成员资格或 `jail` 子系统的层级关系；
  * 在 `login` 类代码中修复了多个问题，包括一个允许非特权用户绕过资源限制的漏洞；
  * 为 AMD Zen2 处理器的 **Zenbleed** 漏洞实施了一个安全的硬件修复方案。

此外，在 2023 年第四季度，基金会赞助的其他部分工作包括：

* **arm64**：添加 **Armv8 `rndr`** 随机数生成器支持
* **网络**：改进 `net80211`、`LinuxKPI` 和 `iwlwifi` 的功能和修复
* **OpenSSL**：更新至 **3.0.11** 和 **3.0.12**
* **freebsd-update**：修复多个问题，以为 **14.0** 版本做准备
* **SSH**：更新至 **OpenSSH 9.5p1**
* **IOMMU**：多个错误修复
* **文件系统**：`makefs` / `ZFS` 相关修复

关于基金会在 2023 年全年的软件开发工作，请参阅：\
<https://freebsdfoundation.org/blog/2023-in-review-software-development/>

#### FreeBSD 基础设施

我们批准了 **10 余万美元** 用于 FreeBSD 集群更新，该项目于 2023 年底启动，并将持续到新的一年。此项目包括采购和运送 **15 台新服务器**，它们将被部署在 **NYI** 公司慷慨捐赠的芝加哥数据中心的 **4 个机架** 里。集群管理团队根据需求确定了以下硬件配置：

* **5 台** `package` 构建服务器
* **3 台** `web` 服务器
* **2 台** `package` 镜像服务器
* **2 台** `CI` 服务器
* **2 台** 防火墙/路由器
* **1 台** 管理堡垒机

关于 2023 年的基础设施支持详情，请参阅：\
<https://freebsdfoundation.org/blog/2023-in-review-infrastructure/>

#### 持续集成与工作流改进

作为对 FreeBSD 项目持续支持的一部分，基金会提供了一名全职员工，专门负责改进 FreeBSD 的持续集成（CI）和测试基础设施。完整的更新内容可在本季度状态报告中查看。

#### 合作伙伴关系与研究

在 2023 年第四季度，我与以下个人、公司和组织进行了交流：

* **Phil Shafer**（Juniper Networks）在 **All Things Open** 会议上介绍了 **libxo** 库，并分享了他在输出重写与过滤方面的持续研究。
* **Simon Gerraty**（Juniper Networks）在 **Vendor Summit** 上介绍了 [**SecureBoot**](https://www.youtube.com/live/k-AzShVdAHo?si=otJvsMLc3gqilZSU\&t=22069)。
* 其他企业与机构：AMD、Ampere、**互联网安全中心（CIS）**、创新英国、Michael Dexter、Metify、微软、NetApp、NetScaler、NIST、Nozomi Networks、英伟达、Open Container Initiative 社区成员、OpenSSF、RG Nets、Doug Rabson。

2023 年 10 月，我有幸参加 **NetApp 年度大会**，与 NetApp 及其合作伙伴和客户就 **AI 及 AI 数据管道、混合云、绿色计算** 等主题进行了深入交流。我还借机分发了一些 FreeBSD 胸针 🙂，并与一位 NetApp 客户公司的 FreeBSD 用户建立了联系。

2023 年第四季度，我们发布了 [**FreeBSD SSDF 认证**](https://freebsdfoundation.org/news-and-events/latest-news/freebsd-foundation-announces-ssdf-attestation/) 计划，以帮助 FreeBSD 商业用户满足 **美国政府采购法规** 的新要求。该计划得到了 **NetApp、Metify 和 NIST** 的宝贵反馈，并受到了 **OSI 的 Open Policy Alliance** 社区的启发。

2023 年 12 月，Open Container Initiative（开放容器标准）技术监督委员会通过了 **Doug Rabson 提出的提案**，将成立工作组扩展 OCI 运行时规范，以支持 FreeBSD。感谢所有贡献者！FreeBSD 的 OCI 运行时扩展是社区最常请求的功能之一，我很高兴能在协调工作中尽一份力。

2023 年 11 月的 **供应商峰会** 取得了圆满成功，特别感谢 **John Baldwin 和 Anne Dickison** 在组织和协调方面的辛勤付出。我在会议上受益匪浅，尤其是：

* 与众多 FreeBSD 用户的交流
* **CHERI 项目演讲**
* **最终用户小组讨论**
* **Allan Jude 关于“Upstream First”策略的演讲**

关于基金会在 2023 年的 **合作伙伴关系与研究** 方面的完整回顾，请参阅：\
<https://freebsdfoundation.org/blog/2023-in-review-partnerships-and-research/>

#### 宣传

从组织和参加活动，到创建技术内容进行教育，再到扩大 FreeBSD 在媒体中的覆盖面，以下是我们在上个季度为支持 FreeBSD 所做的一些工作：

* 帮助组织并赞助了 2023 年 11 月在 **NetApp（圣何塞）** 举办的 **Vendor Summit**。许多人认为这是迄今为止最好的峰会之一。请务必查看 [视频](https://youtube.com/playlist?list=PLugwS7L7NMXzSalaF4l_78sfRa2l8xvag\&feature=shared)。
* 在 **北卡罗来纳州** 的 **All Things Open** 大会上，向新老朋友介绍了 FreeBSD。
* 提供了 FreeBSD 14 的概述：[安全性、性能与互操作性；介绍 FreeBSD 14](https://freebsdfoundation.org/blog/security-performance-and-interoperability-introducing-freebsd-14/)
* 与核心团队合作，发布了 **2024 FreeBSD 社区调查**：[2024 FreeBSD Community Survey](https://freebsdfoundation.org/blog/2024-freebsd-community-survey-is-here/)
* 参与了关于 FreeBSD 的访谈：[What the Dev Podcast: FreeBSD 项目的演变](https://freebsdfoundation.org/news-and-events/latest-news/what-the-dev-podcast-the-evolution-of-the-freebsd-project/)
* 发布了 **2023 年 9 月/10 月** 期的 FreeBSD Journal，现在提供 HTML 版本的文章：[FreeBSD Journal](https://freebsdfoundation.org/past-issues/13099/)

想要了解我们在 2023 年宣传 FreeBSD 的详细回顾，请查看 **2023 年宣传回顾**：<https://freebsdfoundation.org/blog/2023-in-review-advocacy/> 或查阅我们的月度通讯：<https://freebsdfoundation.org/our-work/latest-updates/?filter=newsletter>。

#### 筹款

感谢上个季度所有为支持 FreeBSD 项目工作做出财务贡献的人。你们的支持让我们离目标更近了，我们对你们的投资表示感谢！我们仍在收到邮寄捐款，最终金额将在 2 月中旬公布。

请考虑在 2024 年继续支持我们的工作，捐赠链接如下：<https://freebsdfoundation.org/donate/>。

或者，了解我们的合作伙伴机会：<https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/>。

#### 法律/FreeBSD 知识产权

基金会拥有 FreeBSD 商标，并且我们有责任保护这些商标。我们还为核心团队提供法律支持，帮助他们解决相关问题。

请访问 [https://freebsdfoundation.org](https://freebsdfoundation.org/) 了解更多我们如何支持 FreeBSD，以及我们如何能帮助你！

### FreeBSD 发布工程团队

链接：\
[FreeBSD 13.3-RELEASE 日程](https://www.freebsd.org/releases/13.3R/schedule/) URL：<https://www.freebsd.org/releases/13.3R/schedule/>\
[FreeBSD 发布](https://download.freebsd.org/releases/ISO-IMAGES/) URL：<https://download.freebsd.org/releases/ISO-IMAGES/>\
[FreeBSD 开发快照](https://download.freebsd.org/snapshots/ISO-IMAGES/) URL：<https://download.freebsd.org/snapshots/ISO-IMAGES/>

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

FreeBSD 发布工程团队负责制定和发布 FreeBSD 项目的官方发布日程，宣布代码冻结以及维护相关分支等工作。

在 2023 年第四季度，团队继续推进 **14.0-RELEASE**，并于 11 月发布了最终的 **RELEASE** 版本。接下来的 **13.3-RELEASE** 和 **14.1-RELEASE** 循环的规划已开始。

发布工程团队继续提供 **main** 和 **stable/13** 分支的每周开发快照，并在 **14.0-RELEASE** 发布后，开始为 **stable/14** 提供每周快照。

在担任发布工程负责人十多年后，**Glen Barber** 退休了；他的副手 **Colin Percival** 接任发布工程负责人，而 **Mike Karels** 担任副发布工程负责人。

### 集群管理团队

链接：\
[集群管理团队成员](https://www.freebsd.org/administration/#t-clusteradm) URL：<https://www.freebsd.org/administration/#t-clusteradm>

联系方式：集群管理团队 <<clusteradm@FreeBSD.org>>

FreeBSD 集群管理团队成员负责管理 FreeBSD 项目依赖的机器，以同步其分布式工作和通信。

在本季度，团队完成了以下工作：

* 定期支持 FreeBSD.org 用户账户。
* 定期为所有物理主机和镜像提供磁盘和零部件支持（以及更换）。
* 启用在 FreeBSD 项目管理的镜像站中同步 [https://www.FreeBSD.org](https://www.freebsd.org/) 和 [https://docs.FreeBSD.org](https://docs.freebsd.org/)。
* 集群刷新，将所有主机和 jails 升级至最新版本的 15-CURRENT、14-STABLE、13-STABLE 和 12-STABLE。
* 开始逐步淘汰 12-STABLE 基础设施，因为该分支接近生命周期结束。

除了这些项目外，在 [Modirum](https://www.modirum.com/) 慷慨赞助了 Philip 在 10 月的大部分时间后，我们成功地将 pkgbase 推进到“预览”生产阶段，及时为 14.0-RELEASE（11 月发布）做好准备。

我们还在瑞典 Sjöbo 安装了一个新的欧洲镜像站，该站由 Teleservice Skåne AB 赞助。现在，欧洲的流量大致均匀地分配在我们现有的法兰克福镜像（由 Equinix 赞助）和新的瑞典镜像之间。在服务超过十年后，我们计划在 2024 年第一季度停用位于英国的镜像站。我们感谢 [Bytemark Hosting](https://www.bytemark.co.uk/) 长期以来对该镜像的支持。

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

#### FreeBSD 官方镜像概览

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

硬件和网络连接由以下公司慷慨提供：

* [Bytemark Hosting](https://www.bytemark.co.uk/)（2024Q1 期间停用）
* [BroadBand Tower, Inc](https://www.bbtower.co.jp/en/corporate/) 的云计算和 SDN 实验室
* [國立陽明交通大學資訊工程學系](https://www.cs.nycu.edu.tw/)
* [Equinix](https://deploy.equinix.com/)
* [澳大利亚互联网协会](https://internet.asn.au/)
* [互联网系统协会](https://www.isc.org/)
* [INX-ZA](https://www.inx.net.za/)
* [KDDI Web Communications Inc](https://www.kddi-webcommunications.co.jp/english/)
* [马来西亚研究与教育网络](https://www.mohe.gov.my/en/services/research/myren)
* [Metapeer](https://www.metapeer.com/)
* [NIC.br](https://nic.br/)
* [Your.Org](https://your.org/)
* [365 数据中心](https://365datacenters.com/)
* [Teleservice Skåne AB](https://www.teleservice.net/)（2023Q4 新增）

### 持续集成

链接：\
[FreeBSD Jenkins 实例](https://ci.freebsd.org/) URL：[https://ci.FreeBSD.org](https://ci.freebsd.org/)\
[FreeBSD CI Tinderbox 视图](https://tinderbox.freebsd.org/) URL：[https://tinderbox.freebsd.org](https://tinderbox.freebsd.org/)\
[FreeBSD CI 工件存档](https://artifact.ci.freebsd.org/) URL：[https://artifact.ci.FreeBSD.org](https://artifact.ci.freebsd.org/)\
[托管 CI 维基](https://wiki.freebsd.org/HostedCI) URL：[https://wiki.FreeBSD.org/HostedCI](https://wiki.freebsd.org/HostedCI)\
[第三方软件 CI](https://wiki.freebsd.org/3rdPartySoftwareCI) URL：[https://wiki.FreeBSD.org/3rdPartySoftwareCI](https://wiki.freebsd.org/3rdPartySoftwareCI)\
[与 freebsd-testing@ 相关的工单](https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=%3Cem%3Eopen%3C/em%3E\&email1=testing%40FreeBSD.org\&emailassigned_to1=1\&emailcc1=1\&emailtype1=equals) URL：[https://bugs.freebsd.org/bugzilla/buglist.cgi?bug\_status=](https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=%3Cem%3Eopen%3C/em%3E\&email1=testing%40FreeBSD.org\&emailassigned_to1=1\&emailcc1=1\&emailtype1=equals)\
[FreeBSD CI 存储库](https://github.com/freebsd/freebsd-ci) URL：<https://github.com/freebsd/freebsd-ci>\
[dev-ci 邮件列表](https://lists.freebsd.org/subscription/dev-ci) URL：[https://lists.FreeBSD.org/subscription/dev-ci](https://lists.freebsd.org/subscription/dev-ci)

联系方式：Jenkins 管理员 <<jenkins-admin@FreeBSD.org>>\
联系方式：許立文 <<lwhsu@FreeBSD.org>>\
联系方式：[freebsd-testing 邮件列表](https://lists.freebsd.org/mailman/listinfo/freebsd-testing)\
联系方式：IRC #freebsd-ci 频道（EFNet）

在 2023 年第四季度，我们与项目贡献者和开发者合作，解决他们的测试需求。同时，我们与外部项目和公司合作，通过在 FreeBSD 上进行更多测试来增强他们的产品。

#### 完成的重要任务

* 添加构建 amd64 架构的工作，使用 GCC 13（感谢 jhb@）
* 为 stable-14 添加 powerpc64le 作业配置（感谢 alfredo@）
* 更新 main 和 stable/14 分支的构建环境至 14.0-RELEASE

#### 进行中的任务

* 设计并实现基于预提交的 CI 构建和测试系统，以及基于拉取/合并请求的系统（以支持 [工作流程工作组](https://gitlab.com/bsdimp/freebsd-workflow)）
  * 概念验证系统正在进行中
* 设计并实施使用 CI 集群构建发布工件，类似发布工程的做法，从快照构建开始
* 简化 CI/测试环境的设置，方便贡献者和开发者使用
* 设置 CI 阶段环境，并将实验性作业放置在其上
* 重新设计硬件测试实验室，增加更多硬件进行测试
* 合并 <https://reviews.freebsd.org/D38815>
* 合并 <https://reviews.freebsd.org/D36257>

#### 待处理或排队的任务

* 收集和整理 [CI 任务和想法](https://hackmd.io/@FreeBSD-CI/freebsd-ci-todo)
* 为运行测试的 VM 客户机设置公共网络访问
* 实施使用裸金属硬件运行测试套件
* 添加 drm Port 构建测试，针对 -CURRENT
* 计划运行 ztest 测试
* 帮助更多软件在其 CI 流水线中获得 FreeBSD 支持（维基页面：[3rdPartySoftwareCI](https://wiki.freebsd.org/3rdPartySoftwareCI)，[HostedCI](https://wiki.freebsd.org/HostedCI)）
* 与托管 CI 提供商合作，改善 FreeBSD 的支持

请查看 [与 freebsd-testing@ 相关的工单](https://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=%3Cem%3Eopen%3C/em%3E\&email1=testing%40FreeBSD.org\&emailassigned_to1=1\&emailcc1=1\&emailtype1=equals) 以获取更多关于工作进行中的信息，欢迎加入我们的努力！

赞助商：FreeBSD 基金会

### Ports

链接：\
[关于 FreeBSD Ports](https://www.freebsd.org/ports/) URL：[https://www.FreeBSD.org/ports/](https://www.freebsd.org/ports/)\
[为 Ports 贡献](https://docs.freebsd.org/en/articles/contributing/#ports-contributing) URL：<https://docs.freebsd.org/en/articles/contributing/#ports-contributing>

[Ports 管理团队](https://www.freebsd.org/portmgr/) URL：<https://www.freebsd.org/portmgr/>\
[Ports Tarball](http://ftp.freebsd.org/pub/FreeBSD/ports/ports/) URL：<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。这个季度，主分支共进行了 9,424 次提交，涉及 157 名提交者，2023Q4 分支共进行了 781 次提交，涉及 71 名提交者。与上个季度相比，主分支的提交次数显著减少（从 11,454 次减少），而季度分支的回溯提交也略有减少（从 828 次减少）。ports 数量也有所下降（从 34,600 个减少）。

在第四季度，主分支共进行了约 9,424 次提交，最活跃的提交者如下：

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

在第四季度，我们欢迎 Michael Osipov (michaelo) 和 Timothy Beyer (beyert) 成为新的提交者，但也遗憾地告别了 bland、sbruno、hselasky 和 gjb。

我们邀请了 arrowd、flo 和 riggs 成为 portmgr-lurkers，加入未来几个月的工作。

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

第四季度结束时，还引入了子包到 Ports。与引入 flavor 时类似，新子包将需要得到 portmgr 的批准，才能推送到树中。使用子包后，可以从单个 ports 构建生成多个包。

基础设施方面发生了以下变化：

* 构建了 14.0-RELEASE 的包
* 更新了 Poudriere 至 release-3.4

不再维护的 [www/qt5-webkit](https://cgit.freebsd.org/ports/tree/www/qt5-webkit/) 被移除。

以下软件包被移除：

* postgresql11, php80, mysql57, percona57, ghostscript9

以下默认版本发生了变化：

* perl 升级至 5.36
* ghostscript 升级至 10
* corosync 升级至 3

更新的主要 ports 包括：

* [ports-mgmt/pkg](https://cgit.freebsd.org/ports/tree/ports-mgmt/pkg/) 升级至 1.20.9
* [ports-mgmt/poudriere](https://cgit.freebsd.org/ports/tree/ports-mgmt/poudriere/) 升级至 3.4.0（支持子包）
* KDE-bits 升级至 plasma-5.27.10, frameworks-5.112, gear-23.08.4 和 beta-2
* [www/chromium](https://cgit.freebsd.org/ports/tree/www/chromium/) 升级至 120.0.6099.129
* [www/firefox](https://cgit.freebsd.org/ports/tree/www/firefox/) 升级至 121.0（rc1）
* [lang/rust](https://cgit.freebsd.org/ports/tree/lang/rust/) 升级至 1.74.1
* … 还有更多 …

在上个季度，pkgmgr@ 执行了 26 次 exp-run，测试了各种 ports 升级、默认版本更新、子包支持和基本系统更改。

### Bugmeister 团队和 Bugzilla

链接：\
[Bugmeister 团队](https://www.freebsd.org/administration/#t-bugmeister) URL：<https://www.freebsd.org/administration/#t-bugmeister>\
[FreeBSD Bugzilla](https://bugs.freebsd.org/bugzilla/) URL：<https://bugs.freebsd.org/bugzilla/>

联系方式：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 已于 2023 年 12 月 31 日停止支持。

我们还在努力记录 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 感谢一批协助处理 bug 的人员，包括 Mina Galić、Graham Perrin、[Lorenzo Salvadore](mailto:salvadore@FreeBSD.org) 和 [Fernando Apesteguìa](mailto:fernape@FreeBSD.org) 等人。

此外，Bugmeister 感谢所有帮助处理 PR 的 FreeBSD 提交者。在过去的几个月里，我们似乎已经接近稳定状态。

## 用户空间

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

### 服务 jail — 自动 jailrc.d 服务

链接：\
[D40370: 自动 jail rc.d 服务的基础设施](https://reviews.freebsd.org/D40370) URL：<https://reviews.freebsd.org/D40370>\
[D40371: 自动服务 jail：为自动服务 jail 中服务的完全功能设置一些配置](https://reviews.freebsd.org/D40371) URL：<https://reviews.freebsd.org/D40371>\
[D42779: 手册 / rc 文章更新，关于服务 jail](https://reviews.freebsd.org/D42779) URL：<https://reviews.freebsd.org/D42779>

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

服务 jail 扩展了 [rc(8)](https://man.freebsd.org/cgi/man.cgi?query=rc\&sektion=8\&format=html) 系统，允许自动 jail rc.d 服务。服务 jail 继承父主机或 jail 的文件系统，但默认使用 jail 的其他所有限制（进程可见性、受限的网络访问、文件系统挂载权限、sysvipc 等）。额外的配置可继承父主机的 IP、sysvipc、内存页面锁定，并使用 bhyve 虚拟机监控器 ([vmm(4)](https://man.freebsd.org/cgi/man.cgi?query=vmm\&sektion=4\&format=html))。

如果你想将例如 local\_unbound 放入服务 jail 并允许 IPv4 和 IPv6 访问，只需将 [rc.conf(5)](https://man.freebsd.org/cgi/man.cgi?query=rc.conf\&sektion=5\&format=html) 更改为：

```sh
local_unbound_svcj_options=net_basic
local_unbound_svcj=YES
```

注意：所有基本系统服务都已在补丁中覆盖，使用 name\_svcj\_options 或在服务 jail 功能不适用的地方进行硬编码禁用（例如，纯服务，它们改变运行时配置但不启动守护进程，或者运行无法在 jail 内以合理方式运行的程序）。因此，上面的 `local_unbound_svcj_options` 这行是多余的，仅作为示例，说明所需配置的数量。

虽然这没有手动 jail 设置（具有独立文件系统和 IP/VNET）那样的安全优势，但它更容易设置，同时提供了 jail 的一些安全优势，如隐藏同一用户的其他进程。

自 [上次服务 jail 状态报告](https://www.freebsd.org/status/report-2023-04-2023-06/#_service_jailsautomatic_jailing_of_rc_d_services) 以来，添加了以下内容：

* 在服务 jail 框架中支持 NFS（未经测试），
* 允许将 `start` 和 `stop` 之外的其他服务命令 jail，
* D40371 中补丁的所有基本系统服务的服务 jail 选项/配置，
* 在手册中开始记录服务 jail。

并非所有服务都经过测试，但所有服务都有配置。

欢迎任何测试和反馈（即使是简单的“服务 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 操作计数**

| NFS 操作计数     | Getattr | Lookup | Read  | Write | 总 RPC   |
| ------------ | ------- | ------ | ----- | ----- | ------- |
| 启用 packrats  | 433506  | 99254  | 0     | 0     | 371736  |
| 未启用 packrats | 2359913 | 97954  | 10748 | 0     | 2318810 |

**表格 2. 运行耗时**

这是你需要的表格：

| Elapsed Run Time (sec) 启用 packrats | 未启用 packrats |
| ---------------------------------- | ------------ |
| 5561                               | 6203         |

如你所见，启用 packrat 的情况运行得稍快，且 RPC 数量较少。尽管此测试是在我的小型局域网中进行的，但预计 NFSv4.1/4.2 在广域网中的挂载会显示出更大的性能差异。我会提到，packrat 缓存是通过将 FreeBSD 的 `/usr/src` 解压到 NFSv4.1/4.2 挂载点来启动的。

这将是一个非常实验性的功能，但希望它能让 NFS 挂载在 WAN 环境中（例如移动笔记本电脑）更有效地使用。

仍然需要做一些工作，特别是在 NFSv4.1/4.2 客户端重启后恢复委托方面。希望下一次状态报告中会提供一个 URL，允许下载供用户测试的补丁。

## 架构

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

### armv7 Ports 质量保证

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

作为长期项目的一部分，旨在提高 FreeBSD armv7 架构的 Ports 质量，已修复了基本系统和各种 Port 中的多个问题。通过这一举措，能够成功构建自 2023Q4 分支的二进制包的数量从 2023 年 10 月 4 日的 30018 增加到 2023 年 11 月 24 日的 31118。

已识别并解决了两个影响包构建的内核错误（[PR 267788](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267788) 和 [PR 274705](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274705)），这两个问题单独就导致了 900 多个构建失败。其他常见的构建失败原因包括：

* 缺乏 FreeBSD 特定的 armv7 支持代码
* 数据对齐问题（armv7 是少数不支持非对齐内存访问的架构之一）
* 构建过程中出现地址空间耗尽问题（通常与 LTO 相关；[PR 274705](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274705) 解决了许多这种情况）
* armv7 FreeBSD 上缺少 OpenMP 支持

如果你是 armv7 上使用 FreeBSD Ports 的用户，遇到任何问题，请随时在我们的 [bug 跟踪器](https://bugzilla.freebsd.org/) 上提交错误报告。

### 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>>

该项目已完成，旨在通过 SIMD 实现增强 amd64 上的 libc 字符串函数。总共编写了 17 个 libc 函数的 SIMD 实现，并根据需要补充了标量实现。通过这次重写，平均长度为 64 个字符的字符串函数的性能提高了 5.54 倍。此外，还有 9 个其他库函数被重写，以调用 SIMD 增强的例程，从而带来好处，而不需要额外的汇编实现。详情请参见上述的 FreeBSD 基金会博客文章。

部分 SIMD 工作已出现在 CURRENT 分支中，其余部分目前正在接受测试，若没有问题，将进行合并。计划将所有改进反向移植到 14-STABLE，以便包含在 FreeBSD 14.1 中。

赞助商：FreeBSD 基金会

## 云

更新云特定功能并引入对新云平台的支持。

### FreeBSD 上的 OpenStack

链接： [OpenStack](https://www.openstack.org/)\
[OpenStack on FreeBSD](https://github.com/openstack-on-freebsd)

联系人：Chih-Hsin Chang <<starbops@hey.com>>\
联系人：許立文 <<lwhsu@FreeBSD.org>>

在第四季度，我们成功地将最初虚拟化的 OpenStack 平台迁移到运行 FreeBSD 14.0-STABLE 的物理机器上。迁移的 OpenStack 组件包括 Keystone、Glance、Placement、Neutron 和 Nova。作为这一过程的一部分，我们借此机会更新了 [安装文档和依赖列表](https://github.com/openstack-on-freebsd/docs)。

接下来，我们鼓励有兴趣的用户和开发者按照此文档在他们的 FreeBSD 环境中轻松重建 OpenStack 平台。任何遇到的问题或困难欢迎在 [GitHub 项目页面](https://github.com/openstack-on-freebsd/admin/issues) 上报告。你的贡献将有助于改进我们的安装文档以及整体移植工作。

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

赞助商：FreeBSD 基金会

### FreeBSD 与微软 HyperV & Azure

链接： [Microsoft Azure 文章在 FreeBSD wiki 上](https://wiki.freebsd.org/MicrosoftAzure)\
[Microsoft HyperV 文章在 FreeBSD wiki 上](https://wiki.freebsd.org/HyperV)

联系人：Microsoft FreeBSD 集成服务团队 <<bsdic@microsoft.com>>\
联系人：[freebsd-cloud 邮件列表](https://lists.freebsd.org/mailman/listinfo/freebsd-cloud)\
联系人：The FreeBSD Azure 发布工程团队 <<releng-azure@FreeBSD.org>>\
联系人：Wei Hu <<whu@FreeBSD.org>>\
联系人：Souradeep Chakrabarti <<schakrabarti@microsoft.com>>\
联系人：許立文 <<lwhsu@FreeBSD.org>>

在本季度，我们解决了所有阻碍问题，并发布了 [14.0-RELEASE 在 Azure Marketplace](https://azuremarketplace.microsoft.com/marketplace/apps/thefreebsdfoundation.freebsd-14_0)，提供完整的架构（amd64, arm64）和虚拟机生成（gen1, gen2）支持，并且可以选择 UFS 和 ZFS 作为根文件系统。

正在进行的任务：

* 自动化镜像构建和发布过程，并合并到 `src/release/`。
* 构建并发布快照构建到 [Azure 社区画廊](https://learn.microsoft.com/azure/virtual-machines/share-gallery-community)。

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

待办事项

* 更新 FreeBSD 相关文档至 [Microsoft Learn](https://learn.microsoft.com/)
* 在 [Azure Pipelines](https://azure.microsoft.com/products/devops/pipelines/) 中支持 FreeBSD
* 更新 [Azure 代理 Port](https://www.freshports.org/sysutils/azure-agent) 到最新版本
* 上游 [Azure 代理的本地修改](https://github.com/Azure/WALinuxAgent/pull/1892)
* 移植 [Azure 的 Linux 虚拟机扩展](https://github.com/Azure/azure-linux-extensions)

赞助商：微软（为微软内部人员提供）及资源提供给其他人员\
赞助商：FreeBSD 基金会（为其他所有事项提供赞助）

### FreeBSD EC2

链接： [FreeBSD/EC2 Patreon](https://www.patreon.com/cperciva)

联系人：Colin Percival <<cperciva@FreeBSD.org>>

FreeBSD 可用于 amd64（Intel 和 AMD）和 arm64（Graviton）EC2 实例。工作持续进行，确保即将推出的实例类型得到支持；最近，需要进行一些更改以支持“第 7 代”Intel 和 AMD 实例。

FreeBSD 14.0-RELEASE 携带了实验性的 ZFS 根 AMI 和 "cloud-init" AMI。还计划提供其他 "flavored" FreeBSD AMI，包括 "AMI Builder" 和 "minimal"（没有调试符号）。

发布构建过程中发现的一个错误，导致 14.0-RELEASE AMI 包含 `/etc/rc.conf` 中重复的行，已被修正，未来的发布版本应该不会受到影响。

ec2-aws-imdsv2-get 工具中的一个错误导致 14.0-RELEASE AMI 不支持二进制用户数据文件，现已修正，未来的发布版本不再受此影响。

此工作由 Colin 的 FreeBSD/EC2 Patreon 支持。

## 文档

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

### 文档工程团队

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

联系人：FreeBSD Doceng 团队 <<doceng@FreeBSD.org>>

doceng@ 团队负责处理与 FreeBSD 文档项目相关的一些元项目问题；有关更多信息，请参见 [FreeBSD Doceng 团队章程](https://www.freebsd.org/internal/doceng/)。

在过去的一个季度：

Glen Barber 离开了 doceng。doceng 感谢 gjb@ 的服务。

应 Ceri Davies 的要求，他的提交权限被暂时保管。doceng 感谢 ceri@ 的贡献。

mhorne@ 将由 carlavilla@ 指导，以获得文档提交权限。

#### FreeBSD 手册

手册已更新，显示 FreeBSD 14.0 是最新发布版本。

#### FreeBSD Weblate 翻译

链接： [在 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>>

* [网络章节已重写](https://reviews.freebsd.org/D40546)
* [Jails 章节已重写](https://cgit.freebsd.org/doc/commit/?id=612b7cc1721224c494c5b2600188e1508bb5611b)
* 下一部分将是文件系统部分：UFS、ZFS、其他文件系统

#### FAQ 工作组

联系人：Sergio Carlavilla <<carlavilla@FreeBSD.org>>

新的 FAQ 与 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](https://man-dev.freebsd.org/)
2. FreeBSD 主网站重新设计\
   新设计，响应式和黑暗主题。（*几乎完成，已在 EuroBSDCon 上展示*）
3. 网站上的 Ports 页面重新设计\
   用于创建应用程序门户的 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>>\
联系人：許立文 <<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。

正在进行对 Wiki 软件本身的更新工作。继续使用 MoinMoin 需要一个包含较低版本 Python 的 jail。MoinMoin 项目本身似乎在重新设计的过程中停滞；至少需要完成后端数据库的升级。

考虑中的替代方案包括 MediaWiki 和 DocuWiki；详见 <https://wiki.freebsd.org/Wiki/NextGeneration>。大多数讨论正在 Matrix 上进行；如果你想参与，请联系 <wiki-admin@FreeBSD.org>。

## Ports

影响 Ports 的变化，无论是涉及大多数树的广泛变化，还是个别 Port 的变化。

### KDE 在 FreeBSD 上

链接： [KDE/FreeBSD 项目](https://freebsd.kde.org/)\
[FreeBSD — KDE 社区 Wiki](https://community.kde.org/FreeBSD)

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

KDE 在 FreeBSD 上的项目为 FreeBSD Ports 打包了 CMake、Qt 和来自 KDE 社区的软件。该软件包括一个完整的桌面环境 KDE Plasma（支持 X11 和 Wayland），以及可以在任何 FreeBSD 机器上使用的数百个应用程序。

[KDE 团队](mailto:kde@FreeBSD.org) 是 [desktop@](mailto:desktop@FreeBSD.org) 和 [x11@](mailto:x11@FreeBSD.org) 的一部分，负责构建软件栈，使 FreeBSD 成为美观且可用的日常图形桌面工作站。以下笔记主要描述 KDE 的 Port，但也包括对整个桌面栈重要的项目。

#### 基础设施

CMake 已更新多次，目前版本为 3.28.1，为最新的上游版本。FreeBSD 的 Ports 再次完全更新。

Qt5 现在进入长期支持阶段，更新频率较低。KDE 补丁集是 Qt 的一个社区支持分支，拉取 KDE 社区的上游补丁和修复，并更新到 5.15.12。Qt5 Port 中有几个废弃项（见下文）。

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 桌面已更新到 5.27.10 版本。
* KDE Gear 更新到 23.08.4 版本。
* KDE Frameworks 6（alpha）更新到 5.247 版本，并已在 Ports 中更新。
* KDE Plasma 桌面 6（beta 2）更新到 5.91.0，并已在 Ports 中更新。

#### 相关 Port

KDE 生态系统包含海量的 Port——大多数由 [kde@](mailto:kde@FreeBSD.org) 维护，所有 Port 都建立在 Qt 和 KDE Frameworks 的共享基础上。[KDE 团队](mailto:kde@FreeBSD.org) 根据需要更新这些 Port。本季度，KDE 团队再次感谢 [Tobias C. Berner](mailto:tcberner@FreeBSD.org)、[Gleb Popov](mailto:arrowd@FreeBSD.org) 和 [Jason E. Hale](mailto:jhale@FreebSD.org) 持续更新 Port。

许多 Port 已“flavor”，支持在 Ports 中使用 Qt5 和 Qt6 版本。

特别提到：

* 新 Port [x11/xwaylandvideobridge](https://cgit.freebsd.org/ports/tree/x11/xwaylandvideobridge/)。按照设计，X11 应用程序无法访问 Wayland 客户端的窗口或屏幕内容。视频桥接改善了 Wayland 对屏幕共享工具（如 Discord、MS Teams、Skype 等）的支持。屏幕共享完全由 Wayland 用户控制。
* [multimedia/mlt7](https://cgit.freebsd.org/ports/tree/multimedia/mlt7/) 更新到 7.20.0。
* [sysutils/bsdisks](https://cgit.freebsd.org/ports/tree/sysutils/bsdisks/) 更新到 0.33。
* 修复了 [devel/llvm15](https://cgit.freebsd.org/ports/tree/devel/llvm15/) 中的 bug，使 [devel/kdevelop](https://cgit.freebsd.org/ports/tree/devel/kdevelop/) 再次工作。
* 对 [www/qt5-webengine](https://cgit.freebsd.org/ports/tree/www/qt5-webengine/) 和 [www/qt6-webengine](https://cgit.freebsd.org/ports/tree/www/qt6-webengine/) 进行的安全修复。

#### 废弃项

网页浏览器体积庞大，具有相当大的安全面。已于 2023 年最后一天移除了备受推崇的 Port [www/qt5-webkit](https://cgit.freebsd.org/ports/tree/www/qt5-webkit/) WebKit 。

### 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](https://cgit.freebsd.org/ports/tree/x11-wm/mutter/) 和 [x11-wm/metacity](https://cgit.freebsd.org/ports/tree/x11-wm/metacity/)。

目前在 Ports 中，上游不再支持 [x11/gnome-shell](https://cgit.freebsd.org/ports/tree/x11/gnome-shell/)。由于这项工作量较大，为了让用户能够使用 GNOME 44，我决定将更新分开进行，因为它影响到多个 Port。

作为 [x11/budgie](https://cgit.freebsd.org/ports/tree/x11/budgie/) 和 Pantheon 桌面的维护者（Pantheon 是一款基于 [x11-wm/mutter](https://cgit.freebsd.org/ports/tree/x11-wm/mutter/) 的窗口管理器，专为 [elementary OS](https://elementary.io/) 开发），我需要一些更新版的 GNOME 库。

首先，我着手处理 WebKitGTK。4.0“legacy”API 几乎不再被 GNOME 的库使用。最低要求是 4.1 API。我为 Mk/Uses 框架创建了 webkit.mk，以便为 [www/webkit2-gtk3](https://cgit.freebsd.org/ports/tree/www/webkit2-gtk3/) 添加“flavor”。目前有一个 [进行中的努力](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275914)，但它目前不稳定。像 Epiphany、邮件客户端（Geary、Evolution）或包：sysutils/gnome-control-center 中的在线帐户面板等应用程序经常崩溃。

尽管如此，桌面的其余部分是可用的，最新的 GNOME Shell 版本（44.7）是可用的。我已经开始提交我的第一个补丁进行审查（以及 Bugzilla 中的补丁）。

* [D43183](https://reviews.freebsd.org/D43183)
* [D43230](https://reviews.freebsd.org/D43230)
* [D43244](https://reviews.freebsd.org/D43244)
* [D40489](https://reviews.freebsd.org/D40489)

我还移植了 [GNOME Flashback](https://wiki.gnome.org/Projects/GnomeFlashback) 会话模块。它依赖于 [x11-wm/metacity](https://cgit.freebsd.org/ports/tree/x11-wm/metacity/) 和 [x11-toolkits/libwnck3](https://cgit.freebsd.org/ports/tree/x11-toolkits/libwnck3/)。

我还维护了一份 [文档](https://codeberg.org/olivierd/freebsd-ports-gnome/wiki)，并且我们可以 [查看](https://codeberg.org/olivierd/freebsd-ports-gnome/src/branch/screenshots) 可用的各种桌面。

GNOME 45 已接近完成，除了 GNOME Shell 扩展。对于这个版本，我将专注于 Wayland 支持（[bug #258042](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258042) 和 [bug #271836](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271836)）。

欢迎进行测试和补丁，特别是 WebKitGTK。

接下来几个月我计划进行以下工作：

* 允许在显示管理器（gdm）中选择会话，这是我们补丁的回归问题。
* 修复 [sysutils/gnome-control-center](https://cgit.freebsd.org/ports/tree/sysutils/gnome-control-center/) 中的网络共享（VNC、SSH）面板，并为 [bug #275900](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=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](https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273397) 的工作正在推进。感谢 [Antoine Brodin](mailto:antoine@FreeBSD.org) 进行的实验运行以及所有其他开发者和 Ports 维护者的参与。

正如你可能记得的，上个季度，额外的补丁与默认版本更新一起进行了测试，其中一些已经合并：

* [lang/gcc11](https://cgit.freebsd.org/ports/tree/lang/gcc11/) 已切换回 STANDARD\_BOOTSTRAP，并更新到 11.4.0 版本；
* [lang/gcc13](https://cgit.freebsd.org/ports/tree/lang/gcc13/) 已更新到 13.2.0 版本。

大约一半的公开 bug 已经修复，但还有一半未解决。如果你维护任何受影响的 Port，请尝试修复你的 Port 并/或使其能够在基础编译器下构建。

本季度，关于 GCC 的多个 bug 报告也已被打开。待默认 GCC 版本更新完成，所有这些 bug 都将得到解决。

## 第三方项目

许多项目在 FreeBSD 上构建或将 FreeBSD 的组件纳入其项目中。由于这些项目可能对更广泛的 FreeBSD 社区感兴趣，我们有时会在季度报告中包括这些项目提交的简要更新。FreeBSD 项目不对这些提交中的任何声明的准确性或真实性做出任何声明。

### 容器与 FreeBSD：Pot、Potluck 和 Potman

链接： [Pot 在 GitHub 上的组织](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 进行编排](https://www.freebsd.org/news/status/report-2020-01-2020-03/#pot-and-the-nomad-pot-driver)。

在本季度，[Pot 0.16.0](https://github.com/bsdpot/pot/pull/285) 发布，包含 [多个新特性和修复](https://github.com/bsdpot/pot/blob/master/CHANGELOG.md)，其中包括 [一个新设置，用于防止 VNET pots 之间的直接流量](https://github.com/bsdpot/pot/pull/283) 和 [新属性](https://github.com/bsdpot/pot/pull/275)，用于配置 pot 停止行为。还发布了维护/稳定版本的 [potnet (0.5.0)](https://github.com/bsdpot/potnet/pull/56) 和 [nomad-pot-driver (0.10.0)](https://github.com/bsdpot/nomad-pot-driver/pull/52)。

Potluck 旨在成为 FreeBSD 和 Pot 的 Dockerhub，类似于 Docker 对 Linux 和 Docker 的作用：一个存储 Pot flavor 和完整容器镜像的仓库，用于与 Pot 配合使用，在许多情况下也可与 Nomad 配合使用。

在上个季度中，新增的一个容器镜像是 [Zincsearch](https://github.com/bsdpot/potluck/tree/master/zincsearch)，这是一个用 Go 编写的轻量级 Elasticsearch 替代品。

同时，[Mastodon 容器](https://github.com/bsdpot/potluck/tree/master/mastodon-s3) 正在为公共的 [mastodon.africa](https://mastodon.africa/) 实例提供服务。

此外，我们获得了更多的宣传：[BSD Now 第 536 集](https://www.bsdnow.tv/536) 标题为“Pot-flavored Jails”。

像往常一样，欢迎提供反馈和补丁。

赞助商：Nikulipe UAB、Honeyguide Group
