AUR helpers (简体中文)
(Redirected from AUR Helpers (简体中文))
Jump to navigation
Jump to search
在使用Arch用户软件仓库时,AUR工具可以自动完成某些任务。大多数工具可以自动下载包的PKGBUILD并构建软件包。大多数情况下,pacman不会为AUR软件包检查更新,所以一些工具也可以自动从AUR检查更新并再次构建新版本的软件包。请注意,即使软件包自身并没有更新,但由于某些库文件的更新,您可能仍需重新构建某些软件包、
由于AUR工具并不被官方支持,所以它们不在官方软件仓库中提供。
构建和搜索
这些列的含义:
- 文件检查:默认不
source
PKGBUILD,或者在source
之前让用户有机会手动检查PKGBUILD。已知某些工具在用户可以检查PKGBUILD之前就执行了source
,这会允许执行PKGBUILD中的恶意代码。可选意味着有一个命令行选项或者配置可以在执行source
之前检查PKGBUILD。 - Clean build:不会引入可能导致构建失败的新环境变量。
- 原生pacman:在代替pacman(8)执行pacman的命令(如
pacman-Syu
)时,默认情况遵守如下规则:- 不分割命令,例如
pacman -Syu
不会分为pacman -Sy
和pacman -S packages
来执行; - 直接使用
pacman
,而不是直接操作数据库或是使用libalpm
; - 另外,不使用可能有害的命令,例如
pacman -Ud
,pacman -Rdd
,pacman --ask
或pacman --force
。
- 不分割命令,例如
- 可靠的语法分析器:有能力通过使用所提供的元数据(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-pyalsaaudioAUR和python2-pyalsaaudioAUR。
- Git clone:默认使用git-clone(1)从AUR获取相关文件。
- 差异比较:有检查包差异的能力。除了PKGBUILD,还包括对
.install
或.patch
文件更改的检查。 - 批量交互:批量完成交互过程,特别是:
- 检查PKGBUILD;
- 显示要升级的包;
- 解决包冲突和安装问题。
- 星号表示功能需要手动启用。
- 命令补全:在列出的shell中支持命令补全。
开发中
名称 | 语言 | 原生pacman | 文件检查 | Clean build | 可靠的语法分析器 | 可靠的求解器 | 包拆分 | Git clone | 差异比较 | 批量处理 | 命令补全 | 特性 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
aurmanAUR | Python | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 1,2*,3* | bash,fish | 导入PGP密钥,按票数或欢迎度排序,显示新闻 |
aurutilsAUR | Bash/C | – | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 1 | zsh | vifm,本地仓库,包签名,clean chroot支持,按票数或受欢迎度排序 |
yayAUR | Go | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 1,2*,3* | bash,fish,zsh | 按票数排序,导入PGP密钥,架构提示 |
pakkuAUR | Nim | 拆分 -Syu |
是 | 是 | 是 | 是 | 是 | 是 | 是 | 1 | bash,zsh | ABS支持,AUR评论,导入PGP密钥 |
pikaurAUR | Python | 拆分 -Syu |
是 | 是 | 是 | 是 | 是 | 是 | 是 | 1,2,3 | bash,fish,zsh | 动态用户,多语言,按票数或受欢迎度排序,显示新闻,忽略错误 |
trizenAUR | Perl | 是 | 是 | 是 | 是 | 是 | 部分 | 是 | 是 | 1* | bash,zsh,fish | 默认自动构建,使用-G 以禁用,AUR评论
|
bauerbillAUR | Python | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 否 | 1 | bash,zsh | 信任管理,ABS支持,Powerpill扩展 |
PKGBUILDerAUR | Python | 是 | 可选 | 是 | 是 | 是 | 部分 | 是 | 否 | 1* | – | 默认自动构建,使用-F 以禁用; 多语言
|
naamanAUR[broken link: package not found] | Python | – | 可选 | 是 | 是 | 部分 | 部分 | 是 | 否 | 1* | bash | 默认自动构建,使用--fetch 以禁用,使用-d 启用求解器
|
auraAUR | Haskell | 是 | 可选 | 是 | 是 | 否 | 否 | 否 | 部分 | 1* | bash,zsh | 默认自动构建,使用--dryrun 以禁用,降级支持,多语言
|
repofishAUR | Bash | – | 可选 | 是 | 否 | 否 | 否 | 是 | 是 | 1* | – | 默认自动构建,使用check 或update 以禁用,本地仓库支持
|
aurgetAUR | Bash | – | 可选 | 是 | 否 | 否 | 否 | 否 | 否 | – | bash,zsh | 按票数排序 |
仅搜索
名称 | 语言 | 文件检查 | 可靠的语法分析器 | 可靠的求解器 | Git clone | 命令补全 | 特性 |
---|---|---|---|---|---|---|---|
pbgetAUR | Python | 是 | 是 | – | 是 | - | - |
yaahAUR | Bash | 是 | 是 | – | 可选 | bash | - |
auracle-gitAUR | C++ | 是 | 是 | 是 | 否 | - | 显示构建顺序 |
cowerAUR[broken link: package not found] | C | 是 | 是 | – | 否 | bash/zsh | 支持正则表达式,按票数受欢迎度排序 |
package-queryAUR | C | 是 | 否 [2] | – | – | - | - |
repoctlAUR | Go | 是 | 是 [3] | – | 否 | zsh | 支持本地仓库 |
开发停止或有问题
此表中的是已经停止开发的,或是在过去6个月内有未处理的文件检查,Clean build或是原生pacman的问题(查看#构建和搜索)的项目。
名称 | 语言 | 原生pacman | 文件检查 | Clean build | 可靠的语法分析器 | 可靠的求解器 | 拆分包 | Git clone | 差异比较 | 批量处理 | 命令补全 | 特性 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
aurelAUR [4] | Emacs Lisp | – | 是 | – | – | – | – | 否 | – | – | – | Emacs插件,不自动构建 |
pacaurAUR [5] | Bash/C | 使用 -Ud |
是 | 是 | 是 | 是 | 是 | 是 | 是 | 1,3 | bash,zsh | 多语言, 按票数或受欢迎度排序 |
wrapaurAUR[broken link: package not found] | Bash | 是 | 是 | 是 | 否 | 否 | 否 | 是 | 否 | – | – | 更新镜像列表显示新闻和AUR评论 |
spinachAUR [6] | Bash | – | 是 | 是 | 否 | 否 | 否 | 否 | 否 | – | – | – |
burgaurAUR[broken link: package not found] [7] | Python/C | – | 可选 | 是 | 否 | 否 | 否 | 否 | 否 | – | – | cower的包装 |
packer-aur-gitAUR[broken link: package not found] | Bash | 是 | 否 | 是 | 否 | 否 | 否 | 否 | 否 | – | – | – |
yaourtAUR[broken link: package not found] | Bash/C | 拆分 -Syu |
否 [8] [9] | 否 | 否 | 否 | 否 | 可选 | 可选 | 2 | bash,zsh,fish | 备份 (更改pacman数据库!),ABS支持,显示AUR评论,多语言 |
图形化工具
名称 | 语言 | GUI toolkit | 后端 | 注意 |
---|---|---|---|---|
aarchupAUR | C | GTK+ 2 | auracle | – |
argonAUR | Python | GTK+ 3 | auracle, pacaur | – |
cylonAUR | Bash | TUI | auracle, trizen | – |
kaluAUR | C | GTK+ 3 | – | – |
pactrayAUR | Python | GTK+3 | auracle | – |
pamac-aurAUR | Vala | GTK+ 3 | – | 使用libalpm(3)而不是pacman(8) |
pakku-guiAUR | Python | GTK+ 3 | pakku | – |
pkgbrowserAUR | Python | Qt 5 | – | – |
updatehintAUR | Bash | GTK+ 3 | auracle | – |
octopiAUR | C++ | Qt 5 | trizen, pacaur, yaourt | 默认启用的通知服务 将进行 部分升级 |
库
- haskell-archlinux — 访问AUR和包元数据的库,使用Haskell语言编写。
- python3-aur — 用于访问AUR包的信息并自动完成AUR交互的Python 3模块。
维护
- aur-out-of-date — 使用hoster的API检查AUR包的上游改动。
- pkgbuild-watch — 监视上游网页的更改。
- pkgbuildup — 帮助AUR包的维护者自动更新PKGBUILD,支持模板变量语法。
- pkgoutofdate — 解析PKGBUILD中的URL,并以发送递增的版本号的方式来检查更新。
上传
- aur4_import.sh — 从包含多个包的git仓库拆分包,为每个提交添加更新
.SRCINFO
。 - aur4_make_submodule.sh — 使用aur4的子模块来替换较大的git仓库的包,包括
.SRCINFO
. - aurpublish — 对AUR的PKGBUILD管理框架。