20 个版本

0.3.3 2024年7月29日
0.2.3 2024年7月23日
0.1.26 2024年2月26日
0.1.13 2023年1月25日
0.1.6 2022年10月20日

#88构建实用工具

Download history 115/week @ 2024-05-26 13/week @ 2024-06-02 3/week @ 2024-06-09 1/week @ 2024-06-16 161/week @ 2024-06-23 1/week @ 2024-06-30 85/week @ 2024-07-07 94/week @ 2024-07-14 154/week @ 2024-07-21 437/week @ 2024-07-28 10/week @ 2024-08-04 3/week @ 2024-08-11

每月 631 次下载

MIT 许可证

300KB
3.5K SLoC

Andaman Project

Andaman

Andaman 是一个用 Rust 编写的包构建工具链。它旨在简化构建各种类型的包。

它受到 umpkg 的启发,并旨在成为一个更现代、更灵活的替代品。它还考虑到了单一代码库,因此您可以在单个存储库中定义多个项目,使用多种包格式。

您可以在 Fyra Wiki 页面Terra 开发者文档 中找到更多技术细节。

安装

在安装了 Terra 的系统上,您可以使用 sudo dnf5 in anda(或 dnf)来安装它。

在安装了 Cargo 的系统上,您可以使用 cargo install anda 来安装它。

另外,您也可以从 GitHub 手动下载源代码

git clone https://github.com/FyraLabs/anda
cd anda
git checkout 0.1.18
cargo install --path .

工作原理

Andaman 简单来说是一个元构建系统,它调用其他构建系统来构建和分发包。它通过读取 anda.hcl 中的项目清单,然后调用适当的构建系统来构建包。

功能

  • 构建 RPM
  • 构建 Docker/Podman/OCI 镜像
  • 构建 Flatpak 包

我们在 Fyra Labs 如何使用它

我们使用Andaman快速为我们的发行版构建软件包,包括蓝宝石LinuxTauOS。另一个显著的用途是Terra存储库,它为基于Fedora的发行版提供1000多个软件包。Andaman生成的工件随后发送到我们的组合和存储库管理器Subatomic

历史

Andaman项目经历了许多形式。最初,我们将其编写为一个自定义的RPM前端,作为DNF的替代方案,类似于AUR助手。然而,由于rust和RPM支持存在问题,我们决定迁移到一个基于BuildKit的更通用的CI服务器。但这变成了项目的一个巨大功能蔓延,所以我们决定简单地编写一个构建系统,可以构建各种软件包格式的工件。

依赖

~34–49MB
~869K SLoC