community.general.pkgin module – Package manager for SmartOS, NetBSD, et al

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.

To use it in a playbook, specify: community.general.pkgin.

Synopsis

  • The standard package manager for SmartOS, but also usable on NetBSD or any OS that uses pkgsrc. (Home: http://pkgin.net/)

Parameters

Parameter

Comments

clean

boolean

Clean packages cache

Choices:

  • false ← (default)

  • true

force

boolean

Force package reinstall

Choices:

  • false ← (default)

  • true

full_upgrade

boolean

Upgrade all packages to their newer versions

Choices:

  • false ← (default)

  • true

name

aliases: pkg

list / elements=string

Name of package to install/remove;

multiple names may be given, separated by commas

state

string

Intended state of the package

Choices:

  • "present" ← (default)

  • "absent"

update_cache

boolean

Update repository database. Can be run with other steps or on it’s own.

Choices:

  • false ← (default)

  • true

upgrade

boolean

Upgrade main packages to their newer versions

Choices:

  • false ← (default)

  • true

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: none

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Notes

Note

  • Known bug with pkgin < 0.8.0: if a package is removed and another package depends on it, the other package will be silently removed as well.

Examples

- name: Install package foo
  community.general.pkgin:
    name: foo
    state: present

- name: Install specific version of foo package
  community.general.pkgin:
    name: foo-2.0.1
    state: present

- name: Update cache and install foo package
  community.general.pkgin:
    name: foo
    update_cache: true

- name: Remove package foo
  community.general.pkgin:
    name: foo
    state: absent

- name: Remove packages foo and bar
  community.general.pkgin:
    name: foo,bar
    state: absent

- name: Update repositories as a separate step
  community.general.pkgin:
    update_cache: true

- name: Upgrade main packages (equivalent to pkgin upgrade)
  community.general.pkgin:
    upgrade: true

- name: Upgrade all packages (equivalent to pkgin full-upgrade)
  community.general.pkgin:
    full_upgrade: true

- name: Force-upgrade all packages (equivalent to pkgin -F full-upgrade)
  community.general.pkgin:
    full_upgrade: true
    force: true

- name: Clean packages cache (equivalent to pkgin clean)
  community.general.pkgin:
    clean: true

Authors

  • Larry Gilbert (@L2G)

  • Shaun Zinck (@szinck)

  • Jasper Lievisse Adriaanse (@jasperla)