Difference between revisions of "Aura"
(→Multilingual Support) |
|||
(24 intermediate revisions by 6 users not shown) | |||
Line 8: | Line 8: | ||
* '''ABS and AUR are separate''' - New aura-only operators are introduced for handling [[AUR]] packages. | * '''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}}. | * '''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 | + | * '''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. | * '''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}}. | * '''Downgradibility''' - Aura caches built package files, so they can be managed like any ABS package would. This includes downgrading with {{ic|-C}}. | ||
Line 15: | Line 15: | ||
==Installation== | ==Installation== | ||
− | + | {{Note|All 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}} | ||
+ | * {{pkg|haskell-json}} | ||
+ | * {{pkg|haskell-temporary}} | ||
+ | |||
+ | ===[haskell-core] / AUR Dependencies=== | ||
+ | * {{AUR|haskell-curl}} | ||
+ | * {{AUR|haskell-regex-pcre}} | ||
+ | |||
+ | Once all of these are installed, you can build {{AUR|aura}}. | ||
==Aura-unique Operators== | ==Aura-unique Operators== | ||
See the aura [[man page]] for more detailed descriptions. | See the aura [[man page]] for more detailed descriptions. | ||
* {{ic|-A}} - Perform actions involving the [[AUR]]. Default action builds and installs [[AUR]] packages. | * {{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|-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|-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. | + | * {{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== | ==Usage== | ||
Line 29: | Line 47: | ||
{{bc|aura -A (package)}} | {{bc|aura -A (package)}} | ||
− | Upgrade all | + | 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}} | {{bc|aura -Ayu}} | ||
Line 37: | Line 58: | ||
Install and remove make dependencies afterwards: | Install and remove make dependencies afterwards: | ||
{{bc|aura -Aa (package)}} | {{bc|aura -Aa (package)}} | ||
+ | |||
+ | Show a packages recent PKGBUILD changes when installing: | ||
+ | {{bc|aura -Ak (package)}} | ||
Look up information on an AUR package: | Look up information on an AUR package: | ||
Line 46: | Line 70: | ||
Search the AUR via a regex: | Search the AUR via a regex: | ||
{{bc|aura -As (regex)}} | {{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=== | ===Working with the Package Cache=== | ||
Line 79: | Line 113: | ||
Uninstall all orphans: | Uninstall all orphans: | ||
{{bc|aura -Oj}} | {{bc|aura -Oj}} | ||
+ | |||
==Multilingual Support== | ==Multilingual Support== | ||
Aura supports multiple output languages. The current available languages (and their flags) are: | Aura supports multiple output languages. The current available languages (and their flags) are: | ||
− | * '''English''' (default) | + | * '''English''' (default) => {{ic|--english}} |
− | * '''Japanese''' | + | * '''Japanese''' => {{ic|--日本語}} or {{ic|--japanese}} |
− | * '''Polish''' | + | * '''Polish''' => {{ic|--polski}} or {{ic|--polish}} |
− | * '''Croatian''' | + | * '''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]].}} | {{Note|To use non-ASCII arguments, you will need a UTF-8 compatible terminal client, like [[urxvt]].}} | ||
Line 92: | Line 134: | ||
===GHC dependency is too big=== | ===GHC dependency is too big=== | ||
− | + | 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: | ||
+ | curl -any, regex-pcre -any}} | ||
+ | Then you need to rebuild these two AUR packages, or install them 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. | ||
+ | |||
+ | ===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== | ==External Links== | ||
− | * [https://github.com/fosskers/aura | + | * [https://github.com/fosskers/aura Aura's github page] |
+ | * [https://bbs.archlinux.org/viewtopic.php?id=155778 Aura's ArchLinux forum post] |
Revision as of 05:14, 16 May 2013
Aura is a multilingual package manager for Arch Linux written in 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.
Contents
Philosophy
Aura's philosophy as a package manager can be view in more detail 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
-x
alongside-A
. - Run as Root, Build as a User - Running makepkg as root or with
sudo
is dangerous. Aura builds packages with normal user privileges, even when run withsudo
. - Know your System - Editing PKGBUILDs 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
-C
. - No Orphans - Aura provides several options for dealing with orphaned dependencies.
- Multilingual - Aura provides multiple output languages.
Installation
[haskell-core]
repository. These tend to be more recent than those in [extra]
, [community
, and the AUR. Naturally, installing them this way is faster than building manually from the AUR. See here on how to add [haskell-core]
as a repository.Aura requires the following dependencies to build:
[extra] / [community] / [haskell-core] Dependencies
- ghc
- haskell-regex-base
- haskell-parsec
- haskell-syb
- haskell-transformers
- haskell-mtl
- haskell-json
- haskell-temporary
[haskell-core] / AUR Dependencies
Once all of these are installed, you can build auraAUR.
Aura-unique Operators
See the aura man page for more detailed descriptions.
-
-A
- Perform actions involving the AUR. Default action builds and installs AUR packages. -
-B
- Manage the saving and restoring of the global package state. Default action stores a record of all installed packages. -
-C
- Perform actions involving the package cache. Default action downgrades packages. This is interactive. -
-L
- Perform actions involving the pacman log. Default action opens the log for read-only viewing. -
-M
- Perform actions involving the ABS tree. Default action manually builds from your local ABS tree. -
-O
- Perform actions involving orphaned dependencies. Default action lists orphaned dependencies.
Usage
Installing Packages
Install an AUR package:
aura -A (package)
Author's favourite. Upgrade all AUR packages, show PKGBUILD diffs, and remove unneeded makedeps after installation:
aura -Akua
Just sync the package database and upgrade all installed AUR packages:
aura -Ayu
Install with makepkg output unsuppressed:
aura -Ax (package)
Install and remove make dependencies afterwards:
aura -Aa (package)
Show a packages recent PKGBUILD changes when installing:
aura -Ak (package)
Look up information on an AUR package:
aura -Ai (package)
Checkout an AUR package's PKGBUILD:
aura -Ap (package)
Search the AUR via a regex:
aura -As (regex)
Saving/Restoring the Global Package State
Save the global package state:
aura -B
Restore a saved state. Downgrades upgraded packages, removes recently installed:
aura -Br
Remove old saved states. Saves `number` states and removes the rest.
aura -Bc (number)
Working with the Package Cache
Downgrade a package (this is interactive):
aura -C (package)
Search the package cache for package files via a regex:
aura -Cs (regex)
Backup the package cache:
aura -Cb (/path/to/backup/location/)
Reduce the package cache to contain only the 5 most recent versions of each package file:
aura -Cc 5
Working with the Pacman Log
View the pacman log:
aura -L
View log info on a package:
aura -Li
Search the log via a regex:
aura -Ls (regex)
Working with Orphan Dependencies
Display orphans:
aura -O
Adopt a package (shorthand for -D --asexplicit):
aura -O (package)
Uninstall all orphans:
aura -Oj
Multilingual Support
Aura supports multiple output languages. The current available languages (and their flags) are:
- English (default) =>
--english
- Japanese =>
--日本語
or--japanese
- Polish =>
--polski
or--polish
- Croatian =>
--hrvatski
or--croatian
- German =>
--deutsch
or--german
- Spanish =>
--español
or--spanish
- Portuguese =>
--português
or--portuguese
- French =>
--français
or--french
- Russian =>
--русский
or--russian
- Italian =>
--italiano
or--italian
- Serbian =>
--српски
or--serbian
Troubleshooting
GHC dependency is too big
There is a pre-built binary version of aura available as the aura-binAUR package in the AUR. No Haskell dependencies required.
Build failing at configuration step
If you get the following:
Configuring aura-1.x.x.x... Setup: At least the following dependencies are missing: curl -any, regex-pcre -any
Then you need to rebuild these two AUR packages, or install them 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.
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:
function search() { aura -Ss $1; aura -As $1; }
Here is a fish shell version:
function search aura -Ss $argv aura -As $argv end