# portage – Package manager for Gentoo

- Synopsis

- Requirements

- Parameters

- Examples

- Status

## Synopsis

- Manages Gentoo packages

## Requirements

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

- gentoolkit

## Parameters

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

changed_use
boolean

Choices:
- no ←
- yes

Include installed packages where USE flags have changed, except when
flags that the user has not enabled are added or removed
(--changed-use)

deep
boolean

Choices:
- no ←
- yes

Consider the entire dependency tree of packages (--deep)

depclean
boolean

Choices:
- no ←
- yes

Remove packages not needed by explicitly merged packages (--depclean)
If no package is specified, clean up the world's dependencies
Otherwise, --depclean serves as a dependency aware version of --unmerge

getbinpkg
boolean

Choices:
- no ←
- yes

Prefer packages specified at PORTAGE_BINHOST in make.conf

jobs - |  | Specifies the number of packages to build simultaneously. Since version 2.6: Value of 0 or False resets any previously added --jobs setting values

keepgoing
boolean

Choices:
- no ←
- yes

Continue as much as possible after an error.

loadavg - |  | Specifies that no new builds should be started if there are other builds running and the load average is at least LOAD Since version 2.6: Value of 0 or False resets any previously added --load-average setting values

newuse
boolean

Choices:
- no ←
- yes

Include installed packages where USE flags have changed (--newuse)

nodeps
boolean

Choices:
- no ←
- yes

Only merge packages but not their dependencies (--nodeps)

noreplace
boolean

Choices:
- no
- yes ←

Do not re-emerge installed packages (--noreplace)

oneshot
boolean

Choices:
- no ←
- yes

Do not add the packages to the world file (--oneshot)

onlydeps
boolean

Choices:
- no ←
- yes

Only merge packages' dependencies but not the packages (--onlydeps)

package - |  | Package atom or set, e.g. `sys-apps/foo` or `>foo-2.13` or `@world`

quiet
boolean

Choices:
- no ←
- yes

Run emerge in quiet mode (--quiet)

quietbuild
boolean
added in 2.6

Choices:
- no ←
- yes

Redirect all build output to logs alone, and do not display it
on stdout (--quiet-build)

quietfail
boolean
added in 2.6

Choices:
- no ←
- yes

Suppresses display of the build log on stdout (--quiet-fail)
Only the die message and the path of the build log will be
displayed on stdout.

state
-

Choices:
- present ←
- installed
- emerged
- absent
- removed
- unmerged
- latest

State of the package atom

sync
-

Choices:
- web
- yes
- no

Sync package repositories first
If yes, perform "emerge --sync"
If web, perform "emerge-webrsync"

update
boolean

Choices:
- no ←
- yes

Update packages to the best version available (--update)

usepkgonly
boolean

Choices:
- no ←
- yes

Merge only binaries (no compiling). This sets getbinpkg=yes.

verbose
boolean

Choices:
- no ←
- yes

Run emerge in verbose mode (--verbose)

## Examples

    # Make sure package foo is installed
    - portage:
        package: foo
        state: present

    # Make sure package foo is not installed
    - portage:
        package: foo
        state: absent

    # Update package foo to the "latest" version ( os specific alternative to latest )
    - portage:
        package: foo
        update: yes

    # Install package foo using PORTAGE_BINHOST setup
    - portage:
        package: foo
        getbinpkg: yes

    # Re-install world from binary packages only and do not allow any compiling
    - portage:
        package: '@world'
        usepkgonly: yes

    # Sync repositories and update world
    - portage:
        package: '@world'
        update: yes
        deep: yes
        sync: yes

    # Remove unneeded packages
    - portage:
        depclean: yes

    # Remove package foo if it is not explicitly needed
    - portage:
        package: foo
        state: absent
        depclean: yes

## Status

- This module is not guaranteed to have a backwards compatible interface. [preview]

- This module is maintained by the Ansible Community. [community]

### Authors

- William L Thomson Jr (@wltjr)

- Yap Sok Ann (@sayap)

- Andrew Udvare (@Tatsh)

Hint

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