From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 19F2B138010 for ; Sun, 16 Sep 2012 07:40:30 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 2BE5A21C007; Sun, 16 Sep 2012 07:40:19 +0000 (UTC) Received: from mail-vc0-f181.google.com (mail-vc0-f181.google.com [209.85.220.181]) by pigeon.gentoo.org (Postfix) with ESMTP id 7D4AFE0459 for ; Sun, 16 Sep 2012 07:39:23 +0000 (UTC) Received: by vchn11 with SMTP id n11so4300694vch.40 for ; Sun, 16 Sep 2012 00:39:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:reply-to:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=j4YXDUOd+925h8ViqkrLE0NPoWPVKAmfpB5KYvON9W0=; b=yWr4jhQbCO6hRHBzCvT4B6JPKo6pvR74EbXZg78ItZeKPbJIkS5q+ZHS/N8V3vv+0P KHfe+HZIBgAKQQ6zcKLgEWcWuHJRFlAv88B07laBxn9VDp3v7lsD6DBApKlBlAyxcumh qy/VYPrUDnLa7rejlBIYjpIZULdoE8O05vMznKj7iihdqU/E51FYdoKvzmxwLiXqKZwM Nn0gXPRLHcXLs4ViU8JOMQUx5XYGN+cRBYbfk7ZdHHckKG4rWd+fJzWfUoFuefCNVUtU glt2lIdDXrOm2KCcPJZHmfMpugU4+o6kkOq90iilEyKzpGvn4wZOvVYLuCR8JqcSbfO/ u6og== 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 Received: by 10.220.152.134 with SMTP id g6mr5512735vcw.10.1347781162867; Sun, 16 Sep 2012 00:39:22 -0700 (PDT) Sender: yngwin@gmail.com Received: by 10.58.58.110 with HTTP; Sun, 16 Sep 2012 00:39:22 -0700 (PDT) In-Reply-To: <20120916012026.GI28593@localhost> References: <20120907202103.671d98b1@pomiocik.lan> <20120907165948.2dbe3fdd@gentoo.org> <20120907221051.4a7a6bde@pomiocik.lan> <504A5599.7060506@gentoo.org> <20120911021617.GE8036@localhost> <20120913221732.GE28593@localhost> <20120915203318.GH28593@localhost> <20120916000336.37f516f6@pomiocik.lan> <20120916012026.GI28593@localhost> Date: Sun, 16 Sep 2012 15:39:22 +0800 X-Google-Sender-Auth: 5SZKq9blGMyo6qCst9q8bRh2ZoY Message-ID: Subject: Re: [gentoo-dev] example conversion of gentoo-x86 current deps to unified dependencies From: Ben de Groot To: gentoo-dev@lists.gentoo.org Cc: axs@gentoo.org, "Micha?? G??rny" Content-Type: text/plain; charset=UTF-8 X-Archives-Salt: 36105d1c-b770-464c-8321-f18354ab4893 X-Archives-Hash: 2e4a812b1bc105828ce8e53638b26516 On 16 September 2012 09:20, Brian Harring wrote: > On Sun, Sep 16, 2012 at 12:03:36AM +0200, Micha?? G??rny wrote: >> On Sat, 15 Sep 2012 13:33:18 -0700 >> Brian Harring wrote: >> > To demonstrate the gain of this, we basically take the existing >> > tree's deps, and re-render it into a unified DEPENDENCIES form. >> >> But in order to do this, we first have to decide exactly what kind >> of dependencies do we want to have. Then convert the tree to >> a separate-variable form with new dependencies. Then we can compare >> it with the DEPENDENCIES form and decide which one is better. > > Funny you mentioned that, I just finished tweaking pquery to generate > real world example unified dependencies; these *are* accurate, just to > be clear. > > Dumps are at > http://dev.gentoo.org/~ferringb/unified-dependencies-example/ . > > Herds, if you want to see what your pkgs would look like, look at > http://dev.gentoo.org/~ferringb/unified-dependencies-example/herds/ . > > If you'd like to see an *example effect* it has on what gets displayed > to the user (aka, after all major use conditionals are stripped), look > at > http://dev.gentoo.org/~ferringb/unified-dependencies-example/user-visible.txt > ; warning, that's a 55MB file. The syntax in use there isn't great, > but as said, it's an example. > > Total cache savings from doing this for a full tree conversion, for > our existing md5-cache format is 2.73MB (90 byes per cache entry). > Calculating the savings from the ebuild/eclass standpoint is dependent > on how the deps are built up, so I skipped that. > > The algorithim used is fairly stupid, but reasonably effectively; > essentially it intersects the top level of each individual type of > dep, breaking out common groupings. > > In other words, it won't pick up this: > DEPEND="x? ( dev-util/diffball dev-util/bsdiff )" > RDEPEND="x? ( dev-util/diffball )" > > and convert it into thus > DEPENDENCIES=" > dep:build,run? ( > x? ( > dev-util/diffball > dep:run? ( > dev-util/diffball > ) > ) > )" > > Additionally, the form used here makes *no assumption about default > context*; in any final solution we use, a default context would be > wise- say build,run. Again, an example of what I mean. > > If we said "in the absense of a context, the default is dep:build,run" > the following: > > DEPEND="dev-util/diffball dev-util/bsdiff" > RDEPEND="dev-util/diffball de-vutil/bsdiff x? ( sys-apps/pkgcore )" > PDEPEND="dev-python/snakeoil" > > would be: > DEPENDENCIES=" > dev-util/diffball > dev-util/bsdiff > dep:run? ( x? ( sys-apps/pkgcore ) ) > dep:post? ( dev-python/snakeoil ) > " > > The quicky algo I used assumes no default context, thus it writes > this: > DEPENDENCIES=" > dep:build,run? ( > dev-util/diffball > dev-util/bsdiff > ) > dep:run? ( x? ( sys-apps/pkgcore ) ) > dep:post? ( dev-python/snakeoil ) > " > > Etc. > > ~harring > Thanks. I have given it a quick overview for the qt herd. I still don't see what using DEPENDENCIES adds to what we do now with separate *DEPEND variables. I see no convincing reason to change what we do. As I've said before on IRC, we need a good costs/benefits overview. Right now I only see costs (migrating ebuilds and eclasses) and no benefits. -- Cheers, Ben | yngwin Gentoo developer Gentoo Qt project lead, Gentoo Wiki admin