community.general.sorcery module – Package manager for Source Mage GNU/Linux
Note
This module is part of the community.general collection (version 9.4.0).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
You need further requirements to be able to use this module,
see Requirements for details.
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 |
Comments |
---|---|
Time in seconds to invalidate grimoire collection on update. Especially useful for SCM and rsync grimoires. Makes sense only in pair with Default: |
|
Comma-separated list of _optional_ dependencies to build a spell (or make sure it is built) with; use This option is ignored if Providers must be supplied in the form recognized by Sorcery, for example ‘ |
|
Name of the spell or grimoire. Multiple names can be given, separated by commas. Special value The alias |
|
Repository location. If specified, Special value Only single item in
|
|
Whether to cast, dispel or rebuild a package. State State Choices:
|
|
Whether or not to update sorcery scripts at the very first stage. Choices:
|
|
Whether or not to update grimoire collection before casting spells. Choices:
|
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: full |
Can run in |
|
Support: none |
Will return details on what has changed (or possibly needs changing in |
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 is supported since community.general 7.3.0.
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: true
update_cache: true
- name: Refresh the grimoire collection if it is 1 day old using native sorcerous alias
community.general.sorcery:
update_codex: true
cache_valid_time: 86400
- name: Make sure stable grimoire is present
community.general.sorcery:
name: stable
repository: '*'
state: present
- name: Make sure binary and stable-rc grimoires are removed
community.general.sorcery:
grimoire: binary,stable-rc
repository: '*'
state: absent
- name: Make sure games grimoire is pulled from rsync
community.general.sorcery:
grimoire: games
repository: "rsync://download.sourcemage.org::codex/games"
state: present
- name: Make sure a specific branch of stable grimoire is pulled from git
community.general.sorcery:
grimoire: stable.git
repository: "git://download.sourcemage.org/smgl/grimoire.git:stable.git:stable-0.62"
state: present
- name: Update only Sorcery itself
community.general.sorcery:
update: true