Portage/Unmask

From Funtoo
Jump to navigation Jump to search

Packages get masked for several reasons.

Funtoo uses Package:Ego, which sets profiles, adds/removes mix-ins, etc. As such the masking of packages now generally happens via a lack of keywords.

For example, when attempting to emerge QGIS we receive this message:

!!! All ebuilds that could satisfy "qgis" have been masked.
!!! One of the following masked packages is required to complete your request:
- sci-geosciences/qgis-3.18.3::science-kit (masked by: missing keyword)

To unmask this package we need to add the following to /etc/portage/package.accept_keywords:

root # echo "sci-geosciences/qgis **" >> /etc/portage/package.accept_keywords

This particular package needs one other package unmasked as well so we will also add the following:

root # echo "sci-libs/geos **" >> /etc/portage/package.accept_keywords

Depending on the packages being unmasked there may be an additional step necessary and that is to add some USE flags to /etc/portage/package.use such as the above example needing four USE flags added. For this we need our package.use file to contain the following:

   /etc/portage/package.use
# required by sci-geosciences/qgis-3.18.3::science-kit
# required by qgis (argument)
>=sci-libs/gdal-3.3.0 geos
# required by sci-geosciences/qgis-3.18.3::science-kit[python_single_target_python3_7,python]
# required by qgis (argument)
>=dev-python/PyQt5-5.15.2 printsupport designer sql network
# required by sci-geosciences/gpsbabel-1.5.4-r1::science-kit[gui]
# required by sci-geosciences/qgis-3.18.3::science-kit
# required by qgis (argument)
>=dev-qt/qtwebengine-5.15.2 widgets
# required by sci-geosciences/qgis-3.18.3::science-kit[python_single_target_python3_7,python]
# required by qgis (argument)
>=dev-python/qscintilla-python-2.11.6 -python_targets_python2_7
# required by sci-geosciences/qgis-3.18.3::science-kit[python,python_single_target_python3_7]
# required by qgis (argument)
>=dev-python/owslib-0.17.1 -python_targets_python2_7

Once all required USE flags are in you should be able to merge the desired package.