15 Commits
v0.10 ... v0.20

Author SHA1 Message Date
kewl
38d3785501 Merge pull request #8 from panchoh/simplify-setup-instructions
README.md: Simplify setup instructions
2018-05-24 20:22:39 +01:00
pancho horrillo
50ca93f6bf README.md: Simplify setup instructions
It turns out that the best way to deploy a custom module repo is on
~/.ansible/plugins/modules. For one, there is no need to symlink the <module>.py
file, and also ansible-doc finds it without having to specify the path to the
module via the -M switch.
2018-05-24 19:53:32 +02:00
kewl
9636c0b1ea Merge pull request #7 from panchoh/fix-missing-py-suffix
README.md: Add missing .py suffix in setup instructions and misc fixes
2018-05-24 08:06:01 +01:00
pancho horrillo
3813de8e7e README.md: Favor the https flavor over the ssh one
The ssh descriptor requires the installer to have a github account, whilst the
https works out-of-the-box for everyone.
2018-05-23 23:59:09 +02:00
pancho horrillo
fd510b7c61 README.md: Drop spurious --parents flag to mkdir
Since we are creating a single directory, mkdir --parents is exactly the same as
plain mkdir.
2018-05-23 23:57:52 +02:00
pancho horrillo
98031b260a README.md: Remove trailing whitespace 2018-05-23 23:57:33 +02:00
pancho horrillo
5bd9caa63f README.md: Add missing .py suffix in setup instructions 2018-05-23 22:42:19 +02:00
kewl fft
a9a8d3e706 readme typo fixed 2018-05-23 21:28:55 +01:00
kewl fft
6147c18b30 readm typo fixed 2018-05-23 21:26:36 +01:00
kewl fft
8fae2a78e9 rename module in doc 2018-05-23 21:25:05 +01:00
kewl fft
ec89080a7d readme clarify the script meaning 2018-05-23 21:23:08 +01:00
kewl fft
8194eb2ac0 readme add link to aur package 2018-05-23 21:19:21 +01:00
kewl fft
338fe36f2f ansible-doc help typo fixed 2018-05-23 21:07:53 +01:00
kewl fft
0d51932a6a ansible-doc help added 2018-05-23 21:01:47 +01:00
kewl fft
c804201144 drop yaourt support for security reasons 2018-05-23 19:55:18 +01:00
2 changed files with 74 additions and 18 deletions

View File

@@ -6,7 +6,6 @@ The following helpers are supported and automatically selected in the order they
- [pacaur](https://github.com/rmarquis/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)
- [yaourt](https://github.com/archlinuxfr/yaourt)
- [yay](https://github.com/Jguer/yay) - [yay](https://github.com/Jguer/yay)
makepkg will be used if no helper was found or if it's specified explicitly. makepkg will be used if no helper was found or if it's specified explicitly.
@@ -17,7 +16,7 @@ makepkg will be used if no helper was found or if it's specified explicitly.
|--- |--- |--- |--- |---| |--- |--- |--- |--- |---|
|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, aurman, pacaur, trizen, pikaur, yaourt, yay, makepkg |The helper to use, 'auto' uses the first known helper found and makepkg as a fallback.| |use |no |auto |auto, aurman, pacaur, trizen, pikaur, yay, 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.| |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.|
@@ -27,16 +26,14 @@ makepkg will be used if no helper was found or if it's specified explicitly.
* In the *use*=*auto* mode, makepkg is used as a fallback if no known helper is found. * In the *use*=*auto* mode, makepkg is used as a fallback if no known helper is found.
## Installing ## Installing
1. Clone the *ansibe-aur* repository in your playbook custom-module directory: ### aur-ansible-git AUR package
``` The [aur-ansible-git](https://aur.archlinux.org/packages/ansible-aur-git) package is available in the AUR.
mkdir --parents library Note the module is installed in `/usr/share/ansible/plugins/modules` which is one of the default module library paths.
cd library
git clone git@github.com:kewlfft/ansible-aur.git
```
2. Link the script to `library/aur`: ### Manual installation
Just clone the *ansible-aur* repository into your user custom-module directory:
``` ```
ln --symbolic ansible-aur/aur.py aur git clone https://github.com/kewlfft/ansible-aur.git ~/.ansible/plugins/modules/aur
``` ```
## Usage ## Usage

63
aur.py
View File

@@ -1,4 +1,6 @@
#!/usr/bin/env python #!/usr/bin/python
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from ansible.module_utils.basic import * from ansible.module_utils.basic import *
from ansible.module_utils.urls import open_url from ansible.module_utils.urls import open_url
@@ -9,6 +11,64 @@ import os.path
import tempfile import tempfile
DOCUMENTATION = '''
---
module: aur
short_description: Manage packages from the AUR
description:
- Manage packages from the Arch User Repository (AUR)
author:
- Kewl <xrjy@nygb.rh.bet(rot13)>
options:
name:
description:
- Name or list of names of the package(s) to install or upgrade.
upgrade:
description:
- Whether or not to upgrade whole system.
type: bool
default: no
use:
description:
- The helper to use, 'auto' uses the first known helper found and makepkg as a fallback.
default: auto
choices: [ auto, aurman, pacaur, trizen, pikaur, yay, makepkg ]
skip_installed:
description:
- Skip operations if the package is present.
type: bool
default: no
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.
type: bool
default: no
notes:
- When used with a `loop:` each package will be processed individually,
it is much more efficient to pass the list directly to the `name` option.
'''
RETURN = '''
msg:
description: action that has been taken
helper:
the helper that was actually used
'''
EXAMPLES = '''
- name: Install trizen using makepkg, skip if trizen is already installed
aur: name=trizen use=makepkg skip_installed=true
become: yes
become_user: aur_builder
'''
def_lang = ['env', 'LC_ALL=C'] def_lang = ['env', 'LC_ALL=C']
use_cmd = { use_cmd = {
@@ -16,7 +76,6 @@ use_cmd = {
'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'],
'yaourt': ['yaourt', '-S', '--noconfirm', '--needed'],
'yay': ['yay', '-S', '--noconfirm'], 'yay': ['yay', '-S', '--noconfirm'],
'makepkg': ['makepkg', '--syncdeps', '--install', '--noconfirm', '--needed'] 'makepkg': ['makepkg', '--syncdeps', '--install', '--noconfirm', '--needed']
} }