Difference between revisions of "Portage/Unmask"

From Funtoo
Jump to navigation Jump to search
m
 
Line 1: Line 1:
Packages get masked for several reasons.
Packages get masked for several reasons.


Portage uses [[Portage_Profiles]], which are used to define basic system settings.
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.  
Masking of packages also happens on a profile basis.  


You can look at ''/usr/portage/profiles/package.mask/'''profile''''' for example:
For example, when attempting to emerge QGIS we receive this message:
<console>
!!! 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)
</console>


{{file|name=/usr/portage/profiles/package.mask/00-gentoo|body=
To unmask this package we need to add the following to /etc/portage/package.accept_keywords:
# Dev E. Loper <developer@gentoo.org> (28 Jun 2012)
# Masking  these versions until we can get the
# v4l stuff to work properly again
=media-video/mplayer-0.90_pre5
=media-video/mplayer-0.90_pre5-r1
}}
 
First you see how added the mask, then an explanation why it was added followed by the masked package including version.
 
Now if you want to unmask one of those packages you have several possibilities to do so.
* Let emerge do it for you
<console>
<console>
###i## emerge --ask --autounmask-write =virtual/package-0.1.2
###i## echo "sci-geosciences/qgis **" >> /etc/portage/package.accept_keywords
###i## dispatch-conf
###i## emerge --ask =virtual/package-0.1.2
</console>
</console>


* doing it manually for a specific version
This particular package needs one other package unmasked as well so we will also add the following:
<console>
<console>
###i## mkdir -p /etc/portage
###i## echo "sci-libs/geos **" >> /etc/portage/package.accept_keywords
###i## cd /etc/portage
###i## echo "=virtual/package-0.1.2" >> /etc/portage/package.unmask
</console>
</console>


* manually for all versions
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:


<console>
{{file|name=/etc/portage/package.use|body=                                                                 
###i## echo "virtual/package" >> /etc/portage/package.unmask
# required by sci-geosciences/qgis-3.18.3::science-kit
</console>
# 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.

Latest revision as of 02:11, June 9, 2021

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.