# openbsd_pkg – Manage packages on OpenBSD

- Synopsis
- Requirements
- Parameters
- Notes
- Examples
- Status

## Synopsis

- Manage packages on OpenBSD using the pkg tools.

## Requirements

The below requirements are needed on the host that executes this module.

- python >= 2.5

## Parameters

Parameter | Choices/Defaults | Comments
--- | --- | ---

build
boolean

Choices:
- no ←
- yes

Build the package from source instead of downloading and installing a binary. Requires that the port source tree is already installed. Automatically builds and installs the 'sqlports' package, if it is not already installed.

clean
boolean

Choices:
- no ←
- yes

When updating or removing packages, delete the extra configuration file(s) in the old packages which are annotated with @extra in the packaging-list.

name - / required |  | A name or a list of names of the packages.
ports_dir - | Default: "/usr/ports" | When used in combination with the `build` option, allows overriding the default ports source directory.

quick
boolean

Choices:
- no ←
- yes

Replace or delete packages quickly; do not bother with checksums before removing normal files.

state
-

Choices:
- absent
- latest
- present ←

`present` will make sure the package is installed. `latest` will make sure the latest version of the package is installed. `absent` will make sure the specified package is not installed.

## Notes

Note

- 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: Make sure nmap is installed
      openbsd_pkg:
        name: nmap
        state: present

    - name: Make sure nmap is the latest version
      openbsd_pkg:
        name: nmap
        state: latest

    - name: Make sure nmap is not installed
      openbsd_pkg:
        name: nmap
        state: absent

    - name: Make sure nmap is installed, build it from source if it is not
      openbsd_pkg:
        name: nmap
        state: present
        build: yes

    - name: Specify a pkg flavour with '--'
      openbsd_pkg:
        name: vim--no_x11
        state: present

    - name: Specify the default flavour to avoid ambiguity errors
      openbsd_pkg:
        name: vim--
        state: present

    - name: Specify a package branch (requires at least OpenBSD 6.0)
      openbsd_pkg:
        name: python%3.5
        state: present

    - name: Update all packages on the system
      openbsd_pkg:
        name: '*'
        state: latest

    - name: Purge a package and it's configuration files
      openbsd_pkg:
        name: mpd
        clean: yes
        state: absent

    - name: Quickly remove a package without checking checksums
      openbsd_pkg:
        name: qt5
        quick: yes
        state: absent

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]

### Authors

- Patrik Lundin (@eest)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.