From 7b831112022ce45c6c683bd5c9c9b41a8c3c6015 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Tue, 25 May 2010 20:50:51 +0200 Subject: Do not bail out, if we try to replace stuff in a category w/o a dash --- portato/backend/flags.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'portato/backend') diff --git a/portato/backend/flags.py b/portato/backend/flags.py index 810b607..6c74024 100644 --- a/portato/backend/flags.py +++ b/portato/backend/flags.py @@ -159,11 +159,17 @@ def generate_path (cpv, exp): cat, pkg, ver, rev = system.split_cpv(cpv) if rev != "r0": ver = "%s-%s" % (ver, rev) + exp = exp.replace("$(cat)",cat).\ replace("$(pkg)",pkg).\ replace("$(cat-1)",cat.split("-")[0]).\ - replace("$(cat-2)",cat.split("-")[1]).\ replace("$(version)",ver) + + try: + exp = exp.replace("$(cat-2)",cat.split("-")[1]) + except IndexError: # category only consists of one part -- ignore + pass + return exp ### USE FLAG PART ### -- cgit v1.2.3-54-g00ecf From 7614c3c1b33441c785cc204b7d47529ed8f9c473 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Sat, 4 Sep 2010 03:59:43 +0200 Subject: Fix system.split_cpv --- portato/backend/portage/system.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'portato/backend') diff --git a/portato/backend/portage/system.py b/portato/backend/portage/system.py index 990a39a..030c120 100644 --- a/portato/backend/portage/system.py +++ b/portato/backend/portage/system.py @@ -235,7 +235,11 @@ class PortageSystem (SystemInterface): return filter(self.find_lambda(name), categories) def split_cpv (self, cpv): - cpv = portage.dep_getcpv(cpv) + try: + cpv = portage.dep_getcpv(cpv) + except portage.exception.InvalidAtom: + pass + return portage.catpkgsplit(cpv) def sort_package_list(self, pkglist, only_cpv = False): -- cgit v1.2.3-54-g00ecf From 7e345560e77158b6b8b301abcaf959c1e832d668 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Mon, 6 Sep 2010 17:09:36 +0200 Subject: Gnah - changing portage-API --- portato/backend/portage/settings_22.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'portato/backend') diff --git a/portato/backend/portage/settings_22.py b/portato/backend/portage/settings_22.py index ba4f1e8..325e4e3 100644 --- a/portato/backend/portage/settings_22.py +++ b/portato/backend/portage/settings_22.py @@ -12,7 +12,11 @@ from __future__ import absolute_import -import portage.sets +try: + import portage.sets as psets +except ImportError: + import portage._sets as psets + from .settings import PortageSettings class PortageSettings_22 (PortageSettings): @@ -24,4 +28,4 @@ class PortageSettings_22 (PortageSettings): def load (self): PortageSettings.load(self) - self.setsconfig = portage.sets.load_default_config(self.settings, self.trees[self.settings["ROOT"]]) + self.setsconfig = psets.load_default_config(self.settings, self.trees[self.settings["ROOT"]]) -- cgit v1.2.3-54-g00ecf From 6a25d98dfbed84d0294fbff6e0db99113c6490b4 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Mon, 6 Sep 2010 17:09:59 +0200 Subject: Workaround for bug#557715 --- portato/backend/portage/system.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'portato/backend') diff --git a/portato/backend/portage/system.py b/portato/backend/portage/system.py index 030c120..b86a8f7 100644 --- a/portato/backend/portage/system.py +++ b/portato/backend/portage/system.py @@ -289,12 +289,15 @@ class PortageSystem (SystemInterface): if len(inst) > 1: myslots = set() + splitp = p.split('[', 1) # split away the useflags for i in inst: # get the slots of the installed packages myslots.add(i.get_package_settings("SLOT")) myslots.add(best_p.get_package_settings("SLOT")) # add the slot of the best package in portage for slot in myslots: - crit = "%s:%s" % (p, slot) + crit = splitp[:] + crit[0] = "%s:%s" % (crit[0], slot) + crit = "[".join(crit) # re-add possible useflags append(crit, self.find_best_match(crit), inst) else: append(p, best_p, inst) -- cgit v1.2.3-54-g00ecf From 9e5d14fd6fe250f1239928e51fe5430b14c9bc9b Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Mon, 6 Sep 2010 17:14:39 +0200 Subject: Handle portage-2.1.9 and above as portage-2.2 --- portato/backend/portage/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'portato/backend') diff --git a/portato/backend/portage/__init__.py b/portato/backend/portage/__init__.py index e559f9e..5bd324f 100644 --- a/portato/backend/portage/__init__.py +++ b/portato/backend/portage/__init__.py @@ -17,7 +17,7 @@ from portage import VERSION as PV VERSION = tuple(map(int, (x.split("_")[0] for x in PV.split(".")))) -if VERSION >= (2, 2): +if VERSION >= (2, 2) or VERSION >= (2, 1, 9): debug("Using portage-2.2") from .system_22 import PortageSystem_22 as PortageSystem from .package_22 import PortagePackage_22 as PortagePackage -- cgit v1.2.3-54-g00ecf From 9db89dab613718eabd50f54540111093141060c1 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Mon, 6 Sep 2010 17:16:41 +0200 Subject: Handle portage-2.1.8 and above as portage-2.2 --- portato/backend/portage/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'portato/backend') diff --git a/portato/backend/portage/__init__.py b/portato/backend/portage/__init__.py index 5bd324f..11bdd89 100644 --- a/portato/backend/portage/__init__.py +++ b/portato/backend/portage/__init__.py @@ -17,7 +17,7 @@ from portage import VERSION as PV VERSION = tuple(map(int, (x.split("_")[0] for x in PV.split(".")))) -if VERSION >= (2, 2) or VERSION >= (2, 1, 9): +if VERSION >= (2, 2) or VERSION >= (2, 1, 8): debug("Using portage-2.2") from .system_22 import PortageSystem_22 as PortageSystem from .package_22 import PortagePackage_22 as PortagePackage -- cgit v1.2.3-54-g00ecf