summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--portato/backend/flags.py2
-rw-r--r--portato/backend/package.py10
-rw-r--r--portato/backend/portage/package.py39
3 files changed, 20 insertions, 31 deletions
diff --git a/portato/backend/flags.py b/portato/backend/flags.py
index d388e08..018e804 100644
--- a/portato/backend/flags.py
+++ b/portato/backend/flags.py
@@ -677,7 +677,7 @@ def set_testing (pkg, enable):
if (enable and line != "-1") or (not enable and line == "-1"):
newTesting[cpv].remove((file, line))
- if (enable and not pkg.is_testing(use_keywords=True)) or (not enable and pkg.is_testing(use_keywords=True)):
+ if (enable and not pkg.is_testing()) or (not enable and pkg.is_testing()):
return
if not enable:
diff --git a/portato/backend/package.py b/portato/backend/package.py
index 4dc439a..6d73a42 100644
--- a/portato/backend/package.py
+++ b/portato/backend/package.py
@@ -88,13 +88,15 @@ class Package (_Package):
if f[0] == "~":
f = f[1:]
removed = True
+
+ invf = flags.invert_use_flag(f)
if f[0] == '-':
- if flags.invert_use_flag(f) in i_flags and not (removed and flags.invert_use_flag(f) in m_flags):
- i_flags.remove(flags.invert_use_flag(f))
+ if invf in i_flags and not (removed and invf in m_flags):
+ i_flags.remove(invf)
elif f not in i_flags:
- if not (removed and flags.invert_use_flag(f) in m_flags):
+ if not (removed and invf in m_flags):
i_flags.append(f)
return i_flags
@@ -270,7 +272,7 @@ class Package (_Package):
raise NotImplementedError
- def is_testing(self, use_keywords = False):
+ def is_testing(self, use_keywords = True):
"""Checks whether a package is marked as testing.
@param use_keywords: Controls whether possible keywords are taken into account or not.
diff --git a/portato/backend/portage/package.py b/portato/backend/portage/package.py
index 37fa230..0452641 100644
--- a/portato/backend/portage/package.py
+++ b/portato/backend/portage/package.py
@@ -89,7 +89,7 @@ class PortagePackage (Package):
return self._settings.vartree.dbapi.cpv_exists(self._cpv)
def is_in_overlay(self):
- dir,ovl = self._settings.porttree.dbapi.findname2(self._cpv)
+ ovl = self.get_overlay_path()
return ovl != self._settings.settings["PORTDIR"] and str(ovl) != "0"
def get_overlay_path (self):
@@ -100,23 +100,17 @@ class PortagePackage (Package):
return (self._status != None)
def is_missing_keyword(self):
- if self._status and "missing keyword" in self._status:
- return True
- return False
+ return self._status and "missing keyword" in self._status
- def is_testing(self, use_keywords = False):
+ def is_testing(self, use_keywords = True):
testArch = "~" + self.get_global_settings("ARCH")
if not use_keywords: # keywords are NOT taken into account
- if testArch in self.get_package_settings("KEYWORDS").split():
- return True
- return False
+ return testArch in self.get_package_settings("KEYWORDS").split()
else: # keywords are taken into account
status = flags.new_testing_status(self.get_cpv())
if status is None: # we haven't changed it in any way
- if self._status and testArch+" keyword" in self._status:
- return True
- return False
+ return self._status and testArch+" keyword" in self._status
else:
return status
@@ -130,15 +124,13 @@ class PortagePackage (Package):
else:
error(_("BUG in flags.new_masking_status. It returns \'%s\'"), status)
else: # we have not touched the status
- if self._status and ("profile" in self._status or "package.mask" in self._status):
- return True
- return False
+ return self._status and ("profile" in self._status or "package.mask" in self._status)
+
else: # we want the original portage value XXX: bug if masked by user AND by system
# get the normal masked ones
if self._status and ("profile" in self._status or "package.mask" in self._status):
- if not flags.is_locally_masked(self, changes = False): # assume that if it is locally masked, it is not masked by the system
- return True
+ return flags.is_locally_masked(self, changes = False) # assume that if it is locally masked, it is not masked by the system
else: # more difficult: get the ones we unmasked, but are masked by the system
try:
masked = self._settings.settings.pmaskdict[self.get_cp()]
@@ -147,10 +139,7 @@ class PortagePackage (Package):
for cpv in masked:
if self.matches(cpv):
- if not flags.is_locally_masked(self, changes = False): # assume that if it is locally masked, it is not masked by the system
- return True
- else:
- return False
+ return not flags.is_locally_masked(self, changes = False) # assume that if it is locally masked, it is not masked by the system
return False
@@ -158,7 +147,7 @@ class PortagePackage (Package):
reason = portage.getmaskingreason(self.get_cpv(), settings = self._settings.settings)
if reason:
- return reason[:-1] # strip of last \n
+ return reason.strip()
else:
return reason
@@ -234,9 +223,9 @@ class PortagePackage (Package):
if dep[0] == '!': # blocking sth
dep = dep[1:]
if dep != self.get_cp(): # not cpv, because a version might explicitly block another one
- blocked = system.find_installed_packages(dep)
+ blocked = system.find_packages(dep, "installed", only_cpv = True)
if blocked != []:
- raise BlockedException, (self.get_cpv(), blocked[0].get_cpv())
+ raise BlockedException, (self.get_cpv(), blocked[0])
continue # finished with the blocking one -> next
pkg = system.find_best_match(dep)
@@ -246,10 +235,8 @@ class PortagePackage (Package):
raise PackageNotFoundException, dep
list = system.sort_package_list(list)
- list.reverse()
done = False
- for i in range(len(list)):
- p = list[i]
+ for p in reversed(list):
if not p.is_masked():
dep_pkgs.append(create_dep_pkgs_data(dep, p))
done = True
r class='nohover-highlight'> - usefull for git commands showing diff, e.g.: pass git log -p - from what I can see, not 'cleartext' temporary files are created 2014-05-08completion: add new generate flagsJason A. Donenfeld3-2/+7 2014-05-08inplace: mutually exclusive with forceJason A. Donenfeld2-3/+3 2014-05-08usage: tab to spacesJason A. Donenfeld1-1/+1 2014-05-08generate: use nice ansi colors instead.Jason A. Donenfeld1-3/+2 Revert "Mute git-commit messages to make pass insert readable" This reverts commit f30ce6374d554e704162d5fa8e49acd9c6fd0ecc. I decided I like the git output. Instead highlight generated passwords using nice terminal output instead. 2014-05-08zsh: posix compatible sed fix for zsh-completionJason A. Donenfeld1-1/+1 This reverts commit 56381287a16792b4c6410f07db68e02f3574c213, and further fixes things. 2014-05-07Implement interactive init functionSvend Sorensen1-0/+8 2014-05-07Implement interactive rename functionSvend Sorensen1-0/+7 2014-05-07Reorder interactive function to match order of helper functionsSvend Sorensen1-13/+13 2014-05-07Make edit helper function name consistent with other helpersSvend Sorensen1-1/+1 2014-05-07Factor out password completing-read functionSvend Sorensen1-4/+8 2014-05-07Add dash to Package-RequiresSvend Sorensen1-1/+1 2014-05-06Force sane sort order.Jason A. Donenfeld1-2/+2 2014-05-06generate: add --in-place optionJason A. Donenfeld4-9/+33