community.general.portage – Package manager for Gentoo

From Get docs
Ansible/docs/2.10/collections/community/general/portage module


community.general.portage – Package manager for Gentoo

Note

This plugin is part of the community.general collection (version 1.3.2).

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

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


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

  • 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

  • no

  • yes

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

depclean

boolean

  • 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

  • no

  • yes

Prefer packages specified at PORTAGE_BINHOST in make.conf.

getbinpkgonly

boolean

added in 1.3.0 of community.general

  • no

  • yes

Merge only packages specified at PORTAGE_BINHOST in make.conf.

jobs

integer

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

  • no

  • yes

Continue as much as possible after an error.

loadavg

float

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

  • no

  • yes

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

nodeps

boolean

  • no

  • yes

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

noreplace

boolean

  • no
  • yes

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

oneshot

boolean

  • no

  • yes

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

onlydeps

boolean

  • no

  • yes

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

package

list / elements=string

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


aliases: name

quiet

boolean

  • no

  • yes

Run emerge in quiet mode (--quiet)

quietbuild

boolean

  • no

  • yes

Redirect all build output to logs alone, and do not display it

on stdout (--quiet-build)

quietfail

boolean

  • 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

string

  • present

  • installed
  • emerged
  • absent
  • removed
  • unmerged
  • latest

State of the package atom

sync

string

  • web
  • yes
  • no

Sync package repositories first

If yes, perform "emerge --sync"

If web, perform "emerge-webrsync"

update

boolean

  • no

  • yes

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

usepkg

boolean

  • no

  • yes

Tries to use the binary package(s) in the locally available packages directory.

usepkgonly

boolean

  • no

  • yes

Merge only binaries (no compiling).

verbose

boolean

  • no

  • yes

Run emerge in verbose mode (--verbose)



Examples

- name: Make sure package foo is installed
  community.general.portage:
    package: foo
    state: present

- name: Make sure package foo is not installed
  community.general.portage:
    package: foo
    state: absent

- name: Update package foo to the latest version (os specific alternative to latest)
  community.general.portage:
    package: foo
    update: yes

- name: Install package foo using PORTAGE_BINHOST setup
  community.general.portage:
    package: foo
    getbinpkg: yes

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

- name: Sync repositories and update world
  community.general.portage:
    package: '@world'
    update: yes
    deep: yes
    sync: yes

- name: Remove unneeded packages
  community.general.portage:
    depclean: yes

- name: Remove package foo if it is not explicitly needed
  community.general.portage:
    package: foo
    state: absent
    depclean: yes

Authors

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

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