2022 年回顾 & 迟来的 2023 年新年快乐!
2023 年 2 月 9 日

Gentoo 烟火 再次祝大家 2023 年新年快乐!

2022 年又是充满活力的一年,Gentoo 仍然生机勃勃!2023 年已经开始一段时间了,我们中的一些人甚至已经在 FOSDEM 2023 上见面并建立人脉。不过,我们很高兴再次呈现对过去一年 2022 年 Gentoo 新闻的回顾。继续阅读 以了解新开发者、发行版范围内的举措和改进、Gentoo 开发的最新数据、基础设施的故事,以及现在可以涌现的所有新鲜软件包。

Gentoo 数据

提交到 主 ::gentoo 存储库 的提交数量在 2022 年保持在高水平,从126920126682。外部贡献者的提交数量也是如此,10492,现在有440 个独特的外部作者,比去年的435 个有所增加。

GURU,我们拥有受信任用户模型的用户策划的存储库,显然正在进一步发展。我们在 2022 年有5761 次提交,比 2021 年的5131 次增长了 12%。GURU 的贡献者数量也类似地增加了,从 2021 年的125 人增加到 2022 年的144 人。请加入我们,帮助打包最新和最棒的软件。这是成为一名正式的 Gentoo 开发者的理想准备!

Gentoo 错误跟踪器 bugs.gentoo.org,报告的错误数量和解决的错误数量都明显增加了。我们在 2022 年创建了26362 个错误报告,而 2021 年为24056 个。已解决的错误数量也显示出类似的趋势,2022 年为24499 个,而 2021 年为24076 个。

新开发者

在 2022 年,我们获得了四位新的 Gentoo 开发者。按时间顺序排列,他们是:

  1. Matthew Smith (matthew): Matthew 加入我们 已经是 2 月份的事了,来自英格兰东北部。他是一名嵌入式软件开发人员,帮助开发各种各样的软件包,从molderlang,从nasmtree-sitter

  2. WANG Xuerui (xen0n): Xuerui 是 Gentoo 的长期用户,他 加入我们 成为了 3 月份的开发人员,来自中国上海。他直接投入到最深入的部分,将 LoongArch 支持带到 Gentoo,以及大量的工具链和 qemu 专业知识(只要他的猫允许他)。

  3. Kenton Groombridge (concord): Kenton 来自美国,来自一个真正的 Gentoo 家庭(是的,这样的家庭确实存在)!他 加入 了我们 5 月份。他的专业领域是 Gentoo Hardened 和 SELinux,他已经在那里积累了不少提交!

  4. Viorel Munteanu (ceamac): 11 月份,Viorel 加入我们 ,来自罗马尼亚的布加勒斯特。他在虚拟化和代理维护者团队中很活跃,负责 VirtualBox 堆栈和 TigerVNC 等。

现在让我们来看看 2022 年 Gentoo 的主要改进和新闻。

发行版范围内的举措

  • LiveGUI Gentoo ISO 下载:为了获得即时的完整 Gentoo 体验,我们现在提供了一个每周构建的 3.7GByte amd64 LiveGUI ISO 供下载。它适合从 DVD 或 USB 驱动器启动,并启动到基于稳定 Gentoo 的完整 KDE Plasma 桌面。它包含大量现成的软件,从数十个系统实用程序、LibreOfficeInkscapeTeXLiveFirefoxChromium。此外,所有构建依赖项都已安装,您可以根据需要涌现其他软件包!

  • 现代 C 移植:这个最近的跨发行版计划的目的是将尽可能多的开源软件移植到现代 C 标准。即将发布的 GCC 和 Clang 版本最终将不再支持几十年来已弃用的结构,我们将必须为此做好准备。我们与 Fedora 一起,在这一领域处于领先地位,并且已经投入了大量工作来修复和现代化。

  • Clang / LLVM 作为主要系统编译器:与之密切相关,在 Gentoo 中使用 Clang 作为主要系统编译器的支持从未像现在这样好。对于最流行的架构,我们提供了 LLVM 阶段,它们尽可能地替换了 GNU 工具链(也使用 libc++、compiler-rc、lld 等)。虽然 glibc 目前仍然需要 GCC 来构建,但 LLVM/musl 阶段完全不需要 GNU 工具链。

  • 新的二进制软件包格式gpkg:Gentoo 的软件包管理器 Portage 现在支持在 GLEP 78 中定义的新二进制软件包格式。除了许多小的改进之外,文件格式中最重要的新功能是它完全支持软件包的加密签名。这是 Gentoo 中更广泛的二进制软件包支持的最重要障碍之一。

  • 合并的 usr 配置文件和 systemd 合并的 usr 阶段:所有 systemd 配置文件现在都获得了合并的 usr 子配置文件,对应于文件系统布局,例如 /bin 是指向 /usr/bin 的符号链接。迁移过程已在 新闻项目 中详细说明。通过此举,我们为 systemd 将只支持合并的 usr 布局做好准备,正如上游开发人员 宣布的那样。在所有架构中,我们现在还始终如一地提供除 openrc 下载之外的带有和不带有合并的 usr 布局的 systemd 阶段。为了完整起见,合并的 usr openrc 阶段将随后提供。

架构

  • LoongArch64:同时,LoongArch64 是由中国龙芯公司基于 MIPS 和 RISC-V 部分开发的一种架构,已成为 Gentoo 架构 的完全支持架构,具有工具链支持、广泛的关键词以及最新的阶段可供下载。目前正在销售基于这些芯片的第一批服务器级芯片组。(不过,中国大陆以外的硬件很难获得。)

  • AArch64:我们已经将 AArch64(arm64)的一个特殊变体添加到我们的下载组合中:大端 AArch64。享受吧!

  • PA-RISC:hppa 架构 (PA-RISC) 的每周阶段构建已经回归,包括针对 hppa-1.1 和 hppa-2.0 的 systemd 镜像以及安装光盘。

  • MIPS:MIPS 的每周构建也已经回归!在这里,我们现在可以提供针对 o32、n32 和 n64 ABI 以及多库阶段的下载 - 并且所有这些都针对两种字节序变体和 init 系统。无论您的硬件是什么,您都应该找到一个起点。

  • Hardened:随着越来越多的硬化成为事实上的标准,硬化配置文件中的编译器设置再次收紧,以包含额外的实验性开关。特别是在 Gentoo Hardened 中,gcc 和 clang 现在默认情况下都使用_FORTIFY_SOURCE=3、C++ 标准库断言和启用的堆栈冲突保护

软件包

  • 现代 Java:我们的 Java 项目为恢复语言生态系统,特别是 Gentoo 中的最新 Java 版本付出了巨大的努力。此外,OpenJDK 11 和 OpenJDK 17 已针对大端 ppc64 以及使用 musl 作为 C 库的 x86、riscv 和 arm64 进行引导,从而使现代 Java 能够在这些配置上使用。

  • GNU Emacs:Emacs ebuild-mode 在 2022 年经历了一波热潮。新功能包括新的ebuild-repo-mode、在 package.mask 和朋友中插入用户的姓名和日期戳、支持pkgdev 和 pkgcheck 命令、支持 ebuild 命令输出中的颜色,以及对关键词突出显示代码进行了重大重构。此外,还有用于即时 lint 的 flycheck-pkgcheck 以及用于自动完成的 company-ebuild

  • 数学sci-mathematics 类别增加了定理证明器,例如leanyices2cadabrapicosat。此外,Coq Proof Assistant 生态系统支持已通过新的 Coq 版本、通过 company-coq 的 Emacs 支持以及coq-mathcompcoq-serapiflocqgappalib-coq 等软件包得到了改进。

  • 替代方案:许多基本系统实用程序都存在不同的版本,这些版本或多或少是可直接替换的。一个例子是压缩器bzip2,它有lbzip2pbzip2 作为并行化的替代方案;另一个是tar,它既存在于gtar(GNU tar)中,也存在于 libarchive 中的bsdtar 中。通过 alternatives,我们现在拥有了一个干净的系统,可以通过符号链接的二进制文件将这些选项中的任何一个用作默认程序。

  • Racket:一个 正在进行的项目 旨在为 Racket(Lisp 的现代方言,也是 Scheme 的后代)和 Racket 语言生态系统提供一流的支持。

  • Python: 同时,Gentoo 中的默认 Python 版本已达到 Python 3.10。此外,我们还有稳定的 Python 3.11,这意味着我们完全与上游同步。Gentoo 测试提供了 Python 3.12 的 alpha 版本,因此我们可以轻松地为未来的版本做好准备。

物理和软件基础设施

  • 硬件: 我们的基础设施团队在 OSUOSL 设置了两个新的强力服务器作为 Ganeti 节点,每个节点配备 2x AMD EPYC 7543、1TiB 内存、22TiB NVME 和 25Gbit 网络。这些服务器将在未来为各种服务提供虚拟机。此外,我们还添加了一个新的 1/10/25Gbit 交换机,以更好地支持新旧服务器。

  • Gitlab: 我们现在正在运行一个实验性的自托管 Gitlab 实例,gitlab.gentoo.org。它将逐渐接管并服务越来越多的 Git 仓库。

  • Pkgcore: 基于现有的编码工作,我们创建了一个官方的 Gentoo PkgCore 项目,旨在改进这套用于 Gentoo 开发者的 QA 和提交工具。Repoman 已被弃用并从 Portage 代码库中删除,而 PkgCore 的一部分 pkgcheck 已成为提交到主 Gentoo 仓库的官方 QA 工具。它也是我们自动化持续集成系统的运行代码。

  • Tattoo: 新的 tattoo 架构测试系统现在管理和自动化架构测试过程的很大一部分。这简化并简化了稳定过程,缩短了开发人员的响应时间,并“节省”了架构稳定。

  • Devmanual: Gentoo 开发手册 在 2022 年得到了重大改进。更多的文档总是好的!

Gentoo 基金会的财务状况

  • 收入: Gentoo 基金会在 2022 财年获得了约 16,500 美元的收入;其中大部分(超过 90%)来自社区的个人现金捐赠。

  • 支出: 我们在 2022 年的支出按通常的三类划分:运营支出(用于服务、费用等)11,000 美元,资本支出(用于购买资产)55,000 美元(服务器、网络设备、SSD 等),以及折旧支出(现有资产价值损失)9,500 美元。

  • 结余: 截至 2022 年 7 月 1 日(我们的 2022 财年结束时间),我们的银行存款约为 97,000 美元。2022 年的财务报告草案可在 Gentoo Wiki 上找到

感谢您!

当然,我们年度回顾无法详细涵盖 2022 年 Gentoo 中发生的所有事情,如果您仔细观察,您会发现更多。我们想感谢所有 Gentoo 开发人员和所有为其贡献了贡献的人,感谢他们不懈的日常 Gentoo 工作。 作为一个志愿者项目,如果没有他们,Gentoo 将无法存在。

现在让我们展望 2023 年,希望今年的意外事件比去年少!