From nobody Fri Feb 24 04:57:20 2023 X-Original-To: freebsd-current@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PNHh13c1kz3tFQW for ; Fri, 24 Feb 2023 04:57:37 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic304-23.consmr.mail.gq1.yahoo.com (sonic304-23.consmr.mail.gq1.yahoo.com [98.137.68.204]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4PNHh10zSxz4TVr for ; Fri, 24 Feb 2023 04:57:36 +0000 (UTC) (envelope-from marklmi@yahoo.com) Authentication-Results: mx1.freebsd.org; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1677214654; bh=B8fyhldx+dTL9bkWv9G6yFukQ3Bxz0Fs2vn9s6Jfycw=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=YX2hZF2ONMmpZQarX3/t81TJ4uI8PVe+NfxIoYE9Wd5n62uyiSJB5dcbGRRLrI3qtaRzQ79n1Wg0EG93NS3CQFVKRWg4zufaUjEEhlHSvWOq0TFffLQi+jVtgk/EiBG9NIbPhjt4qNfJiYGQ0ULfTLQdrigcR6oUE1vGB4JAY4wWVmkkyMQIqg7GohrvRWPC5poaJ9D+EkEHZm9xGPIrR7INuCi1elfaGoYxvbL64z6ov8PkklmTDX3dOKTN5TsEslXkZh2v5sYt4eZRRnM70m7J0PpRpoyUqNQa4vMxSJF14xBW+R+PFKolJJUvBTjZYH6LU5t+Bnms2bDMqVp7Og== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1677214654; bh=doYlk6SU4ihlz+oHMLA7rl5D2gsHShOw+fqU/Hk/hZ0=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=bA8ApsNZRfu1RslGyjS1k4N8vUqXKDcn2AxzrSTqTpedW2ncpB2+bA12eD/WLqTaLOl5pbp4Qlhs+WbhbnWgQLO/ZZZhLoAKcl5EgSsU6JVy9PuP2Iupf5L3NZnQOvveqHROgqR9ZJCjjk08u6cdiktkt+4FhaJCE2vFdYr991NGzNzMqnWX1ISGlb4630N5dZO0dtWhln+KYL3o6y78vbPR8KAF5b737uvDQEecTRU5MKIatViOHzHz+/sIXswCn8320oNdv62uFYFXjv1sMZXJoevo/49XXDFuM1iT9xOCRfGACBgUM1i5/20bV9Zp3kKc3Ipvji9xkpOVn7orcg== X-YMail-OSG: X1lGQ3QVM1nV63VF.ruNM2tAZeQVrcpScUvsCqG9n3wOQnJK01QE5JxPng3Oil9 vP2KhZoQKsLsZQjnaprZIF.InT0arg8ExkW4NOmIgXMozn0aBQgiEi8wfY_PzEqsWEWBoUfWHTJB 1cddHb_qXz9m6bSNDaHsnu83VvD5wUhkZfTU4vqNg80zRXIt0TYoIklUa_atlnFFGCg6KWe7Te3y UjGxHcM8ohhMuEPLg17ZjE1aFmi111Ovg49Zx.FFMgMOlwWmEpjuC4nm73g_TSp_6ea_Vj0dzOmt e_hi9Rkbyaki_XZyiXlVhPV1mDF6JcxQ0C2s8BuDHPmbpP7HPSBY3Lk67R3syf7.8dOCSSw5XHhY mVBw5wEkO9z7OZq41LRCaFo2Zb_0yOwxyi8UaRMC6SGOOpyh3wW9rlR4jEKBHDkV7n.aQgb7nZlR kSYjO0o3yL1wQNXW9PH6ctq0nsBbHJgywOTnsgVAr0ho2DqGhpiG.HCrV_K8MI2_Dfb69mCwOPMw AZpQn2oPsxSWhyLzRluebVdPxQzxDzENxYJbdhO5sKkbUYMnc6A13nKmb5W8Jv63272S0HCIuC3a 29ch9aahOBS4SYD0dAIZpy4DoMyoV0weYdEDxH1otRiOaY3dOwP5s.ExBj4fVLD3Dd7kLW1zSLsq byh9w0.O8B116HDFpyuzYaYE5UescqdaL6wQWVrThY5Ec7H2of0iH8aemIqNHemE9JXyt4vSSYlc d28PokrnrehuEve1bnQj0AKlBalSN_rjQ_CQdJNuSz7z.l.f4v1uH6HHO2c7UBjoAaGKCNd_BRr6 glr_QwsPTbEkj0M.yHRNoHVsziRlKOC3PynnpwKNRa0ew5alyuxpIlZ2f.smVcGSY2YkMDRW17wQ T7ZdAXvZz3JoEjJfs.S7Smg2aAYXJFhK0anENSrvjBYbyZZpJSnkx7OIHRdQm2teFrKsbc40.xyu Y7WyHXvQDLndjh74gDi6.4mrPLN.bH8ZgTSvUhj2FRcb.we5Qhib4_CHVEuZKqhn6zxMiTenB5pz uW5Ia6npSdUD.zvE_3DHv0j4qLkaZRH64xwtmAd2iK1peMRUJlJ8eLajJUcaIy_6b1yVUw02U0PG k8O8OyJ5Po_WXnOQMc2_SgRW20azRk_.0mf1jun3eOvbp2HWBmXz1UVbdDcMplYabdUT.9sKumY5 XtcirovJTnxGY2CsorhG5Pv1yyVtYhtEz2lcuJKkz0wKzuta9QMDAVClvTwo2dI6aPcuxkO4Mxfx itH4cl3zH64Fl1HNFOL4F6yjyDmyVr1CDPUKzkXm2FSk9DqZWt3pmTPQwi1Hzu5yo_JWySz99wfx 3O6hjcmjG9nkB5t6IWoT.hsKu8WgOzuS6sh7byVtw4oJoSASGhabZmXCYb9NwIy7tCx6vVxvc4EP 8xAORv7KRytmS1_._WNmo7AWzEgBRjE10160xFDm2xZq9ZxFwba_G.IIKWCqXxaF.bt7iF6bIOi2 Uhjcw4v2dsJc_W314hUNSZPRGSG5.VfpyCGde2551RRYLo3anZ9HhKWogAOcdRcRWwBsCg3me.zG b1ncdnSWyJEn7ByC56mFwM76QSo2V6Nyi6mh58bGOcgA08SnDZt55a_o.Rg9W0UCtzhL35OtqtEH 1IefK8hgyc8k.DZW0Aty2hWUoUGW97wfMtBfVYa2Y5D0UyhSDyqeXT9v3UnN.JcO.Jt.mS9F.9Yn jTuw68DXFNaXQCDI1M3jSfRW5pNzwcYMyPVmG_V5DYBWarxW4ggEP4cJ5jEsqB7Im9orNZFQDCKJ cvAiqu2EiCNm0drie5JiWnQKhpjBefwB4mOI.S9jEUX5xcsFMkW4E.l3t9kudoMYtAOs9uVWqGMo W0wsEe6iRJMXyaJdr3ET0lgYwVBCDkw2DDd3NLRDaRrowmxE_otGDSJfKJgJssm34ZJnBW2OzVjs PVFXouAPvMoPOueIxLdTzYDfyfZwiYHfYofNULIUXA.YIcvHYUSCOmwafiWq0fk5UtP4yS0sxWUh JhZkcfj964h0_a0_mkAaypQyN_Lt1fFhZa_yKJjY8IQ42YyNhAZNRTR5w4dXRMC2dIpN8jLYhTGa 41JgiUD6u2Cdou.YSj00eiixCWLpR6TD0kOJMcbPny_2_FfYtKwlNw5byc9mHp78HPRAWO9S0TJ9 5VySvKzlNPMD2ZNJYIBEYuDYtJyvS7Itmeet9ydM5bsZwuPIGSAs9eaxIN_.i6ty1DV4mmFnab3y u8g2cQwImedKvfkGxrI6aiDRepzCf9tB8L6_kqmDcuWjDDaTq1k1fXfm0Erei0VRP3AybSHs5 X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic304.consmr.mail.gq1.yahoo.com with HTTP; Fri, 24 Feb 2023 04:57:34 +0000 Received: by hermes--production-gq1-655ddccc9-6nnrh (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 7612117519ce38da470f16f4877f2d61; Fri, 24 Feb 2023 04:57:31 +0000 (UTC) Content-Type: text/plain; charset=us-ascii List-Id: Discussions about the use of FreeBSD-current List-Archive: https://lists.freebsd.org/archives/freebsd-current List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-current@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.400.51.1.1\)) Subject: Re: FYI: Why META_MODE rebuilds so much for building again after installworld (no source changes) From: Mark Millard In-Reply-To: <17672.1677210880@kaos.jnpr.net> Date: Thu, 23 Feb 2023 20:57:20 -0800 Cc: Bryan Drewery , Current FreeBSD , Peter Content-Transfer-Encoding: quoted-printable Message-Id: <21F1E7D4-D709-4DFF-98D6-51795B9BB291@yahoo.com> References: <3345EBA5-A09C-4E3F-B94D-39F57F56BDBB@yahoo.com> <73088.1611797582@kaos.jnpr.net> <10819.1677108389@kaos.jnpr.net> <76FA98EF-6184-4D7E-A01F-0EE8117D0D10@yahoo.com> <29887.1677115125@kaos.jnpr.net> <27790339-240F-4C97-97C7-38AFD8DE03D5@yahoo.com> <7FB6F619-6E71-4075-8A6C-573564371DD5@yahoo.com> <2655.1677134606@kaos.jnpr.net> <242BB478-B2FE-4BCC-A56E-098F3FEB3EE1@yahoo.com> <42586.1677183334@kaos.jnpr.net> <30.1677189836@kaos.jnpr.net> <1B5FCF8A-0DFD-4246-8464-65A44A40529F@yahoo.com> <93460.1677202939@kaos.jnpr.net> <17672.1677210880@kaos.jnpr.net> To: "Simon J. Gerraty" X-Mailer: Apple Mail (2.3731.400.51.1.1) X-Rspamd-Queue-Id: 4PNHh10zSxz4TVr X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/20, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Feb 23, 2023, at 19:54, Simon J. Gerraty wrote: >=20 >>=20 >> First some output log lines around a few sbin/realpath "is newer = than" >> related Building lines, with the .info lines in place now (I've >> got both kmod.mk and kern.mk with the .info line, likely producing >> redundant output but I did not know up front for sure): >>=20 >> make[4]: "/usr/main-src/sys/conf/kmod.mk" line 72: >> .CURDIR=3D/usr/main-src/sys/modules/aac >> = .OBJDIR=3D/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/= sys/GENERIC-NODBG/modules/usr/main-src/sys/modules/aac >> = OBJTOP=3D/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/s= ys/GENERIC-NODBG/modules/usr/main-src >=20 > So as you can see that OBJTOP not does provide a match for where > = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/realpath is >=20 > you really want it fixed at >=20 > /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64 >=20 > which is difficult given the way it is defined in > src.sys.obj.mk Yep, but possibly understated. > Perhaps you want to be using >=20 > .MAKE.META.IGNORE_PATHS+=3D ${MAKEOBJDIRPREFIX}/tmp/legacy/usr > or is that ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/tmp/legacy/usr=20= >=20 I had started with trying to use MAKEOBJDIRPREFIX but it appeared to end up with an empty expansion in something I'd looked at, making the addition to .MAKE.META.IGNORE_PATHS ineffective. But with the .info lines in place, I should probably recheck an example with ${MAKEOBJDIRPREFIX} in it. (Expecting .MAKE.META.IGNORE_PATHS to not work but showing what happens for the MAKEOBJDIRPREFIX use.) This turns out to be different for "modules" vs. "pure kernel". I start with a "modules" example below. So for .MAKE.META.IGNORE_PATHS +=3D ${MAKEOBJDIRPREFIX}/tmp/legacy/usr . . . make[4]: "/usr/main-src/sys/conf/kmod.mk" line 72:=20 .CURDIR=3D/usr/main-src/sys/modules/aac = .OBJDIR=3D/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/= sys/GENERIC-NODBG/modules/usr/main-src/sys/modules/aac = OBJTOP=3D/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/s= ys/GENERIC-NODBG/modules/usr/main-src .MAKE.META.IGNORE_PATHS=3D/bin/sh /bin /lib /rescue /sbin /usr/bin = /usr/lib /usr/sbin /usr/share /usr/include /usr/local/etc/libmap.d = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERI= C-NODBG/modules/tmp/legacy/usr make[4]: "/usr/main-src/sys/conf/kern.mk" line 3: = .CURDIR=3D/usr/main-src/sys/modules/aac = .OBJDIR=3D/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/= sys/GENERIC-NODBG/modules/usr/main-src/sys/modules/aac = OBJTOP=3D/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/s= ys/GENERIC-NODBG/modules/usr/main-src .MAKE.META.IGNORE_PATHS=3D/bin/sh /bin /lib /rescue /sbin /usr/bin = /usr/lib /usr/sbin /usr/share /usr/include /usr/local/etc/libmap.d = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERI= C-NODBG/modules/tmp/legacy/usr = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERI= C-NODBG/modules/usr/main-src/sys/modules/aac/machine.meta: 23: file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legac= y/usr/sbin/realpath' is newer than the target... Building = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERI= C-NODBG/modules/usr/main-src/sys/modules/aac/machine So, it looks like it ended up with MAKEOBJDIRPREFIX being: = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERI= C-NODBG/modules But looking outside the "modules" part of the kernel build log ends up showing: .MAKE.META.IGNORE_PATHS=3D/bin/sh /bin /lib /rescue /sbin /usr/bin = /usr/lib /usr/sbin /usr/share /usr/include /usr/local/etc/libmap.d = /tmp/legacy/usr So MAKEOBJDIRPREFIX expanded to empty, resulting in: /tmp/legacy/usr . So: more can-not-get-there-from-here. I've still no clue of a notation that will work. (It would need to apply to buildworld as well, making for more constraints than just working for buildkernel.) As for: ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/tmp/legacy/usr my memory is that ${TARGET}.${TARGET_ARCH} are supposed to only be use in the top level makefiles. But, just seeing what results . . . = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERI= C-NODBG/modules/amd64.amd64/tmp/legacy/usr Still not right for "modules". I'll note that outside modules, it is: /amd64.amd64/tmp/legacy/usr and still not right (MAKEOBJDIRPREFIX expanded to empty). I still do not know notation to make .MAKE.META.IGNORE_PATHS effective for the specific list of tmp/legacy/usr/sbin/* examples in question. Effectively, it appears that the coverage of .MAKE.META.IGNORE_PATHS is just incomplete (via the notational constraints it is used within). =3D=3D=3D Mark Millard marklmi at yahoo.com