Difference between revisions of "Aura"

From ArchWiki
Jump to navigation Jump to search
(only AUR helper page left which doesn't redirect to AUR helper, redirect as installation should be documented upstream)
 
(63 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[[Category:Package management]]
+
#REDIRECT: [[AUR helpers]]
[[Category:Arch User Repository]]
 
'''Aura''' is a multilingual package manager for Arch Linux written in [[Wikipedia:Haskell (programming language)|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]].
 
 
 
==Philosophy==
 
Aura's philosophy as a package manager can be viewed 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==
 
===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}}.
 
 
 
{{Note|At the moment this only works for 64 bit architectures.}}
 
 
 
=== Source Package ===
 
 
 
{{Note|All of Aura's dependencies can be found prebuilt in the ''haskell-core'' repository. These tend to be more recent than those in the [[community]] repository and the AUR. Naturally, installing them this way is faster than building manually from the AUR. See [[Haskell Package Guidelines#.5Bhaskell-core.5D]] on how to add ''haskell-core'' as a repository.}}
 
 
 
Aura requires the following dependencies to build:
 
 
 
==== community/haskell-core dependencies ====
 
 
 
* {{pkg|ghc}}
 
* {{pkg|haskell-regex-base}}
 
* {{pkg|haskell-parsec}}
 
* {{AUR|haskell-syb}}
 
* {{pkg|haskell-mtl}}
 
* {{AUR|haskell-json}}
 
* {{AUR|haskell-temporary}}
 
 
 
==== haskell-core/AUR dependencies ====
 
 
 
* {{AUR|haskell-regex-pcre-builtin}}
 
* {{AUR|haskell-http-conduit}}
 
 
 
==== The Aura source package on AUR ====
 
 
 
Once all of these are installed, you can install {{AUR|aura}} from the [[Arch User Repository]].
 
 
 
==Aura-unique Operators==
 
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|-M}} - Perform actions involving the ABS tree. Default action manually builds from your local ABS tree.
 
* {{ic|-O}} - Perform actions involving orphaned dependencies. Default action lists orphaned dependencies.
 
 
 
==Usage==
 
===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:
 
{{bc|aura -Akua}}
 
 
 
Just sync the package database and upgrade all installed AUR packages:
 
{{bc|aura -Ayu}}
 
 
 
Install with makepkg output unsuppressed:
 
{{bc|aura -Ax (package)}}
 
 
 
Install and remove make dependencies afterwards:
 
{{bc|aura -Aa (package)}}
 
 
 
Show a packages recent PKGBUILD changes when installing:
 
{{bc|aura -Ak (package)}}
 
 
 
Look up information on an AUR package:
 
{{bc|aura -Ai (package)}}
 
 
 
Checkout an AUR package's PKGBUILD:
 
{{bc|aura -Ap (package)}}
 
 
 
Only download an AUR package's PKGBUILD:
 
{{bc|aura -Ap package > PKGBUILD}}
 
 
 
Search the AUR with a keyword:
 
{{bc|aura -As (keyword)}}
 
 
 
===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}}
 
 
 
 
 
==Multilingual Support==
 
Aura supports multiple output languages.
 
{| class="wikitable"
 
! Language !! Native Flag !! English Flag
 
|-
 
! English (default)
 
| {{ic|--english}} || {{ic|--english}}
 
|-
 
! Japanese
 
| {{ic|--日本語}} || {{ic|--japanese}}
 
|-
 
! Polish
 
| {{ic|--polski}} || {{ic|--polish}}
 
|-
 
! Croatian
 
| {{ic|--hrvatski}} || {{ic|--croatian}}
 
|-
 
! Swedish
 
| {{ic|--svenska}} || {{ic|--swedish}}
 
|-
 
! German
 
| {{ic|--deutsch}} || {{ic|--german}}
 
|-
 
! Spanish
 
| {{ic|--español}} || {{ic|--spanish}}
 
|-
 
! Portuguese
 
| {{ic|--português}} || {{ic|--portuguese}}
 
|-
 
! French
 
| {{ic|--français}} || {{ic|--french}}
 
|-
 
! Russian
 
| {{ic|--русский}} || {{ic|--russian}}
 
|-
 
! Italian
 
| {{ic|--italiano}} || {{ic|--italian}}
 
|-
 
! Serbian
 
| {{ic|--српски}} || {{ic|--serbian}}
 
|-
 
! Norwegian
 
| {{ic|--norsk}} || {{ic|--norwegian}}
 
|}
 
 
 
{{Note|To use non-ASCII arguments, you will need a UTF-8 compatible terminal client, like [[urxvt]].}}
 
 
 
==Troubleshooting==
 
 
 
===Too many Haskell dependencies===
 
There is a pre-built binary version of aura available as the {{AUR|aura-bin}} package in the AUR. No Haskell dependencies required.
 
 
 
===Build failing at configuration step===
 
If you get the following:
 
{{bc|Configuring aura-1.x.x.x...
 
Setup: At least the following dependencies are missing:
 
regex-pcre-builtin -any}}
 
Then you need to rebuild the {{AUR|haskell-regex-pcre-builtin}} AUR package, or install it out of [haskell-core]. This usually occurs after ghc upgrades, and has to do with ghc and all the haskell libraries being linked by special hash values for security purposes.
 
 
 
===Update or Install failing while determining dependencies===
 
If you get the following:
 
{{bc|aura >> Determining dependencies...
 
aura: fd:6: hGetContents: invalid argument (invalid byte sequence)}}
 
 
 
This is a known bug in 1.2.X but may affect later versions.
 
 
 
Ensure your locale is set properly by following this [https://wiki.archlinux.org/index.php/Locale wiki] page. Especially the English Language example. You may be required to use US.UTF-8.
 
 
 
Check your locale settings with
 
{{bc|1=$ locale}}
 
and double check that LANG is the same as what is in /etc/locale.gen. If the problem persists try setting LC_ALL to the same thing as LANG. For example:
 
{{bc|1=$ export LC_ALL=en_US.UTF-8}}
 
 
 
===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 wrapper script to re-try aura with sudo when needed. The following creates a function {{ic|a}} that wraps {{ic|aura}}:
 
 
 
{{bc|<nowiki>function a(){
 
    AURA="$(aura "$@")"
 
 
 
    if echo "$AURA" | grep -q '^aura >>= .*You have to use `.*sudo.*` for that.*$'
 
    then
 
        sudo aura "$@"
 
    else
 
        echo "$AURA"
 
    fi
 
}</nowiki>}}
 
 
 
Either add this function to your corresponding rc/profile or as a stand-alone script on your PATH.
 
 
 
===Searching both Repos and AUR simultaneously===
 
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 search() {
 
  aura -Ss $1; aura -As $1;
 
} }}
 
Here is a fish shell version:
 
{{bc|function search
 
  aura -Ss $argv
 
  aura -As $argv
 
end }}
 
 
 
==External Links==
 
* [https://github.com/fosskers/aura Aura's github page]
 
* [https://bbs.archlinux.org/viewtopic.php?id=155778 Aura's ArchLinux forum post]
 

Latest revision as of 20:20, 12 July 2016

Redirect to: