mirror of
https://github.com/kewlfft/ansible-aur.git
synced 2025-09-17 08:30:39 +03:00
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
026786beb0 | ||
![]() |
c24454a159 | ||
![]() |
63e60fc256 | ||
![]() |
e643e8f450 | ||
![]() |
bd374b15d9 | ||
![]() |
d6d25c6738 | ||
![]() |
672b060fe9 | ||
![]() |
c26e14c8ce | ||
![]() |
74b538db28 |
41
README.md
41
README.md
@@ -3,10 +3,10 @@ Ansible module to use some Arch User Repository (AUR) helpers as well as makepkg
|
||||
|
||||
The following helpers are supported and automatically selected, if present, in the order listed below:
|
||||
- [yay](https://github.com/Jguer/yay)
|
||||
- [aurman](https://github.com/polygamma/aurman)
|
||||
- [pacaur](https://github.com/rmarquis/pacaur)
|
||||
- [pacaur](https://github.com/E5ten/pacaur)
|
||||
- [trizen](https://github.com/trizen/trizen)
|
||||
- [pikaur](https://github.com/actionless/pikaur)
|
||||
- [aurman](https://github.com/polygamma/aurman) (discontinued)
|
||||
|
||||
*makepkg* will be used if no helper was found or if it is explicitly specified:
|
||||
- [makepkg](https://wiki.archlinux.org/index.php/makepkg)
|
||||
@@ -16,10 +16,11 @@ The following helpers are supported and automatically selected, if present, in t
|
||||
|--- |--- |--- |--- |---|
|
||||
|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, yay, aurman, pacaur, trizen, pikaur, makepkg |The helper to use, 'auto' uses the first known helper found and makepkg as a fallback.|
|
||||
|use |no |auto |auto, yay, pacaur, trizen, pikaur, aurman, makepkg |The helper to use, 'auto' uses the first known helper found and makepkg as a fallback.|
|
||||
|skip_installed |no |no |yes, no |Skip operations if the package is present.|
|
||||
|skip_pgp_check |no |no |yes, no |Skip verification of PGP signatures. This is useful when installing packages on a host without GnuPG (properly) configured. Only valid with makepkg.|
|
||||
|aur_only |no |no |yes, no |Limit operation to the AUR. Compatible with yay, aurman, pacaur and trizen.|
|
||||
|aur_only |no |no |yes, no |Limit operation to the AUR. Compatible with yay, pacaur, aurman and trizen.|
|
||||
|skip_pgp_check |no |no |yes, no |Only valid with makepkg. Skip PGP signatures verification of source file, useful when installing packages without GnuPG properly configured.|
|
||||
|ignore_arch |no |no |yes, no |Only valid with makepkg. Ignore a missing or incomplete arch field, useful when the PKGBUILD does not have the arch=('yourarch') field.|
|
||||
|
||||
### Note
|
||||
* Either *name* or *upgrade* is required, both cannot be used together.
|
||||
@@ -37,9 +38,37 @@ Just clone the *ansible-aur* repository into your user custom-module directory:
|
||||
git clone https://github.com/kewlfft/ansible-aur.git ~/.ansible/plugins/modules/aur
|
||||
```
|
||||
|
||||
### Ansible Galaxy
|
||||
*ansible-aur* is available in Galaxy which is a hub for sharing Ansible content. To download it, use:
|
||||
```
|
||||
ansible-galaxy install kewlfft.aur
|
||||
```
|
||||
|
||||
Note that if this module is installed from Ansible Galaxy, you will need to list it explicitly in your playbook:
|
||||
```
|
||||
# playbook.yml
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- kewlfft.aur
|
||||
tasks:
|
||||
- aur: name=package_name
|
||||
```
|
||||
|
||||
or in your role:
|
||||
```
|
||||
# meta/main.yml
|
||||
dependencies:
|
||||
- kewlfft.aur
|
||||
```
|
||||
|
||||
```
|
||||
# tasks/main.yml
|
||||
- aur: name=package_name
|
||||
```
|
||||
|
||||
## Usage
|
||||
### Notes
|
||||
* This module aims to cover the AUR; for package removal or system upgrade with the repositories, it is recommended to use the official *pacman* module.
|
||||
* The scope of this module is installation and update from the AUR; for package removal or system upgrade from the official repositories, it is recommended to use the official *pacman* module.
|
||||
* The *--needed* parameter of the helper is systematically used, it means if a package is up to date, it is not built and reinstalled.
|
||||
|
||||
### Examples
|
||||
|
@@ -35,7 +35,7 @@ options:
|
||||
description:
|
||||
- The helper to use, 'auto' uses the first known helper found and makepkg as a fallback.
|
||||
default: auto
|
||||
choices: [ auto, yay, aurman, pacaur, trizen, pikaur, makepkg ]
|
||||
choices: [ auto, yay, pacaur, trizen, pikaur, aurman, makepkg ]
|
||||
|
||||
skip_installed:
|
||||
description:
|
||||
@@ -45,9 +45,16 @@ options:
|
||||
|
||||
skip_pgp_check:
|
||||
description:
|
||||
- Skip verification of PGP signatures.
|
||||
This is useful when installing packages on a host without GnuPG (properly) configured.
|
||||
Only valid with makepkg.
|
||||
- Only valid with makepkg.
|
||||
Skip PGP signatures verification of source file.
|
||||
This is useful when installing packages without GnuPG (properly) configured.
|
||||
type: bool
|
||||
default: no
|
||||
|
||||
ignore_arch:
|
||||
description:
|
||||
- Only valid with makepkg.
|
||||
Ignore a missing or incomplete arch field, useful when the PKGBUILD does not have the arch=('yourarch') field.
|
||||
type: bool
|
||||
default: no
|
||||
|
||||
@@ -78,14 +85,14 @@ def_lang = ['env', 'LC_ALL=C']
|
||||
|
||||
use_cmd = {
|
||||
'yay': ['yay', '-S', '--noconfirm', '--needed', '--cleanafter'],
|
||||
'aurman': ['aurman', '-S', '--noconfirm', '--noedit', '--needed', '--skip_news', '--pgp_fetch', '--skip_new_locations'],
|
||||
'pacaur': ['pacaur', '-S', '--noconfirm', '--noedit', '--needed'],
|
||||
'trizen': ['trizen', '-S', '--noconfirm', '--noedit', '--needed'],
|
||||
'pikaur': ['pikaur', '-S', '--noconfirm', '--noedit', '--needed'],
|
||||
'aurman': ['aurman', '-S', '--noconfirm', '--noedit', '--needed', '--skip_news', '--pgp_fetch', '--skip_new_locations'],
|
||||
'makepkg': ['makepkg', '--syncdeps', '--install', '--noconfirm', '--needed']
|
||||
}
|
||||
|
||||
has_aur_option = ['yay', 'aurman', 'pacaur', 'trizen']
|
||||
has_aur_option = ['yay', 'pacaur', 'trizen', 'aurman']
|
||||
|
||||
|
||||
def package_installed(module, package):
|
||||
@@ -145,6 +152,8 @@ def install_with_makepkg(module, package):
|
||||
os.chdir(format(result['Name']))
|
||||
if module.params['skip_pgp_check']:
|
||||
use_cmd['makepkg'].append('--skippgpcheck')
|
||||
if module.params['ignore_arch']:
|
||||
use_cmd['makepkg'].append('--ignorearch')
|
||||
rc, out, err = module.run_command(use_cmd['makepkg'], check_rc=True)
|
||||
os.chdir(current_path)
|
||||
return (rc, out, err)
|
||||
@@ -201,6 +210,10 @@ def main():
|
||||
'name': {
|
||||
'type': 'list',
|
||||
},
|
||||
'ignore_arch': {
|
||||
'default': False,
|
||||
'type': 'bool',
|
||||
},
|
||||
'upgrade': {
|
||||
'default': False,
|
||||
'type': 'bool',
|
17
meta/main.yml
Normal file
17
meta/main.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
galaxy_info:
|
||||
author: kewlfft
|
||||
role_name: aur
|
||||
description: Ansible module to use some Arch User Repository (AUR) helpers as well as makepkg.
|
||||
license: GPL-3.0-or-later
|
||||
min_ansible_version: 2.0
|
||||
|
||||
# https://galaxy.ansible.com/api/v1/platforms/
|
||||
platforms:
|
||||
- name: ArchLinux
|
||||
versions:
|
||||
- any
|
||||
|
||||
galaxy_tags:
|
||||
- aur
|
||||
|
||||
dependencies: []
|
Reference in New Issue
Block a user