Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for refresh package #63

Merged
merged 5 commits into from
Nov 1, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ The following helpers are supported and automatically selected, if present, in t
| name | | Name or list of names of the package(s) to install or upgrade. |
| state | **present**, latest | Desired state of the package, 'present' skips operations if the package is already installed. |
| upgrade | yes, **no** | Whether or not to upgrade whole system. |
| update_cache | yes, **no** | Whether or not to refresh the packages cache |
| use | **auto**, yay, paru, pacaur, trizen, pikaur, aurman, makepkg | The tool to use, 'auto' uses the first known helper found and makepkg as a fallback. |
| extra_args | **null** | A list of additional arguments to pass directly to the tool. Cannot be used in 'auto' mode. |
| aur_only | yes, **no** | Limit helper operation to the AUR. |
Expand Down
3 changes: 1 addition & 2 deletions galaxy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace: kewlfft
name: aur

# The version of the collection. Must be compatible with semantic versioning
version: 0.9.1
version: 0.10.0

# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md
Expand Down Expand Up @@ -66,4 +66,3 @@ issues: https://github.com/kewlfft/ansible-aur/issues
# uses 'fnmatch' to match the files or directories. Some directories and files like 'galaxy.yml', '*.pyc', '*.retry',
# and '.git' are always filtered
build_ignore: []

27 changes: 20 additions & 7 deletions plugins/modules/aur.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@
default: no
type: bool
update_cache:
description:
- Whether or not to update_cache the package cache.
default: no
type: bool
use:
description:
- The tool to use, 'auto' uses the first known helper found and makepkg as a fallback.
Expand Down Expand Up @@ -160,7 +166,7 @@ def check_packages(module, packages):
module.exit_json(changed=status, msg=message, diff=diff)


def build_command_prefix(use, extra_args, skip_pgp_check=False, ignore_arch=False, aur_only=False, local_pkgbuild=None):
def build_command_prefix(use, extra_args, skip_pgp_check=False, ignore_arch=False, aur_only=False, local_pkgbuild=None, update_cache=False):
"""
Create the prefix of a command that can be used by the install and upgrade functions.
"""
Expand All @@ -176,6 +182,8 @@ def build_command_prefix(use, extra_args, skip_pgp_check=False, ignore_arch=Fals
command.append('--aur')
if local_pkgbuild and use != 'makepkg':
command.append(local_pkgbuild)
if update_cache:
command.append('-y')
if extra_args:
command += shlex.split(extra_args)
return command
Expand Down Expand Up @@ -232,13 +240,13 @@ def check_upgrade(module, use):
)


def upgrade(module, use, extra_args, aur_only):
def upgrade(module, use, extra_args, aur_only, update_cache):
"""
Upgrade the whole system
"""
assert use in use_cmd

command = build_command_prefix(use, extra_args, aur_only=aur_only)
command = build_command_prefix(use, extra_args, aur_only=aur_only, update_cache=update_cache)
command.append('-u')

rc, out, err = module.run_command(command, check_rc=True)
Expand All @@ -250,7 +258,7 @@ def upgrade(module, use, extra_args, aur_only):
)


def install_packages(module, packages, use, extra_args, state, skip_pgp_check, ignore_arch, aur_only, local_pkgbuild):
def install_packages(module, packages, use, extra_args, state, skip_pgp_check, ignore_arch, aur_only, local_pkgbuild, update_cache):
"""
Install the specified packages
"""
Expand All @@ -271,7 +279,7 @@ def install_packages(module, packages, use, extra_args, state, skip_pgp_check, i
elif local_pkgbuild:
rc, out, err = install_local_package(module, package, use, extra_args, local_pkgbuild)
else:
command = build_command_prefix(use, extra_args, aur_only=aur_only)
command = build_command_prefix(use, extra_args, aur_only=aur_only, update_cache=update_cache)
command.append(package)
rc, out, err = module.run_command(command, check_rc=True)

Expand Down Expand Up @@ -300,6 +308,10 @@ def make_module():
'upgrade': {
'type': 'bool',
},
'update_cache': {
'default': False,
'type': 'bool',
},
'use': {
'default': 'auto',
'choices': ['auto'] + list(use_cmd.keys()),
Expand Down Expand Up @@ -372,7 +384,7 @@ def apply_module(module, use):
if module.check_mode:
check_upgrade(module, use)
else:
upgrade(module, use, params['extra_args'], params['aur_only'])
upgrade(module, use, params['extra_args'], params['aur_only'], params['update_cache'])
else:
if module.check_mode:
check_packages(module, params['name'])
Expand All @@ -385,7 +397,8 @@ def apply_module(module, use):
params['skip_pgp_check'],
params['ignore_arch'],
params['aur_only'],
params['local_pkgbuild'])
params['local_pkgbuild'],
params['update_cache'])


def main():
Expand Down