2017-12-23 23:30:20 +03:00
# Ansible AUR package manager
2017-12-24 10:53:15 +03:00
Ansible module to use some AUR helpers. The following helpers are supported and automatically selected according to the below order:
2017-12-24 10:26:57 +03:00
- [pacaur ](https://github.com/rmarquis/pacaur )
2017-12-23 23:46:43 +03:00
- [trizen ](https://github.com/trizen/trizen )
- [yaourt ](https://github.com/archlinuxfr/yaourt )
- [yay ](https://github.com/Jguer/yay )
2017-12-31 20:19:06 +03:00
- internal helper
2017-12-23 20:27:42 +03:00
## Options
2017-12-31 20:12:28 +03:00
|parameter |required |default |choices |comments|
|--- |--- |--- |--- |---|
|name |no | | |Name or list of names of the package(s) to install or upgrade.|
|upgrade |no |no |yes, no |Whether or not to upgrade whole system.|
|use |no |auto |auto, pacaur, trizen, yaourt, yay, internal |The helper to use, 'auto' uses the first known helper found, 'internal' uses the internal helper.|
|skip_installed |no |no |yes, no |Skip operations if the package is present.|
2017-12-23 20:27:42 +03:00
2017-12-23 23:51:30 +03:00
### Note
2017-12-31 20:15:35 +03:00
* Either *name* or *upgrade* is required, both cannot be used together.
* *skip_installed* cannot be used with *upgrade* .
2017-12-31 20:20:25 +03:00
* In the *use* *auto* mode, the internal helper is used as a fallback if no known helper is found
2017-12-23 23:51:30 +03:00
2017-12-23 23:24:48 +03:00
## Installing
2017-12-24 10:32:51 +03:00
1. Clone the *ansibe-aur* repository in your playbook custom-module directory:
```
mkdir --parents library
2017-12-24 11:11:02 +03:00
cd library
git clone git@github.com:kewlfft/ansible-aur.git
2017-12-24 10:32:51 +03:00
```
2017-12-23 20:27:42 +03:00
2017-12-24 10:32:51 +03:00
2. Link the script to `library/aur` :
2017-12-24 10:37:56 +03:00
```
2017-12-24 11:11:02 +03:00
ln --symbolic ansible-aur/aur.py aur
2017-12-24 10:37:56 +03:00
```
2017-12-23 20:27:42 +03:00
2017-12-23 23:24:48 +03:00
## Usage
2017-12-23 23:54:19 +03:00
### Warning
2017-12-31 16:17:57 +03:00
* It is recommended to use the official *pacman* module for removal or for system upgrade with the repositories, this module aims to cover the AUR.
2017-12-31 22:13:56 +03:00
* Searches are limited to the AUR, using the *--aur* parameter, except for *yay* and *yaourt* which do not support the option and systematically also search the repositories.
2017-12-31 16:17:57 +03:00
* A package is reinstalled only if an update is available, using the *--needed* parameter, except for *yay* which does not support it and systematically reinstalls.
2017-12-23 23:54:19 +03:00
### Examples
2017-12-23 23:24:48 +03:00
Use it in a task, as in the following examples:
2017-12-24 10:37:56 +03:00
```
2017-12-31 20:12:28 +03:00
# Install trizen using the internal helper, skip if trizen is already installed
- aur: name=trizen use=internal skip_installed=true
become: yes
become_user: user_that_has_nopasswd_in_sudoers_for_pacman_use
2017-12-31 20:19:06 +03:00
# Install package_name using the first known helper found
2017-12-24 10:37:56 +03:00
- aur: name=package_name
become: yes
become_user: user_that_has_nopasswd_in_sudoers_for_pacman_use
2017-12-31 20:19:06 +03:00
# Install package_name_1 and package_name_2 using trizen
2017-12-24 10:37:56 +03:00
- aur:
use: trizen
name:
- package_name_1
- package_name_2
[...]
2017-12-31 16:17:57 +03:00
# Upgrade - using pacaur
2017-12-24 10:41:17 +03:00
- aur: upgrade=yes use=pacaur
2017-12-24 10:37:56 +03:00
[...]
```