AUR helpers (简体中文)

From ArchWiki
Jump to: navigation, search
翻译状态: 本文是英文页面 AUR helpers翻译,最后翻译时间:2018-07-10,点击这里可以查看翻译后英文页面的改动。
警告: 这些工具都不是官方支持的,参见 [1]。我们建议用户熟悉手动编译过程,以便自行解决问题。

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: The intro could use more than a single sentence. See e.g. [2] (Discuss in Talk:AUR helpers (简体中文)#)

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

编译和搜索

注意: 在于Talk:AUR helpers讨论之前,不要更改这部分的内容。

这些列的含义:

  • 安全:默认不source PKGBUILD,或者在source之前让用户有机会手动检查PKGBUILD。已知某些工具在用户可以检查PKGBUILD之前就执行了source,这会允许执行PKGBUILD中的恶意代码。可选意味着有一个命令行选项或者配置可以在执行source之前检查PKGBUILD。
  • 干净编译:不会引入可能导致编译失败的新环境变量。
  • 原生pacman:在代替pacman(8)执行pacman的命令(如pacman-Syu)时,默认情况遵守如下规则:
    • 不分割命令,例如pacman -Syu不会分为pacman -Sypacman -S packages来执行;
    • 直接使用pacman,而不是直接操作数据库或是使用libalpm
    • 另外,不使用可能有害的命令,例如pacman -Udpacman -Rddpacman --askpacman --force
警告: 尽管有这些标准,但AUR helpers仍可能在某些方面与pacman(8)行为不同,特别对于官方软件仓库中的软件包。所以这些用法并不被支持或推荐。
  • 可靠的语法分析器:有能力通过使用所提供的元数据(PRC/.SRCINFO)代替解析PKGBUILD以处理复杂包,例如aws-cli-gitAUR
  • 可靠的求解器:有能力正确处理复杂的依赖关系,例如ros-lunar-desktopAUR
  • 包拆分:有能力正确地编译和安装:
    • 对于有相同包基础的多个软件包,不重复编译和安装包基础,例如clionAUR
    • 拆分依赖相同包基础的包(Split packages which depend on a package from the same package base), 例如libc++AUR and libc++abiAUR
    • 独立地拆分包,例如python-pyalsaaudioAURpython2-pyalsaaudioAUR
  • Git clone:默认使用git-clone(1)从AUR获取相关文件。
  • 差异比较:有检查包差异的能力。除了PKGBUILD,还包括对.install.patch文件更改的检查。
  • 批量交互:批量完成交互过程,特别是:
  1. 检查PKGBUILD;
  2. 显示要升级的包;
  3. 解决包冲突和安装问题。
星号表示功能需要手动启用。
  • 命令补全:在列出的shell中支持命令补全。
提示:
  • 表格按列的值排序。其中不适用优先于部分可选 以及,如果值相同,则按字母顺序排序。
  • 可选意味着功能可用,但需要通过命令行选项或配置文件启用。部分意味着功能尚未完全实现,或者与标准有一些差别。

开发中

名称 语言 安全 干净编译 原生Pacman 可靠的语法分析器 可靠的求解器 包拆分 Git clone 差异比较 批量交互 命令补全 特性
aurmanAUR Python 1, 2*, 3* bash, fish 获取PGP密钥,按受欢迎度排序
aurutilsAUR Bash/C 不适用 1 zsh 支持vifm本地仓库软件包签名clean chroot,按票数或受欢迎度排序
pakkuAUR Nim 部分 1 bash, zsh ABS支持,AUR评论,获取PGP密钥
pikaurAUR Python 部分 1, 2, 3 bash, fish, zsh dynamic users多语言,按票数或受欢迎度排序,显示Arch新闻
trizenAUR Perl 部分 1* bash, zsh, fish 默认自动编译,使用-G以禁用,AUR评论
yayAUR Go 部分 1, 2, 3 bash, fish, zsh 按票数排序, 获取PGP密钥, 提示架构
bauerbillAUR Python 1 bash, zsh 信任管理,ABS支持,扩展Powerpill
PKGBUILDerAUR Python 可选 部分 1* - 默认自动编译,使用-F以禁用,多语言
naamanAUR Python 可选 不适用 部分 部分 1* bash 默认自动编译,使用--fetch以禁用,使用-d启用求解器
auraAUR Haskell 可选 部分 1* bash, zsh 默认自动编译,使用--dryrun 以禁用,降级支持,多语言
repofishAUR Bash 可选 不适用 1* - 默认自动编译,使用checkupdate 以禁用,支持本地仓库
wrapaurAUR Bash - - 更新源列表,显示Arch新闻和AUR评论
aurgetAUR Bash 可选 不适用 - bash, zsh 按票数排序

仅搜索

名称 语言 安全 可靠的语法分析器 可靠的求解器 Git clone 命令补全 特性
pbgetAUR Python 不适用 - -
yaahAUR Bash 不适用 可选 bash -
auracle-gitAUR C++ - 显示编译顺序
cowerAUR C 不适用 bash/zsh 支持正则表达式,按票数受欢迎度排序
package-queryAUR C [3] 不适用 不适用 - -
repoctlAUR Go [4] 不适用 zsh 支持本地仓库

开发停止或有问题

此表中的是已经停止开发的,或是在过去6个月内有未处理的安全干净编译或是原生pacman的问题(查看#开发中)的项目。

名称 语言 安全 干净编译 原生Pacman 可靠的语法分析器 可靠的求解器 包拆分 Git clone 差异比较 批量交互 命令补全 特性
aurelAUR [5] Emacs Lisp 不适用 不适用 不适用 不适用 不适用 不适用 不适用 不适用 Emacs集成,不自动编译
pacaurAUR [6] Bash/C 1, 3 bash, zsh 多语言,按票数或受欢迎程度排序
spinachAUR [7] Bash 不适用 - - -
burgaurAUR [8] Python/C 可选 不适用 - - cover的包装(Wrapper for cower)
packerAUR Bash - - -
yaourtAUR Bash/C [9] [10] 可选 可选 2 bash, zsh, fish 备份,ABS支持,AUR评论,多语言

  • haskell-archlinux — 访问AUR和包元数据的库,使用Haskell语言编写。
http://hackage.haskell.org/package/archlinux || haskell-archlinuxAUR
  • python3-aur — 用于访问AUR包的信息并自动完成AUR交互的Python 3模块。
http://xyne.archlinux.ca/projects/python3-aur || python3-aurAUR

维护

  • aur-out-of-date — 使用hoster的API检查AUR包的上游改动,
https://github.com/simon04/aur-out-of-date || aur-out-of-dateAUR
  • pkgbuild-watch — 监视上游网页的更改。
http://kmkeen.com/pkgbuild-watch || pkgbuild-watchAUR
  • pkgbuildup — 帮助AUR包的维护者自动更新PKGBUILD,支持模板变量语法。
https://github.com/fasheng/pkgbuildup || pkgbuildup-gitAUR
  • pkgoutofdate — 解析PKGBUILD中的URL,并以发送递增的版本号的方式来检查更新。
https://github.com/anatol/pkgoutofdate || pkgoutofdate-gitAUR

上传

  • aur4_import.sh — 从包含多个包的git仓库拆分包,为每个提交添加更新.SRCINFO
  • aur4_make_submodule.sh — 使用aur4的子模块来替换较大的git仓库的包,包括.SRCINFO.
  • aurpublish — 对AUR的PKGBUILD管理框架。