community.general.pkgng – Package manager for FreeBSD >= 9.0

Note

This plugin is part of the community.general collection.

To install it use: ansible-galaxy collection install community.general.

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

Synopsis

  • Manage binary packages for FreeBSD using ‘pkgng’ which is available in versions after 9.0.

Parameters

Parameter Choices/Defaults Comments
annotation
string
A comma-separated list of keyvalue-pairs of the form <+/-/:><key>[=<value>]. A + denotes adding an annotation, a - denotes removing an annotation, and : denotes modifying an annotation. If setting or modifying annotations, a value must be provided.
autoremove
boolean
    Choices:
  • no ←
  • yes
Remove automatically installed packages which are no longer needed.
cached
boolean
    Choices:
  • no ←
  • yes
Use local package base instead of fetching an updated one.
chroot
path
Pkg will chroot in the specified environment.
Can not be used together with rootdir or jail options.
jail
string
Pkg will execute in the given jail name or id.
Can not be used together with chroot or rootdir options.
name
list / elements=string / required
Name or list of names of packages to install/remove.
With name=*, state: latest will operate, but state: present and state: absent will be noops.
Warning: In Ansible 2.9 and earlier this module had a misfeature where name=* with state: latest or state: present would install every package from every package repository, filling up the machines disk. Avoid using them unless you are certain that your role will only be used with newer versions.

aliases: pkg
pkgsite
string
For pkgng versions before 1.1.4, specify packagesite to use for downloading packages. If not specified, use settings from /usr/local/etc/pkg.conf.
For newer pkgng versions, specify a the name of a repository configured in /usr/local/etc/pkg/repos.
rootdir
path
For pkgng versions 1.5 and later, pkg will install all packages within the specified root directory.
Can not be used together with chroot or jail options.
state
string
    Choices:
  • present ←
  • latest
  • absent
State of the package.
Note: "latest" added in 2.7

Notes

Note

  • When using pkgsite, be careful that already in cache packages won’t be downloaded again.

  • When used with a loop: each package will be processed individually, it is much more efficient to pass the list directly to the name option.

Examples

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

- name: Annotate package foo and bar
  community.general.pkgng:
    name: foo,bar
    annotation: '+test1=baz,-test2,:test3=foobar'

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

# "latest" support added in 2.7
- name: Upgrade package baz
  community.general.pkgng:
    name: baz
    state: latest

- name: Upgrade all installed packages (see warning for the name option first!)
  community.general.pkgng:
    name: "*"
    state: latest

Authors

  • bleader (@bleader)