sorcery - Package manager for Source Mage GNU/Linux
New in version 2.3.
Synopsis
- Manages “spells” on Source Mage GNU/Linux using sorcery toolchain
Requirements (on host that executes module)
- bash
Options
parameter | required | default | choices | comments |
---|---|---|---|---|
cache_valid_time | no | Time in seconds to invalidate grimoire collection on update especially useful for SCM and rsync grimoires makes sense only in pair with update_cache
| ||
depends | no | 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 name parameter is equal to '*' or contains more than one spellproviders must be supplied in the form recognized by Sorcery, e.g. 'openssl(SSL)' | ||
name | no | Name of the spell multiple names can be given, separated by commas special value '*' in conjunction with states latest or rebuild will update or rebuild the whole system respectivelyaliases: spell | ||
state | no | present |
| Whether to cast, dispel or rebuild a package state cast is an equivalent of present , not latest
state latest always triggers update_cache=yes
state rebuild implies cast of all specified spells, not only those existed before |
update | no | no |
| Whether or not to update sorcery scripts at the very first stage |
update_cache | no | no |
| Whether or not to update grimoire collection before casting spells aliases: update_codex |
Examples
# Make sure spell 'foo' is installed - sorcery: spell: foo state: present # Make sure spells 'foo', 'bar' and 'baz' are removed - sorcery: spell: foo,bar,baz state: absent # Make sure spell 'foo' with dependencies 'bar' and 'baz' is installed - sorcery: spell: foo depends: bar,baz state: present # Make sure spell 'foo' with 'bar' and without 'baz' dependencies is installed - sorcery: spell: foo depends: +bar,-baz state: present # Make sure spell 'foo' with libressl (providing SSL) dependency is installed - sorcery: spell: foo depends: libressl(SSL) state: present # Playbook: make sure spells with/without required dependencies (if any) are installed - sorcery: name: "{{ item.spell }}" depends: "{{ item.depends | default(None) }}" state: present with_items: - { spell: 'vifm', depends: '+file,-gtk+2' } - { spell: 'fwknop', depends: 'gpgme' } - { spell: 'pv,tnftp,tor' } # Install the latest version of spell 'foo' using regular glossary - sorcery: name: foo state: latest # Rebuild spell 'foo' - sorcery: spell: foo state: rebuild # Rebuild the whole system, but update Sorcery and Codex first - sorcery: spell: '*' state: rebuild update: yes update_cache: yes # Refresh the grimoire collection if it's 1 day old using native sorcerous alias - sorcery: update_codex: yes cache_valid_time: 86400 # Update only Sorcery itself - sorcery: update: yes
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.
Status
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
For help in developing on modules, should you be so inclined, please read Community Information & Contributing, Testing Ansible and Developing Modules.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/sorcery_module.html