User:Svito/AUR helpers: Difference between revisions

From ArchWiki
(reset page for new draft)
m (→‎Pacman wrappers: add back batch interaction links)
(2 intermediate revisions by the same user not shown)
Line 21: Line 21:
# Summary of package upgrades;
# Summary of package upgrades;
# Resolution of package conflicts and installations.
# Resolution of package conflicts and installations.
:An asterisk denotes functionality specifically enabled by the user.
* ''Shell completion'': [[w:Command-line_completion|tab completion]] is available for the listed [[shell]]s.
* ''Shell completion'': [[w:Command-line_completion|tab completion]] is available for the listed [[shell]]s.


{{Note|<nowiki></nowiki>
{{Note|<nowiki></nowiki>
* 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.
* 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.}}
* ''Optional'' or asterisk(*) 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.}}


== Pacman wrappers ==
== Pacman wrappers ==
Line 36: Line 35:
|-
|-
! {{AUR|yay}}
! {{AUR|yay}}
| Go || {{Yes}} || {{G|[https://github.com/Jguer/yay/pull/447 Yes]}} || {{G|[https://github.com/Jguer/yay/pull/297 Yes]}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || [https://github.com/Jguer/yay/commit/3bdb5343218d99d40f8a449b887348611f6bdbfc {{ic|-Sy}}], [https://github.com/Jguer/yay/commit/ea5a94e0f8bb5f76879099e6d319c0c0102231c2 {{ic|--ask}}] || 1, 2*, 3* || bash, fish, zsh || {{L|fetch PGP keys, sort by votes/popularity, [https://github.com/Jguer/yay/commit/4bcd3a6297052714e91e3f886602ce5c12d15786 prompt architecture]}}
| Go || {{Yes}} || {{G|[https://github.com/Jguer/yay/pull/447 Yes]}} || {{G|[https://github.com/Jguer/yay/pull/297 Yes]}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || [https://github.com/Jguer/yay/commit/3bdb5343218d99d40f8a449b887348611f6bdbfc {{ic|-Sy}}*]<br>[https://github.com/Jguer/yay/commit/ea5a94e0f8bb5f76879099e6d319c0c0102231c2 {{ic|--ask}}*] || 1, [https://github.com/Jguer/yay/commit/3bdb5343218d99d40f8a449b887348611f6bdbfc 2*], [https://github.com/Jguer/yay/commit/ea5a94e0f8bb5f76879099e6d319c0c0102231c2 3*] || bash, fish, zsh || {{L|fetch PGP keys, sort by votes/popularity, [https://github.com/Jguer/yay/commit/4bcd3a6297052714e91e3f886602ce5c12d15786 prompt architecture]}}
|-
|-
! {{AUR|pakku}}
! {{AUR|pakku}}
Line 45: Line 44:
|-
|-
! {{AUR|trizen}}
! {{AUR|trizen}}
| Perl || {{Yes}} || {{Yes}} ||{{G|[https://github.com/trizen/trizen/commit/6fb0cc9e0ab66b8cca9493b0618ba4bab5fd2252 Yes]}} || {{G|[https://github.com/trizen/trizen/commit/7ab7ee5f9f1f5d971b731d092fc8e1dd963add4b Yes]}}  || {{Yes}} || {{Y|[https://github.com/trizen/trizen/issues/46 Partial]}} || {{Yes}} || {{Y|[https://github.com/trizen/trizen/commit/9e7b40e110175ea5bc7a0fa002ffadbf1106704b{{ic|-Ud}}] || 1* || bash, fish, zsh || {{L|automatic builds by default, use {{ic|-G}} to disable; AUR comments}}
| Perl || {{Yes}} || {{Yes}} ||{{G|[https://github.com/trizen/trizen/commit/6fb0cc9e0ab66b8cca9493b0618ba4bab5fd2252 Yes]}} || {{G|[https://github.com/trizen/trizen/commit/7ab7ee5f9f1f5d971b731d092fc8e1dd963add4b Yes]}}  || {{Yes}} || {{Y|[https://github.com/trizen/trizen/issues/46 Partial]}} || {{Yes}} || {{Y|[https://github.com/trizen/trizen/commit/9e7b40e110175ea5bc7a0fa002ffadbf1106704b{{ic|-Ud}}*] || 1* || bash, fish, zsh || {{L|automatic builds by default, use {{ic|-G}} to disable; AUR comments}}
|-
|-
! {{AUR|aura}}
! {{AUR|aura}}
Line 54: Line 53:
|-
|-
! {{Grey|{{AUR|aurman}} <br> <small>([https://github.com/polygamma/aurman#stopped-development-for-public-use no&nbsp;user&nbsp;support])</small>}}
! {{Grey|{{AUR|aurman}} <br> <small>([https://github.com/polygamma/aurman#stopped-development-for-public-use no&nbsp;user&nbsp;support])</small>}}
| Python || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{G|[https://github.com/polygamma/aurman/wiki/Description-of-the-aurman-dependency-solving Yes]}} || {{Yes}} || {{Yes}} || [https://github.com/polygamma/aurman/commit/6c02ba3 {{ic|-Sy}}], [https://github.com/polygamma/aurman#make-use-of-the-undocumented---ask-flag-of-pacman {{ic|--ask}}] || 1, 2*, 3* || bash, fish || {{L|fetch PGP keys, sort by votes/popularity, print news}}
| Python || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{G|[https://github.com/polygamma/aurman/wiki/Description-of-the-aurman-dependency-solving Yes]}} || {{Yes}} || {{Yes}} || [https://github.com/polygamma/aurman/commit/6c02ba3 {{ic|-Sy}}*]<br>[https://github.com/polygamma/aurman#make-use-of-the-undocumented---ask-flag-of-pacman {{ic|--ask}}*] || 1, [https://github.com/polygamma/aurman#question-6 2*, 3*] || bash, fish || {{L|fetch PGP keys, sort by votes/popularity, print news}}
|-
|-
! {{Grey|1={{AUR|pacaur}} <br> <small>([https://bbs.archlinux.org/viewtopic.php?pid=1755144#p1755144 discontinued])</small>}}
! {{Grey|1={{AUR|pacaur}} <br> <small>([https://bbs.archlinux.org/viewtopic.php?pid=1755144#p1755144 discontinued])</small>}}
| Bash/C || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || [https://github.com/rmarquis/pacaur/commit/d8f49188452785fb28afc017baadd01d9e24ba21 {{ic|-Ud}}], [https://github.com/rmarquis/pacaur/commit/12707cc7f9fb733082dcb33e22e4994c11eabb5f {{ic|--ask}}] || 1, 3 || bash, zsh || {{L|multilingual, sort by votes/popularity}}
| Bash/C || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || [https://github.com/rmarquis/pacaur/commit/d8f49188452785fb28afc017baadd01d9e24ba21 {{ic|-Ud}}]<br>[https://github.com/rmarquis/pacaur/commit/12707cc7f9fb733082dcb33e22e4994c11eabb5f {{ic|--ask}}] || 1, 3 || bash, zsh || {{L|multilingual, sort by votes/popularity}}
|-
|-
! {{Grey|{{AUR|wrapaur}} <br> <small>(discontinued)</small>}}
! {{Grey|{{AUR|wrapaur}} <br> <small>(discontinued)</small>}}

Revision as of 01:21, 28 August 2018

Legend

The columns have the following meaning:

  • File review: 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.
  • Diff view: ability to view package differences on inspection. Besides the PKGBUILD, this includes changes to files such as .install or .patch files.
  • Git clone: uses git-clone(1) by default to retrieve build files from the AUR.
  • 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.
  • Clean build: does not export new variables that can prevent a successful build process.
  • Batch interaction: ability to prompt before the build process, in particular:
  1. Inspection of package files or their differences;
  2. Summary of package upgrades;
  3. Resolution of package conflicts and installations.
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 or asterisk(*) 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.

Pacman wrappers

Warning: pacman(8) wrappers abstract the work of the package manager. They may (optionally or by default) introduce unsafe flags, or other unexpected behavior leading to a defective system.
Name Written in File review Diff view Git clone Reliable parser Reliable solver Split packages Clean build Unsafe flags Batch interaction Shell completion Specificity
yayAUR Go Yes Yes Yes Yes Yes Yes Yes -Sy*
--ask*
1, 2*, 3* bash, fish, zsh fetch PGP keys, sort by votes/popularity, prompt architecture
pakkuAUR Nim Yes Yes Yes Yes Yes Yes Yes -Sy 1 bash, zsh ABS support, AUR comments, fetch PGP keys
pikaurAUR Python Yes Yes Yes Yes Yes Yes Yes -Sy 1, 2, 3 bash, fish, zsh dynamic users, multilingual, sort by votes/popularity, print news, ignore errors
trizenAUR Perl Yes Yes Yes Yes Yes Partial Yes -Ud* 1* bash, fish, zsh automatic builds by default, use -G to disable; AUR comments
auraAUR Haskell Optional Partial No Yes No No Yes 1* bash, zsh automatic builds by default, use --dryrun to disable; downgrade support, multilingual
yaourtAUR Bash/C No [1] [2] Optional Optional No No No No -Sy 2 bash, fish, zsh ABS support, print AUR comments, multilingual
aurmanAUR
(no user support)
Python Yes Yes Yes Yes Yes Yes Yes -Sy*
--ask*
1, 2*, 3* bash, fish fetch PGP keys, sort by votes/popularity, print news
pacaurAUR
(discontinued)
Bash/C Yes Yes Yes Yes Yes Yes Yes -Ud
--ask
1, 3 bash, zsh multilingual, sort by votes/popularity
wrapaurAUR
(discontinued)
Bash Yes No Yes No No No Yes mirror updates, print news and AUR comments
packer-aurAUR
(discontinued)
Bash No No No No No No Yes