From d40c4c83ffeb2397b246c98cf5c7cfdea6660e82 Mon Sep 17 00:00:00 2001 From: Rolf Eike Beer Date: Wed, 22 May 2019 23:33:44 +0200 Subject: remove primary packages from rdeps script This avoids needless duplicate work. Signed-off-by: Rolf Eike Beer --- tatt/scriptwriter.py | 22 +++++++++++++++++++++- tatt/tinderbox.py | 3 +-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/tatt/scriptwriter.py b/tatt/scriptwriter.py index 4fbf015..fa26608 100644 --- a/tatt/scriptwriter.py +++ b/tatt/scriptwriter.py @@ -5,9 +5,11 @@ import os import portage import sys +from .gentooPackage import gentooPackage as gP from .usecombis import findUseFlagCombis from .tinderbox import stablerdeps from .tool import unique +from portage.dep import dep_getkey #### USE-COMBIS ######## @@ -110,13 +112,31 @@ def rdepTestString(job, rdep, config): def writerdepscript(job, config): # Populate the list of rdeps + # while at it also create a list of only the package names rdeps = [] + pkgs = [] for p in job.packageList: - rdeps = rdeps + stablerdeps (p, config) + atom = p.packageCatName() + pkgs.append(atom) + rdeps = rdeps + stablerdeps (atom, config) if len(rdeps) == 0: print("No stable rdeps for " + job.name) return + # now clean the list + # first find all those entries that have no useflags and main packages of this job + for i in range(len(rdeps) - 1, 0, -1): + r = rdeps[i] + hasU = False + for st in r[1]: + if len(st.strip()) > 0: + hasU = True + break + if hasU: + continue + if r[0] in pkgs: + rdeps.pop(i) + # If there are rdeps, write the script rdepheader = scriptTemplate(job, config, "revdep-header") outfilename = (job.name + "-rdeps.sh") diff --git a/tatt/tinderbox.py b/tatt/tinderbox.py index 63179af..0e69bcc 100644 --- a/tatt/tinderbox.py +++ b/tatt/tinderbox.py @@ -18,7 +18,7 @@ from portage.dep import isvalidatom ## Pass the config on to this function: ## Generate stable rdeps ### -def stablerdeps (package, config): +def stablerdeps (atom, config): """ Find packages with stable versions which depend on atom We query the tinderbox at http://qa-reports.gentoo.org/output/genrdeps/rindex/ @@ -29,7 +29,6 @@ def stablerdeps (package, config): # File structure on this tinderbox equals that in the tree # Problem: The rdeps can be version dependent # nothing we can do about this here... - atom = package.packageCatName() socket.setdefaulttimeout(45) try: -- cgit v1.2.3-65-gdbad