AUR helpers (简体中文)

pacman只会处理其仓库中预先构建好的软件包的更新。AUR软件包以PKGBUILD的形式再分发并需要AUR helper来自动化构建流程。然而请注意,即使软件包自身并没有更新,但由于某些库文件的更新,您可能仍需重新构建某些软件包、

翻译状态:本文是 AUR helpers翻译。上次翻译日期:2021-03-26。如果英文版本有所更改,则您可以帮助同步翻译。
警告: 这些工具都不是官方支持的。用户应当熟悉 手动构建过程,以方便排查问题。
注意: 请使用讨论页建议对此文章的修改:Talk:AUR helpers

在使用Arch用户软件仓库时,AUR工具可以自动完成某些任务:

  • 搜索在AUR中发布的软件包
  • 解析AUR软件包之间的依赖关系
  • 下载AUR软件包
  • 下载网站内容,例如用户评论
  • 提交AUR软件包

不会为AUR软件包检查更新,所以一些工具也可以自动从AUR检查更新并再次构建新版本的软件包。请注意,即使软件包自身并没有更新,但由于某些库文件的更新,您可能仍需重新构建某些软件包、

词汇表

#对比表中这些列的含义:

文件检查
默认source PKGBUILD,或者在之前让用户有机会手动检查PKGBUILD。已知某些工具在用户可以检查PKGBUILD之前就执行了,这会允许执行PKGBUILD中的恶意代码
差异比较
有检查包差异的能力。除了PKGBUILD,还包括对.install.patch文件更改的检查。
Git clone
默认使用git-clone(1)从AUR获取相关文件。
可靠的语法分析器
有能力通过使用所提供的元数据(PRC/.SRCINFO)代替解析PKGBUILD以处理复杂包,例如aws-cli-gitAUR
可靠的求解器
有能力正确处理复杂的依赖关系,例如ros-lunar-desktopAUR[损坏的链接:package not found]
包拆分
有能力正确地构建和安装:
  • 对于有相同包基础的多个软件包,不重复构建和安装包基础,例如。
  • 拆分依赖相同包基础的包(Split packages which depend on a package from the same package base), 例如 and 。
  • 独立地拆分包,例如python-pyalsaaudioAUR和。
Shell补全
Tab completion在列出的shell中可用

对比表

搜索和下载

名称语言Git clone可靠的语法分析器可靠的求解器命令补全特性
C++bash
Python
Gozsh
Bashbash

搜索和构建

名称语言文件检查差异比较Git clone可靠的语法分析器可靠的求解器包拆分命令补全特性
Bashbash, zsh
Pythonbash, zsh
Python
Rustbash, zsh

Pacman封装

名称语言文件检查差异比较Git clone可靠的语法分析器可靠的求解器包拆分不安全的参数命令补全特性
Haskellbash, fish, zsh
paruAUR Rust-Sy
--ask
bash, fish, zsh
Python-Sybash, fish, zsh
Perlbash,zsh,fish
Go-Sy
--ask
bash,fish,zsh
Nim-Sybash,zsh

开发停止或有问题

此表中的是已经停止开发的,或是在过去6个月内有未处理的文件检查Clean build或是原生pacman的问题的项目。

名称语言原生pacman文件检查Clean build可靠的语法分析器可靠的求解器拆分包Git clone差异比较批量处理命令补全特性
[损坏的链接:package not found] Emacs Lisp
pacaurAUR Bash/C1,3bash,zsh
[损坏的链接:package not found] Bash
[损坏的链接:package not found] Bash
[损坏的链接:package not found] Python/C
[损坏的链接:package not found] Bash
[损坏的链接:package not found] Bash/C 2bash,zsh,fish备份 (更改pacman数据库!),ABS支持,显示AUR评论,多语言
Python1,2*,3*bash,fish
[损坏的链接:package not found] Python1*bash
[损坏的链接:package not found] Bash1*
Bashbash,zsh

图形化工具

名称语言GUI toolkit后端注意
C GTK+ 2 auracle
argonAUR Python GTK+ 3 auracle, pacaur
Bash TUI auracle, trizen
C GTK+ 3
Python GTK+3 auracle
Vala GTK+ 3 使用libalpm(3)而不是
Python GTK+ 3 pakku
Python Qt 5
Bash GTK+ 3 auracle
C++ Qt 5 trizen, pacaur, yaourt
Go TUI

维护

    • aurpublish 帮助使用git-subtree(1)管理和上传AUR软件包。使用githooks(5)验证PKGBUILD完整性,自动生成.SRCINFO并创建commit模板
    https://github.com/eli-schwartz/aurpublish || aurpublish
      • pkgbuild-watch 监视上游网页的更改。
      http://kmkeen.com/pkgbuild-watch || pkgbuild-watchAUR

        其它

        • aur4_import.sh — 从包含多个包的git仓库拆分包,为每个提交添加更新。
        • aur4_make_submodule.sh — 使用aur4的子模块来替换较大的git仓库的包,包括.
        This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.