#aur #arch-linux #packer

app aur-cli-git

为在 Arch Linux 用户仓库中发布做准备

1 个不稳定版本

0.1.3 2023 年 7 月 1 日

#20 in #aur

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
~142K SLoC