community.general.sorcery – Package manager for Source Mage GNU/Linux
community.general.sorcery – Package manager for Source Mage GNU/Linux
Note
This plugin is part of the community.general collection (version 2.0.1).
To install it use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.sorcery
.
Synopsis
- Manages “spells” on Source Mage GNU/Linux using sorcery toolchain
Requirements
The below requirements are needed on the host that executes this module.
- bash
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
cache_valid_time integer |
Time in seconds to invalidate grimoire collection on update especially useful for SCM and rsync grimoires makes sense only in pair with | |
depends string |
Comma-separated list of _optional_ dependencies to build a spell (or make sure it is built) with; use +/- in front of dependency to turn it on/off ('+' is optional though) this option is ignored if providers must be supplied in the form recognized by Sorcery, e.g. 'openssl(SSL)' | |
name list / elements=string |
Name of the spell multiple names can be given, separated by commas special value '*' in conjunction with states
| |
state string |
|
Whether to cast, dispel or rebuild a package state state state |
update boolean |
|
Whether or not to update sorcery scripts at the very first stage |
update_cache boolean |
|
Whether or not to update grimoire collection before casting spells
|
Notes
Note
- When all three components are selected, the update goes by the sequence – Sorcery -> Grimoire(s) -> Spell(s); you cannot override it.
- grimoire handling (i.e. add/remove, including SCM/rsync versions) is not yet supported.
Examples
- name: Make sure spell foo is installed
community.general.sorcery:
spell: foo
state: present
- name: Make sure spells foo, bar and baz are removed
community.general.sorcery:
spell: foo,bar,baz
state: absent
- name: Make sure spell foo with dependencies bar and baz is installed
community.general.sorcery:
spell: foo
depends: bar,baz
state: present
- name: Make sure spell foo with bar and without baz dependencies is installed
community.general.sorcery:
spell: foo
depends: +bar,-baz
state: present
- name: Make sure spell foo with libressl (providing SSL) dependency is installed
community.general.sorcery:
spell: foo
depends: libressl(SSL)
state: present
- name: Make sure spells with/without required dependencies (if any) are installed
community.general.sorcery:
name: "{{ item.spell }}"
depends: "{{ item.depends | default(None) }}"
state: present
loop:
- { spell: 'vifm', depends: '+file,-gtk+2' }
- { spell: 'fwknop', depends: 'gpgme' }
- { spell: 'pv,tnftp,tor' }
- name: Install the latest version of spell foo using regular glossary
community.general.sorcery:
name: foo
state: latest
- name: Rebuild spell foo
community.general.sorcery:
spell: foo
state: rebuild
- name: Rebuild the whole system, but update Sorcery and Codex first
community.general.sorcery:
spell: '*'
state: rebuild
update: yes
update_cache: yes
- name: Refresh the grimoire collection if it is 1 day old using native sorcerous alias
community.general.sorcery:
update_codex: yes
cache_valid_time: 86400
- name: Update only Sorcery itself
community.general.sorcery:
update: yes
Authors
- Vlad Glagolev (@vaygr)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/sorcery_module.html