Difference between revisions of "Aura"

From ArchWiki
Jump to navigation Jump to search
(→‎Source Package: Updated link to `haskell-core` info)
(only AUR helper page left which doesn't redirect to AUR helper, redirect as installation should be documented upstream)
(62 intermediate revisions by 9 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]].
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.
===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 [[ArchHaskell#.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.
===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]].}}
===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.*$'
        sudo aura "$@"
        echo "$AURA"
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: