From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Q4ch1-0003dH-L9 for garchives@archives.gentoo.org; Tue, 29 Mar 2011 17:27:00 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 1FAA31C00A; Tue, 29 Mar 2011 17:26:51 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id DEF951C00A for ; Tue, 29 Mar 2011 17:26:50 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 693DC1B40BF for ; Tue, 29 Mar 2011 17:26:50 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id C598180065 for ; Tue, 29 Mar 2011 17:26:49 +0000 (UTC) From: "Tomas Chvatal" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Tomas Chvatal" Message-ID: Subject: [gentoo-commits] proj/qa-scripts:master commit in: / X-VCS-Repository: proj/qa-scripts X-VCS-Files: scan-for-old-deps.py X-VCS-Directories: / X-VCS-Committer: scarabeus X-VCS-Committer-Name: Tomas Chvatal X-VCS-Revision: d2d5ab9df7c6e8b5784e78f52747c7a7f13310cc Date: Tue, 29 Mar 2011 17:26:49 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 0bbffb6285d8507c3ddd442a5d684259 commit: d2d5ab9df7c6e8b5784e78f52747c7a7f13310cc Author: Tomas Chvatal gentoo org> AuthorDate: Tue Mar 29 17:24:29 2011 +0000 Commit: Tomas Chvatal gentoo org> CommitDate: Tue Mar 29 17:24:29 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/qa-scripts.gi= t;a=3Dcommit;h=3Dd2d5ab9d Add Zac's script for scanning old dependencies. --- scan-for-old-deps.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/scan-for-old-deps.py b/scan-for-old-deps.py new file mode 100755 index 0000000..5981a8a --- /dev/null +++ b/scan-for-old-deps.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python + +import os +import sys +import portage + +if len(sys.argv) !=3D 2 or not portage.isvalidatom(sys.argv[1]): + sys.stderr.write("usage: %s \n" % os.path.basename(sys.argv[0])) + sys.exit(1) + +input_atom =3D portage.dep.Atom(sys.argv[1]) +settings =3D portage.config(config_profile_path=3D"", + local_config=3DFalse) +settings["ACCEPT_KEYWORDS"] =3D "**" +settings.backup_changes("ACCEPT_KEYWORDS") +settings.lock() +porttree =3D portage.portagetree(settings=3Dsettings) +portdb =3D porttree.dbapi +trees =3D {"/" : {"porttree":porttree}} +dep_keys =3D ("DEPEND", "RDEPEND", "PDEPEND") + +for cp in portdb.cp_all(): + for cpv in portdb.cp_list(cp): + metadata =3D dict(zip(dep_keys, + portdb.aux_get(cpv, dep_keys))) + dep_str =3D " ".join(metadata[k] for k in dep_keys) + success, atoms =3D portage.dep_check(dep_str, + None, settings, use=3D"all", + trees=3Dtrees, myroot=3Dsettings["ROOT"]) + + if not success: + sys.stderr.write("%s %s\n" % (cpv, atoms)) + else: + bad_atoms =3D [] + for atom in atoms: + if not atom.blocker and atom.cp =3D=3D input_atom.cp: + matches =3D portdb.xmatch("match-all", atom) + if not portage.dep.match_from_list(input_atom, matches): + bad_atoms.append(atom) + if bad_atoms: + sys.stdout.write("%s\t%s\n" % (cpv, " ".join(bad_atoms)))