From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C1F0C1395E1 for ; Sat, 5 Nov 2016 01:20:30 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id EC6B9E0BC5; Sat, 5 Nov 2016 01:20:22 +0000 (UTC) Received: from mail-qk0-f179.google.com (mail-qk0-f179.google.com [209.85.220.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9BA6AE0B8F for ; Sat, 5 Nov 2016 01:20:22 +0000 (UTC) Received: by mail-qk0-f179.google.com with SMTP id q130so118650171qke.1 for ; Fri, 04 Nov 2016 18:20:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to; bh=fdaBgAVCW46zWMswBA6hUC2Ep+wE9KX0My5j4S1QwFM=; b=fwVMRhSqr9coseZfHWIItz2LrbiAC5Z3TtnwwIHbGeF0Q8IsmPS+jab8kb68+4B1e8 ygCJ6N1ek8nly+HSZ81/WX9JrKIDox7m5C3fkhUBRGbJQuKhlgAiZUelBVbUIDD22Wce eNbB7Dfq01a9ieMbV4EFq3jHW7UgZbMKdXBpp1qqYnxWU5A+B67alnLo/qNKov8Sj1hE Yrf4V0MLpTkAahkjHM7TS1Oas3IZeS84xDrM3eNnDLfT9MD16mWihNhdkt2x0fDnaqyX XB1q4zLFRglmpOezLCMBt6KSzSdxoTF68wQ85f4YRaxqjfzo1aZNZ5lUV7gUz6ELMEnr HbTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to; bh=fdaBgAVCW46zWMswBA6hUC2Ep+wE9KX0My5j4S1QwFM=; b=TApyzfokx4dUqFBRxl3TvqTXvtU1rwyBAqsnCP+weIGLOLgNoyzFupiYS3I3AcnhWl FNeXL903OXPJzotqcFK9Nzt3pPnTLBmJc6QOH2ps9K2O11xR5fkP6PrRCn0IcxsuMYcX m/5svrQEiT+AwwltHkRPRw6Ttk5x86CTFp8tsaoiEwPUzhRUchxVMj1KQppZ6nWz+dCt P20hIWs8mWo22lYJL9XHGSd2Hk2XwWNbzHMf+th4jLuAlOa7lgllR8XvJx7zFcLAGkdq clg9wVu3tDLXYh3IC5I4WKBSI552aiscnTdgOeZLHYuL/hM6pKWZ/ZiTCAb6rDnuz/Y3 bu7g== X-Gm-Message-State: ABUngvcgGGdXYRnZ9NjPOVNTM2gVftcg1xugOBG46LoO4QdOaEWVDwpELpruYAK3y7Dz/m2GKi4fPF6DKRd/Tw== X-Received: by 10.233.239.65 with SMTP id d62mr18173821qkg.122.1478308821512; Fri, 04 Nov 2016 18:20:21 -0700 (PDT) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Sender: freemanrich@gmail.com Received: by 10.140.89.83 with HTTP; Fri, 4 Nov 2016 18:20:20 -0700 (PDT) In-Reply-To: <581D2814.2050907@iee.org> References: <48ff0b23-54e5-de01-ec90-3101719fac05@gentoo.org> <581D267D.4010909@iee.org> <581D2814.2050907@iee.org> From: Rich Freeman Date: Fri, 4 Nov 2016 21:20:20 -0400 X-Google-Sender-Auth: vmjVvTAmivvVZAnBwDB3Zu9F6NM Message-ID: Subject: Re: [gentoo-dev] Google Code shutdown requires 524 ebuilds to be fixed before end of 2016 To: gentoo-dev Content-Type: text/plain; charset=UTF-8 X-Archives-Salt: 69c51ef4-80fe-406e-8d67-63c3247315ca X-Archives-Hash: cfcb2a6062d996961743c3af3b4b2fed On Fri, Nov 4, 2016 at 8:30 PM, M. J. Everitt wrote: > Apologies, getting ahead of myself here .. there must be a portage > utility, but I've forgotten which one interrogates metadata .. I'll > defer to a more authoritative source ... > There might be a command line utility if you're doing things the shell way. But, from that python script I linked the relevant part is: from portage.xml.metadata import MetaDataXML metxml = path+"/"+category+"/"+pkgname+"/metadata.xml" maints=[] try: pkg_md = MetaDataXML(metxml,"/usr/portage/metadata/herds.xml") for maint in pkg_md.maintainers(): maints.append(maint.email) except IOError: pass Just feed that api call with a metadata.xml. Hopefuly it works with the projects.xml syntax as herds.xml is of course defunct. I'd check the portage API docs as there might be some improvements there. The portage api is actually fairly powerful and far superior to a lot of stuff that gets done with grep. It just needs a bit of time getting used to it since there aren't a lot of docs/examples/etc floating around. The script that came out of was designed to find packages that depend on packages that expose subslots but which don't define slot operator deps. Granted, not everything in that list should be using them, and by now I imagine it is almost entirely false positives, but it shows the sort of thing you can do with a couple of lines of python that would be an incredible pain to do any other way. I believe paludis also exposes some APIs that probably could also be used. -- Rich