portage - Package manager for Gentoo

New in version 1.6.

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
(added in 1.8)
    Choices:
  • yes
  • no
Include installed packages where USE flags have changed, except when
flags that the user has not enabled are added or removed
(--changed-use)
deep
    Choices:
  • yes
  • no
Consider the entire dependency tree of packages (--deep)
depclean
    Choices:
  • yes
  • no
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
    Choices:
  • yes
  • no
Prefer packages specified at PORTAGE_BINHOST in make.conf
jobs
(added in 2.3)
Default:
None
Specifies the number of packages to build simultaneously.
keepgoing
(added in 2.3)
    Choices:
  • yes
  • no
Continue as much as possible after an error.
loadavg
(added in 2.3)
Default:
None
Specifies that no new builds should be started if there are
other builds running and the load average is at least LOAD
newuse
    Choices:
  • yes
  • no
Include installed packages where USE flags have changed (--newuse)
nodeps
    Choices:
  • yes
  • no
Only merge packages but not their dependencies (--nodeps)
noreplace
    Choices:
  • yes
  • no
Do not re-emerge installed packages (--noreplace)
oneshot
    Choices:
  • yes
  • no
Do not add the packages to the world file (--oneshot)
onlydeps
    Choices:
  • yes
  • no
Only merge packages' dependencies but not the packages (--onlydeps)
package Default:
None
Package atom or set, e.g. sys-apps/foo or >foo-2.13 or @world
quiet
    Choices:
  • yes
  • no
Run emerge in quiet mode (--quiet)
state
    Choices:
  • present
  • installed
  • emerged
  • absent
  • removed
  • unmerged
  • latest
State of the package atom
sync
    Choices:
  • web
  • yes
  • no
Default:
None
Sync package repositories first
If yes, perform "emerge --sync"
If web, perform "emerge-webrsync"
update
    Choices:
  • yes
  • no
Update packages to the best version available (--update)
usepkgonly
    Choices:
  • yes
  • no
Merge only binaries (no compiling). This sets getbinpkg=yes.
verbose
    Choices:
  • yes
  • no
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 flagged as preview which means that it is not guaranteed to have a backwards compatible interface.

Author

  • William L Thomson Jr (@wltjr)
  • Yap Sok Ann (@sayap)
  • Andrew Udvare

Hint

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

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/portage_module.html