#arch-linux #aur #packer

应用 aur_cli

准备 Rust 项目在 Arch Linux 用户仓库 (AUR) 上发布

4 个版本

0.1.3 2023 年 6 月 12 日
0.1.2 2023 年 6 月 12 日
0.1.1 2023 年 6 月 12 日
0.1.0 2023 年 6 月 12 日

#2534命令行工具

MIT 许可证

1MB
357 代码行

aur_cli

Crates.io Rust license

aur_cli 是一个 CLI,用于为 Rust 项目生成发布 tarball 和 PKGBUILD 文件,以便在 Arch Linux 用户仓库 (AUR) 上发布。

无需额外配置。只要您的 Cargo.toml 包含 常规字段,就会生成一个包含所有必要部分的 PKGBUILD。

安装

猜猜看?aur_cli 本身就在 AUR 上!使用与 AUR 兼容的

yay -S aur_cli

... 或通过 cargo

cargo install aur_cli

用法

基础

导航到 Rust 项目,然后运行

aur_cli

这将生成一个 foobar-1.2.3-x86_64.tar.gz tarball 和一个 PKGBUILD。

如果您愿意,现在可以运行 makepkg 来确保您的软件包确实可以构建。

> makepkg
==> Making package: aur_cli-bin 1.0.0-1 (Wed 10 Jun 2020 08:23:46 PM PDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
... etc ...
==> Finished making: aur_cli 1.0.0-1 (Wed 10 Jun 2020 08:23:47 PM PDT)

此时,您需要自己

  1. 在 Github/Gitlab 上创建官方的 Release,并附加 aur_cli 生成的原始二进制 tarball。
  2. 将 PKGBUILD 复制到跟踪您软件包发布的 git 仓库。
  3. 运行 makepkg --printsrcinfo > .SRCINFO
  4. 提交这两个文件并将它们推送到 AUR。

如果需求足够,将来可能在 aur_cli 中自动化这些步骤。

自定义二进制名称

如果您在 Cargo.toml 中指定了 [[bin]] 部分,并设置了 name 字段,则此名称将用作 PKGBUILD 中安装的二进制名称。

dependsoptdepends

如果您的软件包在运行时需要其他 Arch 软件包,您可以在 Cargo.toml 中像这样指定这些设置

[package.metadata]
depends = ["nachos", "pizza"]
optdepends = ["sushi", "ramen"]

并将这些设置复制到您的 PKGBUILD 中。

静态二进制文件

使用 --musl 运行以生成通过 MUSL 静态链接的发布二进制文件。

> aur_cli --musl
> cd target/x86_64-unknown-linux-musl/release/
> ldd <your-binary>
    not a dynamic executable

依赖关系

~3–14MB
~143K SLoC