From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <gentoo-dev+bounces-67260-garchives=archives.gentoo.org@lists.gentoo.org> Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id B3F36138A2F for <garchives@archives.gentoo.org>; Sat, 16 Aug 2014 23:01:19 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 543A9E0967; Sat, 16 Aug 2014 23:01:13 +0000 (UTC) Received: from mail-oi0-f54.google.com (mail-oi0-f54.google.com [209.85.218.54]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 5AE06E0955 for <gentoo-dev@lists.gentoo.org>; Sat, 16 Aug 2014 23:01:12 +0000 (UTC) Received: by mail-oi0-f54.google.com with SMTP id i138so2657861oig.27 for <gentoo-dev@lists.gentoo.org>; Sat, 16 Aug 2014 16:01:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=Ggo8B1GDzdnNkuGQvfV3fg6tq0ZujUu1dfzZ2q/dPNI=; b=czJAep3IiV7Mx08qjcWmb/GJGFaZu6DN3HhQ8pZK2QSf79GFGEvy0Gq4j8OUIkK5Zr wOlOe6gN9+aotA3NF3HAEgvRe2X6zveamIGB0gMdHsxQooVSnaoblnhJCvAf29h0zqPR 9D9xrrPyGCczev7g78Iz6XhBdRXUC7PBIdz6s860GYpbtrhrK4BBEN3BU1Yxi9ZrCiXh TU1/gavjhDTGX6h7YSHZ4189BxI38xxR98BOz/T/0pAY+b9wLoB5CWC/3/6XJCXotvcw 7pYpp4hACBQhj5IKExiN/RxFY0yKDJ7iVxffJaEJHTWrpjhpqiYXds2WiJaJIjB5s1xV +NsQ== X-Received: by 10.182.79.65 with SMTP id h1mr28461094obx.53.1408230071514; Sat, 16 Aug 2014 16:01:11 -0700 (PDT) Received: from linux1 (cpe-76-187-91-128.tx.res.rr.com. [76.187.91.128]) by mx.google.com with ESMTPSA id pa1sm13328760obb.1.2014.08.16.16.01.09 for <gentoo-dev@lists.gentoo.org> (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Sat, 16 Aug 2014 16:01:10 -0700 (PDT) Sender: William Hubbs <w.d.hubbs@gmail.com> Received: (nullmailer pid 11245 invoked by uid 1000); Sat, 16 Aug 2014 23:01:08 -0000 Date: Sat, 16 Aug 2014 18:01:08 -0500 From: William Hubbs <williamh@gentoo.org> To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] rfc: calling all eclass phase functions by default Message-ID: <20140816230108.GA11181@linux1> Mail-Followup-To: gentoo-dev@lists.gentoo.org References: <20140816215428.GA6773@linux1> <CAATnKFB4E3UrQgeRvi5h0N0tXkhUT8mR3Yk56t2hiy9afojqCQ@mail.gmail.com> Precedence: bulk List-Post: <mailto:gentoo-dev@lists.gentoo.org> List-Help: <mailto:gentoo-dev+help@lists.gentoo.org> List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org> List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org> List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org> X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="pf9I7BMVVzbSWLtt" Content-Disposition: inline In-Reply-To: <CAATnKFB4E3UrQgeRvi5h0N0tXkhUT8mR3Yk56t2hiy9afojqCQ@mail.gmail.com> User-Agent: Mutt/1.5.22 (2013-10-16) X-Archives-Salt: 79b8f907-70e6-4708-92f5-fd4c2a3a77bf X-Archives-Hash: 0291e050b9378a799623952d4aac9205 --pf9I7BMVVzbSWLtt Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Aug 17, 2014 at 10:32:14AM +1200, Kent Fredric wrote: > On 17 August 2014 09:54, William Hubbs <williamh@gentoo.org> wrote: > > My counter proposal to this is that we stop calling eclass phase > > functions automatically, and to minimize the amount of boilerplating > > we would have to do, we use a variable, such as ECLASS_PHASES which > > would be defined at the ebuild level and contain a list of the eclass > > phase functions we want to run automatically. > > This proposal, seems reasonable, given my comments. I anticipate however > its biggest downside would be > the requirement to state *all* the functions you want, which would lead to > maintenance headaches > due to people forgetting to declare they wanted some function or other. >=20 > So if you could sculpt it to be broader by default and have less scope for > developer error, that'd be an improvement. >=20 > --- code start -- > ECLASS_EXCLUDE=3D"foo_src_unpack bar_src_unpack" > inherit foo bar baz >=20 >=20 > --- code end --- >=20 > here, src_unpack would be baz_src_unpack *regardless* of composition order > because "foo" and "bar" were barred from being used, and baz took > precedence as a result. >=20 > If baz provides no src_unpack, then the ebuild in question is simply left > without one. My concern about reverse logic like excludes is this: -- code start -- # foo and bas provide src_unpack, but you don't want the PMS default # src_unpack to run them, and bar does not provide src_unpack: # You want the rest of the PMS default src_unpack actions to run, so you # don't write src_unpack. ECLASS_EXCLUDE=3D"foo_src_unpack bas_src_unpack" inherit foo bar bas -- code stop -- This works fine until the eclass maintainer for bar.eclass decides to add bar_src_unpack. As soon as that happens, your ebuild is broken. William --pf9I7BMVVzbSWLtt Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlPv4rQACgkQblQW9DDEZTg9RACglIBGN6mYY6dMUg4Dh0yskksI XAwAnA8bNnwORCNVlXAcB2DMQ3wCOmEE =88qX -----END PGP SIGNATURE----- --pf9I7BMVVzbSWLtt--