From owner-freebsd-current@freebsd.org Wed Jun 15 00:13:32 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 47122AF11C3 for ; Wed, 15 Jun 2016 00:13:32 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-211-154.reflexion.net [208.70.211.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F017B28C0 for ; Wed, 15 Jun 2016 00:13:31 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 27738 invoked from network); 15 Jun 2016 00:13:58 -0000 Received: from unknown (HELO rtc-sm-01.app.dca.reflexion.local) (10.81.150.1) by 0 (rfx-qmail) with SMTP; 15 Jun 2016 00:13:58 -0000 Received: by rtc-sm-01.app.dca.reflexion.local (Reflexion email security v7.90.3) with SMTP; Tue, 14 Jun 2016 20:13:29 -0400 (EDT) Received: (qmail 23468 invoked from network); 15 Jun 2016 00:13:28 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with SMTP; 15 Jun 2016 00:13:28 -0000 X-No-Relay: not in my network X-No-Relay: not in my network Received: from [192.168.0.105] (ip70-189-131-151.lv.lv.cox.net [70.189.131.151]) by iron2.pdx.net (Postfix) with ESMTPSA id 314AA1C43D0; Tue, 14 Jun 2016 17:13:18 -0700 (PDT) Content-Type: text/plain; charset=windows-1252 Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\)) Subject: Re: mergemaster internally using make [for example] vs. WITH_META_MODE? From: Mark Millard In-Reply-To: <69eb8cb4-2d9b-7019-c9cb-52569090dd8b@FreeBSD.org> Date: Tue, 14 Jun 2016 17:13:22 -0700 Cc: FreeBSD Current Content-Transfer-Encoding: quoted-printable Message-Id: References: <7C577F5B-545C-4D70-A78E-A19E35A24592@dsl-only.net> <36f0c42f-1ca0-f82c-da5b-74cb8f0240e4@FreeBSD.org> <533A2977-70C7-44A8-9768-840BAAC3F95F@dsl-only.net> <69eb8cb4-2d9b-7019-c9cb-52569090dd8b@FreeBSD.org> To: Bryan Drewery X-Mailer: Apple Mail (2.3124) 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: Wed, 15 Jun 2016 00:13:32 -0000 On 2016-Jun-14, at 9:25 AM, Bryan Drewery = wrote: > On 6/13/2016 4:31 PM, Mark Millard wrote: >> On 2016-Jun-13, at 3:27 PM, Bryan Drewery = wrote: >>=20 >>> On 6/11/2016 7:28 PM, Mark Millard wrote: >>>> mergemaster [as an example] has code like: >>>>=20 >>>>> # grep -i make /usr/sbin/mergemaster | more >>>> . . . >>>>> MM_MAKE=3D"make ${ARCHSTRING} -m ${SOURCEDIR}/share/mk" >>>>> ${MM_MAKE} DESTDIR=3D${DESTDIR} distrib-dirs >/dev/null >>>>> ${MM_MAKE} DESTDIR=3D${TEMPROOT} distrib-dirs >/dev/null && >>>>> ${MM_MAKE} _obj SUBDIR_OVERRIDE=3Detc >/dev/null && >>>>> ${MM_MAKE} everything SUBDIR_OVERRIDE=3Detc >/dev/null && >>>>> ${MM_MAKE} DESTDIR=3D${TEMPROOT} distribution >/dev/null;} || >>>> . . . >>>>=20 >>>> If one is using WITH_META_MODE=3D for buildworld, buidlkernel, = installkernel, installworld what is appropriate for scripts or other = uses of make for other makefile-targets? >>>>=20 >>>> Are there explicit mixes of using WITH_META_MODE=3D for some = makefile targets and not using WITH_META_MODE=3D for other makefile = targets that need to be avoided? Does one need to force some scripts to = use [or not use] WITH_META_MODE=3D for their "internal" make usage? >>>>=20 >>>=20 >>> Is there an actual bug with mergemaster with WITH_META_MODE? >>>=20 >>>=20 >>> --=20 >>> Regards, >>> Bryan Drewery >>=20 >> I do not know. I was not sure if lack of WITH_META_MODE=3Dyes for = mergemaster's internal make uses might mess up later make commands that = use WITH_META_MODE=3Dyes for explicit make activities. Overall that = would be a mix of with and without. >>=20 >> As stands I use the following script for mergemaster = (TARGET_ARCH=3Damd64 example): >>=20 >> # more ~/sys_build_scripts.amd64-host/mergemaster_amd64-amd64-host.sh=20= >> script = ~/sys_typescripts/typescript_mergemaster_amd64-amd64-host-$(date = +%Y-%m-%d:%H:%M:%S) \ >> env __MAKE_CONF=3D"/root/src.configs/make.conf" = SRC_ENV_CONF=3D"/root/src.configs/src.conf.amd64-clang-bootstrap.amd64-hos= t" \ >> MAKEOBJDIRPREFIX=3D"/usr/obj/clang/amd64.amd64" \ >> mergemaster -A amd64 $* >>=20 >> I've not added WITH_META_MODE=3Dyes to the env yet. >>=20 >>=20 >> I've been wondering if I should add WITH_META_MODE=3Dyes to such = scripts when the matching "make" script uses WITH_META_MODE=3Dyes --such = as: >>=20 >> # more = ~/sys_build_scripts.amd64-host/make_amd64_nodebug_clang_bootstrap-amd64-ho= st.sh=20 >> kldload -n filemon && \ >> script = ~/sys_typescripts/typescript_make_amd64_nodebug_clang_bootstrap-amd64-host= -$(date +%Y-%m-%d:%H:%M:%S) \ >> env __MAKE_CONF=3D"/root/src.configs/make.conf" = SRC_ENV_CONF=3D"/root/src.configs/src.conf.amd64-clang-bootstrap.amd64-hos= t" \ >> WITH_META_MODE=3Dyes \ >> MAKEOBJDIRPREFIX=3D"/usr/obj/clang/amd64.amd64" \ >> make $* >>=20 >=20 > The targets (at top-level) that META_MODE is applied to is a whitelist > now after r301887. So it's safe to always pass it when building from > the top-level. If it's an unsupported target it will internally = disable > META_MODE. So WITH_META_MODE=3Dyes is now always allowed. That still leaves the = questions of when WITH_META_MODE=3Dyes is necessary: For example, is it = ever required for the likes of mergemaster? (I'll use mergemaster to = illustrate a more general question that applies to other potential = scripts as well.) As far as I can tell scripts such as mergemaster currently never supply = WITH_META_MODE=3Dyes to their internal make commands on their own. It may be that this never interferes with anything, including use of = WITH_META_MODE=3Dyes for buildworld, installworld, and the like. If so = then WITH_META_MODE=3Dyes need never be used for mergemaster. But if omitting WITH_META_MODE=3Dyes for mergemaster can interfere with = WITH_META_MODE=3Dyes for buildworld, installworld, and the like then it = would be important that "env WITH_META_MODE=3Dyes mergemaster" be used = if one is using WITH_META_MODE=3Dyes for buildworld and the like. Is it known which is the case? If yes, then which is the case? If one orientation for meta mode status always is okay for mergemaster = no matter which way is in use for buildworld and the like, then it would = likely be best if mergemaster was coded to always/automatically use that = orientation. >>=20 >> [Based on current behavior I normally only use WITH_META_MODE=3Dyes = for the host targeting its own architecture.] >=20 > Cross should be fine now. At some point I'll experiment with it again. It may be a while before I = get to that. >> =3D=3D=3D >> Mark Millard >> markmi at dsl-only.net >>=20 >=20 >=20 > --=20 > Regards, > Bryan Drewery =3D=3D=3D Mark Millard markmi at dsl-only.net