community.general.portage – Package manager for Gentoo
Note
This plugin is part of the community.general collection (version 3.8.1).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
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    |   
  |    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    |   
  |    Consider the entire dependency tree of packages (--deep)   |  
|   depclean    boolean    |   
  |    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    |   
  |    Prefer packages specified at   PORTAGE_BINHOST in make.conf. |  
|   getbinpkgonly    boolean    added in 1.3.0 of community.general    |   
  |    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    |   
  |    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    |   
  |    Include installed packages where USE flags have changed (--newuse)   |  
|   nodeps    boolean    |   
  |    Only merge packages but not their dependencies (--nodeps)   |  
|   noreplace    boolean    |   
  |    Do not re-emerge installed packages (--noreplace)   |  
|   oneshot    boolean    |   
  |    Do not add the packages to the world file (--oneshot)   |  
|   onlydeps    boolean    |   
  |    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    |   
  |    Run emerge in quiet mode (--quiet)   |  
|   quietbuild    boolean    |   
  |    Redirect all build output to logs alone, and do not display it  on stdout (--quiet-build)   |  
|   quietfail    boolean    |   
  |    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    |   
  |    State of the package atom   |  
|   sync    string    |   
  |    Sync package repositories first  If yes, perform "emerge --sync"  If web, perform "emerge-webrsync"   |  
|   update    boolean    |   
  |    Update packages to the best version available (--update)   |  
|   usepkg    boolean    |   
  |    Tries to use the binary package(s) in the locally available packages directory.   |  
|   usepkgonly    boolean    |   
  |    Merge only binaries (no compiling).   |  
|   verbose    boolean    |   
  |    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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
    https://docs.ansible.com/ansible/latest/collections/community/general/portage_module.html