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 0E3AF139694 for ; Mon, 20 Mar 2017 11:20:01 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4172E21C153; Mon, 20 Mar 2017 11:19:44 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (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 F0F1621C098 for ; Mon, 20 Mar 2017 11:19:43 +0000 (UTC) Received: from localhost (dra13-4-78-234-166-189.fbx.proxad.net [78.234.166.189]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: aballier) by smtp.gentoo.org (Postfix) with ESMTPSA id A83EA341398 for ; Mon, 20 Mar 2017 11:19:42 +0000 (UTC) Date: Mon, 20 Mar 2017 12:19:37 +0100 From: Alexis Ballier To: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] Re: [PATCH] sys-devel/autoconf: Convert from eblits into an eclass, #586424 Message-ID: <20170320121937.7fc31770@gentoo.org> In-Reply-To: <22735.42420.523393.768428@a1i15.kph.uni-mainz.de> References: <20170316093806.31977-1-mgorny@gentoo.org> <20170320083544.GZ24205@vapier> <22735.42420.523393.768428@a1i15.kph.uni-mainz.de> Organization: Gentoo X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-pc-linux-gnu) 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 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Archives-Salt: e7d001b1-e525-4e23-9039-33e2c53bcd34 X-Archives-Hash: 3c9872df1c40f0d485e4fa71c292391c On Mon, 20 Mar 2017 10:49:40 +0100 Ulrich Mueller wrote: > >>>>> On Mon, 20 Mar 2017, Mike Frysinger wrote: > > > obvious NAK until you sort out the open questions already raised > > about the backwards breaking change you're trying to land in PMS. > > There are indeed some PMS patches pending about DISTDIR, FILESDIR, > WORKDIR, and S, but I fail to see where they would break backwards > compatibility. > > If you look at the last council approved PMS version [1], you'll find > that DISTDIR and FILESDIR are only valid in src_* phases and are not > guaranteed to have a consistent value across phases. The problem with > this is that it would not allow assignment of the PATCHES array in > global scope, e.g.: > > PATCHES=( "${DISTDIR}"/foo.patch "${WORKDIR}"/bar.patch ) > > After the PMS change, we will have the same properties for DISTDIR, > FILESDIR, WORKDIR, and S. Namely: > > - All four variables will be valid in src_* phases and in global scope > - They will have a consistent value in the ebuild environment > - The actual directories must not be accessed in global scope > > One could argue that this was overseen when EAPI 6 was approved. > In any case, ebuilds will be able to rely on more things than before. Please correct me if I'm wrong, but then portage's behavior of sending empty FILESDIR when it should not be used is wrong after that, right ? The idea behind FILESDIR being valid only in src_* phases is to allow portage-tree-less binpkgs to work. Not sure if that's even possible right now, but that is definitely a desirable goal. If I understand correctly, the change you mention would mean FILESDIR will be "constant". Which is good since that'd avoid regenerating the environment. However, this breaks autoconf ebuild relying on FILESDIR being empty when invalid and this would trigger the 'source $FILESDIR/... || die' part making the ebuild die in global scope. There are probably simpler fixes than the proposed patches, but this does indeed raise the question whether this is a backwards breaking change or not. Alexis.