From owner-freebsd-current@freebsd.org Tue Jun 14 15:53:59 2016 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B62E2AF2CFB for ; Tue, 14 Jun 2016 15:53:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 9AE892DF0; Tue, 14 Jun 2016 15:53:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 8EEE31D25; Tue, 14 Jun 2016 15:53:59 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 4B9C31DB9F; Tue, 14 Jun 2016 15:53:59 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id GhKPIxa91m2i; Tue, 14 Jun 2016 15:53:56 +0000 (UTC) Subject: Re: 11.0 -r301815 to -r310873 using WITH_META_MODE=yes : an empty filename failure DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 937D51DB99 To: "Simon J. Gerraty" References: <85435AE2-3F2C-4330-9751-729D99716A8C@dsl-only.net> <65e079c5-6b69-1b94-6bc8-ee32269cc98c@FreeBSD.org> <57295.1465874334@kaos.jnpr.net> Cc: Mark Millard , FreeBSD Current From: Bryan Drewery Openpgp: id=F9173CB2C3AAEA7A5C8A1F0935D771BB6E4697CF; url=http://www.shatow.net/bryan/bryan2.asc Organization: FreeBSD Message-ID: <8a51b170-5f6c-4a86-bc08-e960c19b7f2f@FreeBSD.org> Date: Tue, 14 Jun 2016 08:53:55 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <57295.1465874334@kaos.jnpr.net> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="mfxUhjmCtxdOtxbpc4w2I36ORT8p4vol5" X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jun 2016 15:53:59 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --mfxUhjmCtxdOtxbpc4w2I36ORT8p4vol5 Content-Type: multipart/mixed; boundary="WgkO3vx5mNCiWv0sf1S0OiO4k22EwNqIR" From: Bryan Drewery To: "Simon J. Gerraty" Cc: Mark Millard , FreeBSD Current Message-ID: <8a51b170-5f6c-4a86-bc08-e960c19b7f2f@FreeBSD.org> Subject: Re: 11.0 -r301815 to -r310873 using WITH_META_MODE=yes : an empty filename failure References: <85435AE2-3F2C-4330-9751-729D99716A8C@dsl-only.net> <65e079c5-6b69-1b94-6bc8-ee32269cc98c@FreeBSD.org> <57295.1465874334@kaos.jnpr.net> In-Reply-To: <57295.1465874334@kaos.jnpr.net> --WgkO3vx5mNCiWv0sf1S0OiO4k22EwNqIR Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 6/13/2016 8:18 PM, Simon J. Gerraty wrote: > Bryan Drewery wrote: >>>> ${_FIRM}: ${.CURDIR}/../../../../contrib/dev/drm2/radeonkmsfw/${_FIR= M}.uu >>>> uudecode -p $? > ${.TARGET} > Targets like this that use $? or ${.OODATE} are a bad fit with META mod= e. >=20 > If the normal make rules think the target is up to date, .OODATE will b= e > empty, thus if meta_oodate says the target is out-of-date, the script > will run with no args - because $? expands to nothing. >=20 > So either the use of $? should be replaced with ${.ALLSRC} or something= > else that will be consistent, or the target should be marked .NOMETA I think my point is getting lost. With the new missing-meta feature, if a target uses .OODATE and has no .meta file then it is forced to run *Even if no targets are out-of-date* and yields an empty result. Yet, via meta_oodate, if there is already a .meta file and .OODATE is used and has an empty source list then $.OODATE is forced to be .ALLSRC: > if (oodate && needOODATE) { =20 > /* =20 > * Target uses .OODATE which is empty; or we wouldn't be here. =20 > * We have decided it is oodate, so .OODATE needs to be set. =20 > * All we can sanely do is set it to .ALLSRC. =20 > */ =20 > Var_Delete(OODATE, gn); =20 > Var_Set(OODATE, Var_Value(ALLSRC, gn, &cp), gn, 0); =20 > free(cp); =20 > } =20 What's missing is setting of needOODATE in the metaMissing case so that it auto applies the .OODATE=3D.ALLSRC hack/fixup which is what you're suggesting as well. I don't think it is right to force manually adding .NOMETA to all =2EOODATE usages since there's already logic to handle .OODATE in the =2Emeta existing case. --=20 Regards, Bryan Drewery --WgkO3vx5mNCiWv0sf1S0OiO4k22EwNqIR-- --mfxUhjmCtxdOtxbpc4w2I36ORT8p4vol5 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBAgAGBQJXYCiTAAoJEDXXcbtuRpfPVTcH/3tzh+wmlNGxkZqkODsVfpFi yyeMgZDAiPpicTx5ecJXgRKn6jwLylVYYOPUZEEvP3Lloe3Eg/0KH1Nyfu73SI9d ZhlPF5AsEr2FGj/bxbX7RLCZVU1H6t6WHGrlxPeOFPDnE+KfRQcQ0DNK0ioSUzrt fXBNhD3WZ7EPp9iypkuEfw5pkDDzWQBWCZNwoBnNDS4WDy0+L0K5EN+UqxrUJdiT mmlDY/nzCps1mgCGVJWggTGpDOQMU1tPzj8y4xDMVZA9CqES7rir+JT2Bi4qV8cd ZtpysYwQkLUitM37XB+IStlRFi3nDoU0h/Xoi3khEYGMEBvmg6Sl59Axz91ogz0= =K1zi -----END PGP SIGNATURE----- --mfxUhjmCtxdOtxbpc4w2I36ORT8p4vol5--