ITADN
AerynOS/recipes
AerynOS/recipes · 文件 下载 ZIP
文件最后提交记录最后更新时间
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

Recipes

本仓库包含从源码构建 AerynOS 所需的所有配方。

我们不接受使用 genAI/LLM 聊天机器人/智能体撰写的贡献

我们的立场是,我们在这里是为了帮助训练人们的思维和技能。打个比方,如果你带一个工业机器人去健身房让它替你举重,那就违背了初衷。

更多详情,请参阅我们的 贡献指南

在开发我们的基础设施和工具期间保持仓库精简

我们目前正在开发一项技术,该技术将允许我们扩展仓库规模,而无需过多担心 ABI 不匹配的包。

在该技术就绪之前,我们不得不非常严格地限制接受进入仓库的包,以避免我们需要进行的手动重建数量激增。

请理解并接受,这是一个由必要性驱动的有意识的选择。

当前的打包重点

AerynOS 应被视为一个处于开发中的、Alpha 质量的技术预览版 Linux 发行版,目前主要存在是为了验证我们的工具方法。随着工具和功能基础设施的成熟,这显然会发生变化。

目前的重点完全在于维护我们当前支持的桌面堆栈 + 开发工具。

目前的目标是发布以下内容:

  • 桌面环境(COSMIC、GNOME 和 KDE 被视为稳定)
  • 任何“轻量级”合成器及其相关技术栈(例如 Sway 和 Niri)
  • 预配置 flathub 的 Flatpak
  • GNOME Software / KDE Discover(等待 moss 集成,正在开发中)
  • Firefox
  • Thunderbird
  • 用于打包和开发该发行版的开发工具。

其他重点领域:

  • 无状态启用(+ 隔离的 usr)
  • 内核启用
  • 基于指标的包性能改进
  • 包更新和错误修复

针对使用 AerynOS 主机系统的用户的打包入门

参见 https://aerynos.dev/packaging/

Git 摘要要求

为了保持 git 摘要的可读性,AerynOS 要求使用以下 git 摘要格式

  • name: Add at v<version>
  • name: Update to v<version>
  • name: Fix <...>
  • [NFC] name: <description of no functional change commit>

使用 jq 解析 manifest.*.jsonc 文件

我们提供 .jsonc(带注释的 JSON)清单文件,然而,流行的 jq 工具目前不支持 .jsonc 文件。

话虽如此,您可以使用 C 预处理器在传递给 jq 之前去除任何注释,如下所示:

cpp -P -E manifest.x86_64.jsonc | jq .packages

.env 文件中指定 just 默认变量

recipes/ 目录的根目录下,与提供的 justfile 相邻的位置,创建一个 .env 文件。

.env 文件示例:

# 所有安装都需要设置一个默认的本地仓库以便使用
# 如果你比较挑剔,想要使用不同于默认的路径,
# 请取消下方注释并修改:
# LOCAL_REPO="${HOME}/.cache/local_repo/x86_64"

覆盖默认的 boulder 参数

如果你不是在 AerynOS 上使用系统提供的 boulder 包进行构建,或者在使用 just 目标时想要为 boulder 调用指定自定义参数, 你可能受益于在 recipes/ 根目录下,与 justfile 相邻的位置,向你的 .env 文件中添加以下部分或全部选项:

# 如果你想使用不同于 /usr/bin 中的 boulder,请取消此注释
# BOULDER="${HOME}/.local/bin/boulder"
# 如果你想显式覆盖附带的 boulder 配置,请取消此注释
# BOULDER_ARGS="--data-dir=${HOME}/.local/share/boulder --config-dir=${HOME}/.config/boulder --moss-root=${HOME}/.cache/boulder"

justfile 的设置允许你选择在 just 的命令行调用中指定环境变量:

示例:

BOULDER_ARGS="--data-dir=${HOME}/.local/share/boulder" just build

许可证

除非另有说明,所有打包配方均可在 MPL-2.0 许可证条款下使用。

单个软件发行版遵循上游指定的条款, 收集于每个 stone.yaml 配方中。针对 软件包的任何补丁均遵循各上游的相关许可证。

Copyright © 2020-2025 Serpent OS Developers.

Copyright © 2025- AerynOS Developers.