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:
|
The following helpers are supported and automatically selected, if present, in the order listed below:
|
||||||
- [yay](https://github.com/Jguer/yay)
|
- [yay](https://github.com/Jguer/yay)
|
||||||
- [aurman](https://github.com/polygamma/aurman)
|
- [pacaur](https://github.com/E5ten/pacaur)
|
||||||
- [pacaur](https://github.com/rmarquis/pacaur)
|
|
||||||
- [trizen](https://github.com/trizen/trizen)
|
- [trizen](https://github.com/trizen/trizen)
|
||||||
- [pikaur](https://github.com/actionless/pikaur)
|
- [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* will be used if no helper was found or if it is explicitly specified:
|
||||||
- [makepkg](https://wiki.archlinux.org/index.php/makepkg)
|
- [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.|
|
|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.|
|
|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_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, pacaur, aurman and trizen.|
|
||||||
|aur_only |no |no |yes, no |Limit operation to the AUR. Compatible with yay, aurman, pacaur 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
|
### Note
|
||||||
* Either *name* or *upgrade* is required, both cannot be used together.
|
* 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
|
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
|
## Usage
|
||||||
### Notes
|
### 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.
|
* 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
|
### Examples
|
||||||
|
@@ -35,7 +35,7 @@ options:
|
|||||||
description:
|
description:
|
||||||
- The helper to use, 'auto' uses the first known helper found and makepkg as a fallback.
|
- The helper to use, 'auto' uses the first known helper found and makepkg as a fallback.
|
||||||
default: auto
|
default: auto
|
||||||
choices: [ auto, yay, aurman, pacaur, trizen, pikaur, makepkg ]
|
choices: [ auto, yay, pacaur, trizen, pikaur, aurman, makepkg ]
|
||||||
|
|
||||||
skip_installed:
|
skip_installed:
|
||||||
description:
|
description:
|
||||||
@@ -45,9 +45,16 @@ options:
|
|||||||
|
|
||||||
skip_pgp_check:
|
skip_pgp_check:
|
||||||
description:
|
description:
|
||||||
- Skip verification of PGP signatures.
|
- Only valid with makepkg.
|
||||||
This is useful when installing packages on a host without GnuPG (properly) configured.
|
Skip PGP signatures verification of source file.
|
||||||
Only valid with makepkg.
|
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
|
type: bool
|
||||||
default: no
|
default: no
|
||||||
|
|
||||||
@@ -78,14 +85,14 @@ def_lang = ['env', 'LC_ALL=C']
|
|||||||
|
|
||||||
use_cmd = {
|
use_cmd = {
|
||||||
'yay': ['yay', '-S', '--noconfirm', '--needed', '--cleanafter'],
|
'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'],
|
'pacaur': ['pacaur', '-S', '--noconfirm', '--noedit', '--needed'],
|
||||||
'trizen': ['trizen', '-S', '--noconfirm', '--noedit', '--needed'],
|
'trizen': ['trizen', '-S', '--noconfirm', '--noedit', '--needed'],
|
||||||
'pikaur': ['pikaur', '-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']
|
'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):
|
def package_installed(module, package):
|
||||||
@@ -145,6 +152,8 @@ def install_with_makepkg(module, package):
|
|||||||
os.chdir(format(result['Name']))
|
os.chdir(format(result['Name']))
|
||||||
if module.params['skip_pgp_check']:
|
if module.params['skip_pgp_check']:
|
||||||
use_cmd['makepkg'].append('--skippgpcheck')
|
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)
|
rc, out, err = module.run_command(use_cmd['makepkg'], check_rc=True)
|
||||||
os.chdir(current_path)
|
os.chdir(current_path)
|
||||||
return (rc, out, err)
|
return (rc, out, err)
|
||||||
@@ -201,6 +210,10 @@ def main():
|
|||||||
'name': {
|
'name': {
|
||||||
'type': 'list',
|
'type': 'list',
|
||||||
},
|
},
|
||||||
|
'ignore_arch': {
|
||||||
|
'default': False,
|
||||||
|
'type': 'bool',
|
||||||
|
},
|
||||||
'upgrade': {
|
'upgrade': {
|
||||||
'default': False,
|
'default': False,
|
||||||
'type': 'bool',
|
'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