AUR helpers: Difference between revisions
(→Build and search: --ask) |
(→Uploading: rm fork until Talk:AUR helpers#aurpublish_fork is resolved) |
||
Line 161: | Line 161: | ||
* [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_import.sh aur4_import.sh] — Splits a package from a git repository with multiple packages, adding/updating {{ic|.SRCINFO}} for every commit. | * [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_import.sh aur4_import.sh] — Splits a package from a git repository with multiple packages, adding/updating {{ic|.SRCINFO}} for every commit. | ||
* [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_make_submodule.sh aur4_make_submodule.sh] — Replaces a package in a bigger git repository with an AUR 4 submodule, including {{ic|.SRCINFO}}. | * [https://github.com/JonnyJD/PKGBUILDs/blob/master/_bin/aur4_make_submodule.sh aur4_make_submodule.sh] — Replaces a package in a bigger git repository with an AUR 4 submodule, including {{ic|.SRCINFO}}. | ||
Revision as of 11:02, 25 June 2018
Warning:
- AUR helpers are not supported by Arch Linux. It is recommended to become familiar with the manual build process in order to be prepared to troubleshoot problems on one's own.
- AUR helpers can replicate pacman(8) usage for the official repositories, such as
pacman -Syu
. This usage may deviate from pacman in various ways; it is thus not supported or recommended.
AUR helpers are written to automate certain tasks for the Arch User Repository.
Build and search
Note: Do not edit this section prior to discussion in Talk:AUR helpers.
The columns have the following meaning:
- Secure: does not source the PKGBUILD at all by default; or, alerts the user and offers the opportunity to inspect the PKGBUILD manually before it is sourced. Some helpers are known to source PKGBUILDs before the user can inspect them, allowing malicious code to be executed. Optional means that there is a command line flag or configuration option to prevent the automatic sourcing before viewing.
- Clean build: does not export new variables that can prevent a successful build process.
- Native pacman: when used as replacement for pacman(8) commands such as
pacman -Syu
, the following are obeyed by default: [2]
- – do not separate commands, for example
pacman -Syu
is not split topacman -Sy
andpacman -S packages
; - – use pacman directly instead of manual database manipulation or usage of libalpm(3).
- In addition, potentially harmful commands such as
pacman -Ud
,pacman -Rdd
,pacman --ask
orpacman --force
are not used.
- Reliable parser: ability to handle complex packages by using the provided metadata (RPC/.SRCINFO) instead of PKGBUILD parsing, such as aws-cli-gitAUR.
- Reliable solver: ability to correctly solve and build complex dependency chains, such as ros-lunar-desktopAUR.
- Split packages: ability to correctly build and install:
- – Multiple packages from the same package base, without rebuilding or reinstalling multiple times, such as clionAUR
- – Split packages which depend on a package from the same package base, such as libc++AUR and libc++abiAUR.
- – Split packages independently, such as python-pyalsaaudioAUR and python2-pyalsaaudioAUR.
- Git clone: uses git-clone(1) by default to retrieve build files from the AUR.
- Diff view: ability to view package differences on inspection. Besides the PKGBUILD, this includes changes to files such as
.install
or.patch
files. - Batch interaction: ability to prompt in direct succession, in particular for:
- Inspection of PKGBUILDs;
- Summarizing package upgrades;
- Resolution of package conflicts and installations.
- An asterisk denotes functionality specifically enabled by the user.
- Shell completion: tab completion is available for the listed shells.
Note:
- Table rows are sorted by column values, where Yes or N/A take precedence over Partial or Optional and No, or alphabetically if values are equal.
- Optional means that a feature is available, but only through a command-line argument or configuration option. Partial means that a feature is not fully implemented, or that it partially deviates from the given criteria.
Active
Name | Written In | Secure | Clean build | Native pacman | Reliable parser | Reliable solver | Split packages | Git clone | Diff view | Batch interaction | Shell completion | Specificity |
---|---|---|---|---|---|---|---|---|---|---|---|---|
aurmanAUR | Python | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | 1, 2*, 3* | bash, fish | fetch pgp keys, sort by popularity |
aurutilsAUR | Bash/C | Yes | Yes | N/A | Yes | Yes | Yes | Yes | Yes | 1 | zsh | vifm, local repository, package signing, clean chroot support, sort by votes/popularity |
pakkuAUR | Nim | Yes | Yes | Partial | Yes | Yes | Yes | Yes | Yes | 1 | bash, zsh | ABS support, AUR comments, fetch PGP keys |
yayAUR | Go | Yes | Yes | Partial | Yes | Yes | Yes | Yes | Yes | 1, 2, 3 | bash, fish, zsh | sort by votes, fetch PGP keys, prompt architecture |
bauerbillAUR | Python | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | 1 | bash, zsh | Trust management, ABS support, extends Powerpill |
PKGBUILDerAUR | Python | Optional | Yes | Yes | Yes | Yes | Partial | Yes | No | 1* | - | Automatic builds by default, use -F to disable; multilingual
|
naamanAUR | Python | Optional | Yes | N/A | Yes | Partial | Partial | Yes | No | 1* | bash | Automatic builds by default, use --fetch to disable, use -d to enable the solver
|
auraAUR | Haskell | Optional | Yes | Yes | Yes | No | No | No | Partial | 1* | bash, zsh | Automatic builds by default, use --dryrun to disable, downgrade support, multilingual
|
repofishAUR | Bash | Optional | Yes | N/A | No | No | No | Yes | Yes | 1* | - | Automatic builds by default, use check or update to disable, local repository support
|
wrapaurAUR | Bash | Yes | Yes | Yes | No | No | No | Yes | No | - | - | Mirror updates, print news and AUR comments |
aurgetAUR | Bash | Optional | Yes | N/A | No | No | No | No | No | - | bash, zsh | sort by votes |
Search-only
Name | Written In | Secure | Reliable parser | Reliable solver | Git clone | Shell completion | Specificity |
---|---|---|---|---|---|---|---|
pbgetAUR | Python | Yes | Yes | N/A | Yes | - | - |
yaahAUR | Bash | Yes | Yes | N/A | Optional | bash | - |
auracle-gitAUR | C++ | Yes | Yes | Yes | No | - | print build order |
cowerAUR | C | Yes | Yes | N/A | No | bash/zsh | regex support, sort by votes/popularity |
package-queryAUR | C | Yes | No [3] | N/A | N/A | - | - |
repoctlAUR | Go | Yes | Yes [4] | N/A | No | zsh | local repository support |
Discontinued or problematic
This table describes projects which either are discontinued by their authors, or have issues on Security, Clean build or Native pacman (see #Active) unaddressed in the last 6 months.
Name | Written In | Secure | Clean build | Native pacman | Reliable parser | Reliable solver | Split packages | Git clone | Diff view | Batch interaction | Shell completion | Specificity |
---|---|---|---|---|---|---|---|---|---|---|---|---|
aurelAUR [5] | Emacs Lisp | Yes | N/A | N/A | N/A | N/A | N/A | No | N/A | N/A | N/A | Emacs integration, no automatic builds |
pacaurAUR [6] | Bash/C | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | 1, 3 | bash, zsh | multilingual, sort by votes/popularity |
trizenAUR | Perl | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | 1* | bash, zsh, fish | Automatic builds by default, use -G to disable, AUR comments
|
spinachAUR [7] | Bash | Yes | Yes | N/A | No | No | No | No | No | - | - | - |
burgaurAUR [8] | Python/C | Optional | Yes | N/A | No | No | No | No | No | - | - | Wrapper for cower |
packerAUR | Bash | No | Yes | Yes | No | No | No | No | No | - | - | - |
yaourtAUR | Bash/C | No [9] [10] | No | No | No | No | No | Optional | Optional | 2 | bash, zsh, fish | Backup, ABS support, AUR comments, multilingual |
Libraries
- haskell-archlinux — Library to access the AUR and package metadata from the Haskell programming language
- python3-aur — Python 3 modules for accessing AUR package information and automating AUR interactions.
Maintenance
- aur-out-of-date — Uses hoster APIs to check AUR packages for upstream changes
- pkgbuild-watch — Looks for changes on the upstream web pages
- pkgbuildup — Helps AUR package maintainers automatically update PKGBUILD files. Supports a template variable syntax.
- pkgoutofdate — Parses the source URL from PKGBUILDs and tries to find new versions of packages by incrementing the version number and sending requests to the web server
Uploading
- aur4_import.sh — Splits a package from a git repository with multiple packages, adding/updating
.SRCINFO
for every commit. - aur4_make_submodule.sh — Replaces a package in a bigger git repository with an AUR 4 submodule, including
.SRCINFO
.