Difference between revisions of "Aura"

From ArchWiki
Jump to: navigation, search
(Added bash function to search repos and aur.)
(Build failing at configuration step: finally merged)
 
(91 intermediate revisions by 21 users not shown)
Line 1: Line 1:
[[Category:Package management]]
 
 
[[Category:Arch User Repository]]
 
[[Category:Arch User Repository]]
'''Aura''' is a multilingual package manager for Arch Linux written in [[Wikipedia:Haskell|Haskell]].  It connects to both the official [[ABS]] repositories and to the [[Arch User Repository]], allowing easy control of all packages on an Arch system. It allows all pacman operations  and  provides new custom ones for dealing with [[AUR]] packages. This differs from some other [[AUR helpers]].
+
[[ja:Aura]]
 +
{{Redirect|AUR helpers|Most content is up for removal}}
 +
'''Aura''' is a multilingual package manager for Arch Linux written in [[Wikipedia:Haskell (programming language)|Haskell]].  It connects to both the [[ABS]] and [[Arch User Repository]]. Aura caches built package files, so they can be managed like any ABS package would. This includes downgrading with {{ic|-C}}.
  
==Philosophy==
+
See the [https://github.com/aurapm/aura/blob/master/aura/README.md README] and [https://github.com/aurapm/aura/tree/master/doc documentation] for general information.
Aura's philosophy as a package manager can be view in more detail [https://github.com/fosskers/aura/blob/master/README.md here]. The main points are summarized below.
+
* '''Aura is Pacman''' - All [[pacman]] operators and their sub-options are allowed.
+
* '''ABS and AUR are separate''' - New aura-only operators are introduced for handling [[AUR]] packages.
+
* '''Quiet Building''' - Makepkg output is suppressed by default. Unsuppress by using {{ic|-x}} alongside {{ic|-A}}.
+
* '''Run as Root, Build as a User''' - Running makepkg as root or with {{ic|sudo}} is dangerous. Aura builds packages with normal user privileges, even when run with {{ic|sudo}}.
+
* '''Know your System''' - Editing [[PKGBUILD]]s mid-build is not default behaviour. All package research should be done prior to building.
+
* '''Downgradibility''' - Aura caches built package files, so they can be managed like any ABS package would. This includes downgrading with {{ic|-C}}.
+
* '''No Orphans''' - Aura provides several options for dealing with orphaned dependencies.
+
* '''Multilingual''' - Aura provides multiple output languages.  
+
  
 
==Installation==
 
==Installation==
{{Note|A number of Aura's dependencies can be found in the {{ic|[haskell-core]}} repository. These tend to be more recent than those in {{ic|[extra]}}, {{ic|[community}}, and the AUR. Naturally, installing them this way is faster than building manually from the AUR. [https://wiki.archlinux.org/index.php/Haskell_Package_Guidelines#.5Bhaskell.5D See here] on how to add {{ic|[haskell-core]}} as a repository.}}
 
Aura requires the following dependencies to build:
 
===[extra] / [community] / [haskell-core] Dependencies===
 
* {{pkg|ghc}}
 
* {{pkg|haskell-regex-base}}
 
* {{pkg|haskell-parsec}}
 
* {{pkg|haskell-syb}}
 
* {{pkg|haskell-transformers}}
 
* {{pkg|haskell-mtl}}
 
* {{AUR|haskell-json}}
 
  
===AUR Only Dependencies===
+
{{Remove|https://github.com/aurapm/aura/issues/395}}
* {{AUR|haskell-curl}}
+
* {{AUR|haskell-regex-pcre}}
+
  
Once all of these are installed, you can build {{AUR|aura}}.
+
===Binary Package===
 +
The easiest way to install aura without having to worry about Haskell dependencies is via the prebuilt [[AUR]] binary package: {{AUR|aura-bin}}.
  
==Aura-unique Operators==
+
{{Note|At the moment this only works for 64 bit architectures.}}
See the aura [[man page]] for more detailed descriptions.
+
* {{ic|-A}} - Perform actions involving the [[AUR]]. Default action builds and installs [[AUR]] packages.
+
* {{ic|-B}} - Manage the saving and restoring of the global package state. Default action stores a record of all installed packages.
+
* {{ic|-C}} - Perform actions involving the package cache. Default action downgrades packages. This is interactive.
+
* {{ic|-L}} - Perform actions involving the pacman log. Default action opens the log for read-only viewing.
+
* {{ic|-O}} - Perform actions involving orphaned dependencies. Default action lists orphaned dependencies.
+
  
==Usage==
+
=== Source Package ===
===Installing Packages===
+
Install an AUR package:
+
{{bc|aura -A (package)}}
+
  
Author's favourite. Upgrade all AUR packages, show PKGBUILD diffs, and remove unneeded makedeps after installation:
+
The {{AUR|aura}} source package requires Haskell packages which may be not available in the [[official repositories]] or [[AUR]]. All of Aura's dependencies are however available in the ''haskell-core'' repository. See [[ArchHaskell#haskell-core]] on how to add ''haskell-core'' as a repository.
{{bc|aura -Akua}}
+
  
Just sync the package database and upgrade all installed AUR packages:
+
== Tips and tricks ==
{{bc|aura -Ayu}}
+
  
Install with makepkg output unsuppressed:
+
=== Auto-prompt for sudo ===
{{bc|aura -Ax (package)}}
+
  
Install and remove make dependencies afterwards:
+
Aura will not prompt for elevated privileges by default. If you'd like it do so (like some other AUR helpers) you can write a [[Bash/Functions|function]] to elevate aura with sudo when needed:
{{bc|aura -Aa (package)}}
+
  
Show a packages recent PKGBUILD changes when installing:
+
{{bc|<nowiki>function a() {
{{bc|aura -Ak (package)}}
+
  if ! LC_MESSAGES=C aura "$@" > >(tee aura.out); then
 +
    egrep -q '^aura >>=.+sudo.+' aura.out && sudo aura "$@"
 +
  fi
 +
}</nowiki>}}
  
Look up information on an AUR package:
+
See [https://github.com/aurapm/aura/issues/394].
{{bc|aura -Ai (package)}}
+
  
Checkout an AUR package's PKGBUILD:
+
==Troubleshooting==
{{bc|aura -Ap (package)}}
+
  
Search the AUR via a regex:
+
See [https://github.com/aurapm/aura/issues GitHub issues] for known problems.
{{bc|aura -As (regex)}}
+
 
+
===Saving/Restoring the Global Package State===
+
Save the global package state:
+
{{bc|aura -B}}
+
 
+
Restore a saved state. Downgrades upgraded packages, removes recently installed:
+
{{bc|aura -Br}}
+
 
+
Remove old saved states. Saves `number` states and removes the rest.
+
{{bc|aura -Bc (number)}}
+
 
+
===Working with the Package Cache===
+
Downgrade a package (this is interactive):
+
{{bc|aura -C (package)}}
+
 
+
Search the package cache for package files via a regex:
+
{{bc|aura -Cs (regex)}}
+
 
+
Backup the package cache:
+
{{bc|aura -Cb (/path/to/backup/location/)}}
+
 
+
Reduce the package cache to contain only the 5 most recent versions of each package file:
+
{{bc|aura -Cc 5}}
+
 
+
===Working with the Pacman Log===
+
View the pacman log:
+
{{bc|aura -L}}
+
 
+
View log info on a package:
+
{{bc|aura -Li}}
+
 
+
Search the log via a regex:
+
{{bc|aura -Ls (regex)}}
+
 
+
===Working with Orphan Dependencies===
+
Display orphans:
+
{{bc|aura -O}}
+
 
+
Adopt a package (shorthand for -D --asexplicit):
+
{{bc|aura -O (package)}}
+
 
+
Uninstall all orphans:
+
{{bc|aura -Oj}}
+
 
+
===Tips and Tricks===
+
If you want to search the official repositories and the AUR with one command you can do that with a simple bash function. Put the following in your ~/.bashrc:
+
{{bc|function packagesearch () {
+
aura -Ss $1; aura -As $1;
+
} }}
+
 
+
==Multilingual Support==
+
Aura supports multiple output languages. The current available languages (and their flags) are:
+
* '''English''' (default) => {{ic|--english}}
+
* '''Japanese''' => {{ic|--日本語}} or {{ic|--japanese}}
+
* '''Polish'''  => {{ic|--polski}} or {{ic|--polish}}
+
* '''Croatian''' => {{ic|--hrvatski}} or {{ic|--croatian}}
+
* '''German''' => {{ic|--deutsch}} or {{ic|--german}}
+
* '''Spanish''' => {{ic|--español}} or {{ic|--spanish}}
+
* '''Portuguese''' => {{ic|--português}} or {{ic|--portuguese}}
+
* '''French''' => {{ic|--français}} or {{ic|--french}}
+
* '''Russian''' => {{ic|--русский}} or {{ic|--russian}}
+
* '''Italian''' => {{ic|--italiano}} or {{ic|--italian}}
+
* '''Serbian''' => {{ic|--српски}} or {{ic|--serbian}}
+
 
+
{{Note|To use non-ASCII arguments, you will need a UTF-8 compatible terminal client, like [[urxvt]].}}
+
 
+
==Troubleshooting==
+
  
===GHC dependency is too big===
+
== See also ==
While a ~700mB dependency is a big one, ghc is nothing but a build dependency for aura. It is not needed post-installation. Feel free to uninstall it (and any other orphans) with {{ic|aura -Oj}}.
+
  
==External Links==
 
 
* [https://github.com/fosskers/aura Aura's github page]
 
* [https://github.com/fosskers/aura Aura's github page]
 
* [https://bbs.archlinux.org/viewtopic.php?id=155778 Aura's ArchLinux forum post]
 
* [https://bbs.archlinux.org/viewtopic.php?id=155778 Aura's ArchLinux forum post]

Latest revision as of 09:33, 27 May 2016

Tango-emblem-symbolic-link.pngThis article is being considered for redirection to AUR helpers.Tango-emblem-symbolic-link.png

Notes: Most content is up for removal (Discuss in Talk:Aura#)

Aura is a multilingual package manager for Arch Linux written in Haskell. It connects to both the ABS and Arch User Repository. Aura caches built package files, so they can be managed like any ABS package would. This includes downgrading with -C.

See the README and documentation for general information.

Installation

Tango-edit-cut.pngThis section is being considered for removal.Tango-edit-cut.png

Binary Package

The easiest way to install aura without having to worry about Haskell dependencies is via the prebuilt AUR binary package: aura-binAUR.

Note: At the moment this only works for 64 bit architectures.

Source Package

The auraAUR source package requires Haskell packages which may be not available in the official repositories or AUR. All of Aura's dependencies are however available in the haskell-core repository. See ArchHaskell#haskell-core on how to add haskell-core as a repository.

Tips and tricks

Auto-prompt for sudo

Aura will not prompt for elevated privileges by default. If you'd like it do so (like some other AUR helpers) you can write a function to elevate aura with sudo when needed:

function a() {
  if ! LC_MESSAGES=C aura "$@" > >(tee aura.out); then
    egrep -q '^aura >>=.+sudo.+' aura.out && sudo aura "$@"
  fi
}

See [1].

Troubleshooting

See GitHub issues for known problems.

See also