summaryrefslogtreecommitdiff
path: root/portato/backend
diff options
context:
space:
mode:
Diffstat (limited to 'portato/backend')
-rw-r--r--portato/backend/package.py6
-rw-r--r--portato/backend/portage/package.py8
2 files changed, 14 insertions, 0 deletions
diff --git a/portato/backend/package.py b/portato/backend/package.py
index 59d552b..b32268f 100644
--- a/portato/backend/package.py
+++ b/portato/backend/package.py
@@ -283,6 +283,12 @@ class Package:
@rtype: boolean"""
raise NotImplementedError
+
+ def get_masking_reason (self):
+ """Returns the reason for masking the package. If this is not possible for the system, return None.
+
+ @returns: the reason for masking the package
+ @rtype: string"""
def get_all_use_flags (self, installed = False):
"""Returns a list of _all_ useflags for this package, i.e. all useflags you can set for this package.
diff --git a/portato/backend/portage/package.py b/portato/backend/portage/package.py
index e39dbe2..9f40137 100644
--- a/portato/backend/portage/package.py
+++ b/portato/backend/portage/package.py
@@ -112,6 +112,14 @@ class PortagePackage (Package):
return False
+ def get_masking_reason(self):
+ reason = portage.getmaskingreason(self.get_cpv(), settings = self._settings.settings)
+
+ if reason:
+ return reason[:-1] # strip of last \n
+ else:
+ return reason
+
def get_all_use_flags (self, installed = False):
if installed or not self.is_in_system():
tree = self._settings.vartree