From nobody Fri Feb 24 20:55:56 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 4PNhy75Zl3z3twSW for ; Fri, 24 Feb 2023 20:56:15 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic316-55.consmr.mail.gq1.yahoo.com (sonic316-55.consmr.mail.gq1.yahoo.com [98.137.69.31]) (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 4PNhy70Hkbz3ryX for ; Fri, 24 Feb 2023 20:56:14 +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=1677272172; bh=vhRiWBB6jJHs7nmyzJOZkjp2jdPnPFdsKd/e7w0bfeI=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=PUWsiRx5WrlaZIHRGPCh2aoURt+8IFxMTuergOjYS443q3sdE0nD4okpjqb8fjDjCa6WdVq2veADDderMxj1gfAL/YY8TbsFLeaWe1/wiImRqYBm+eqY4XW9yIACENaA/LAOPhAQ2iwYdDWYqmbocSNVtlFyGObM/NI3Tzn/eddibRbpPxyZmfeHDwK2lWUWNsQxqnJKgdv8HDkBBRrXJUb7bdD97CEf+/88cfAalyfwDQOvVl7TVk+IBuCB2AIqz8g4FKt9g+NZlGEcOvUE52YMKlC6UefjT0wBPNF50iShr+0g8yXGpv1YlCCGmG7ceAbmrQcqnFfV+4oAMWjSWA== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1677272172; bh=1f+r9q6Gh5i7VVxqWaqXEIWt6Iz3CuvYpPuFKXHTIcp=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=YWMi5/IktvBCRXeHTRpTXiy+7TFrV6TphDVHkVW8oaRuGt6DODoYh2dSFeiJh/VuBLg0ym4hQfbi8f9H91ME02Qul6AixEFo1BesNbIo3mcJdqHAD/zv/d/N6KopVOgPvIdtGfL9BRsHPBfmQVhwxy9u6ZlF4t1mwaKCoo9+V1tZTuuaEFM74rDx94ldG8Fyu1V4A5KTwbigKvM/8wevzja0wEtumWSJUbKWvcRcWIa+J4iTAmysZiAQ+oH6T6DqIrq8vFDdwZgflOQXylGZLGAACAKHM5TXDyBt2QlXQ4p495ZjuTJ4dNNI6oAW6NYeMF009cHY2LLdq0fiQM6jdg== X-YMail-OSG: Ai4SNGMVM1kkoKVd_IzGV6icNa1z7v.wbTLbLpwUOJ2ZuXyGAB.ETGN0GUIbcxA Vjsg0DRN_sz2NicfVWs5DA4ccF9lLY7jnDeuC8zWzQB3iidHHA01gSyD5tcWXwSTd6LM_5Ce4tpT GYLHj.xHxaI1eQBgDayS.EZueuQ8jIPMWFM930IVbxqbul6Fd.2nrE1OQCcN2zmDrp641R1p2Ly2 wKxEC1rtthvVTWA2pquAg.KB8mwcfJR505FVNR5QEhE6rz4ARlUiqy5tB.DlTmSMVXyu0QK50nr0 l1OZOHDRz3S8iQ3dHrtvU4ZjheLDFuXnS847ImnSF.BzCD6XlDbO.Yyxw9SNwe65PoRUIy1jw_Is jkcfVxBT4M3ddfzy6D8t6x5YKNvrvVEj.jZypZO5nGCyTeUBWdp9K7fAKRssqylCfkQFwMtw3R_T BAealZLBxqI66Y0fxpP4sVnFVpqa7Oepltq87vUBs73AVKedQWhG4nIW3VE4wmY.iiJsQRBG_sBk V7d7yGe5.Q.xSclEr93e1aQXPacTY6hMdZdsvyQbs4p5hpE6vbg_nAKpO.8FKp6TeRQoySK5o0Io GhZJbItEGWSpp7Oqotb0pNz_CcvINVFjjfjbt.UJ2THdpwZEecxc_gLbJOS5CyIrjTXoy9F1GQfi nMk0rDmST3gCPmnaWH6rm3cYsnmDflBU8gjdELgIs3eeRRHtYPaOzORg3em6bBvxolIjAse2CDUg XX5BsIFWWls8vG3nF5IK2zE3ql5p5y95zjm1y5d35vMDfd7JeaZotRYjSzVkxCRUxFrQ5A6aTik8 fGGGoFlpZcLfSj9mz8XhRozW7zPe45a8wXgJYUZHLMOO4s5sgtAPA34Mm93aGKOjEWWdyD95eT5V tCRY6ri86tmKXO7Cf01qM7zzcTtXWcOBs4Ir.WlMShfgBtyhPufb20wVJwtGsllJkxPplLzLXHCb dh3_jQLX.lhz1HWk0sBsrGFsaD09a4PUbHcMMrcxiNF9oSDdW2wamy5ZewFbD4pV2IdGUhxizP5k O2TyqQkpZwVlaCUTbCe5STtwJM8BbCxjSZJLOqCuGRHqKOIgRHNIeIhtcnXjkBd5F6cGIhGQa6T3 AWLGWJ16KaHvScaoDmepBfFLmQSvSWM0KIH.r60qVU6O014IOXBEj_PHIVE8puYQQVE54GCAZekW 5NDkPZs5Ix6nni_xp7qj.fIHKsIsClciK1bBpwMtoC3SaRhwB9ahLROCQorjLjZDBNLg5mqVi8pj 44g64.O.9ksCasAvAU3YfYNfkKOQkv6T5tYPQwQSHBd9l1BkE5uJnEl81KBTUhlvnfcpVvTuUrQ1 rpnHJRU_EzhmYUOacHmT2pGyqDQ4DqeCYOtLR0s5Ab_udcu2UNjjElFhTNk7r6Kb09tzPxXQakao MLhbufJF3CR0OFd1M3xFweDO7sMrBSJSl8DBQu4Rw4X4t1bfu5ztjVbhrq1K_nZgZY1paUE31IPE k._FKpMkcMlUCZs5aYBBYEuy9HCi3Z1LCN7Joog5MYDlduadp6aa.jfzWIBLdPDVlqfJrh8a.bRF U_33h4g9j7Mw8fx8mdZ7YdG4Vjiqbk.wV6CR07M5_Rneyrbuo79595Kx18ZkepfALadhyV2cEEHN ajKXYRDeft5k8OSkYEB8L9.xXI_RS_n3q95ZZ_Nw6c1nD2tvzjnCbvyWa63eedxNVUmN4ox9mMft fT9fG26K5Ock6cqc0VQ8zJvPkxj7NZLZAdyM4Noc98gLdQOzys.k6u9BemQ5CM3eK5wiyU5KutJ8 7cxlDR72Dh3gyjVvQkaDkHColuyKXjFSLCU_4MJskSFGr07p.WAm9KhECcWXGdR81EsOEKt1oaaF .MheuI2KgquNRjGVcAvzJEdGKI8R3md.oli2DmWtTUErD8iaMk2tcH120xRRokyENdY9WmA.YqjV 9D75aJHSx6gpRVd7p_syZanaIJS5SgmMFGFtT7TQZpuEa3AaNBGaMo4T.Gyys5dY7FToantLoFb2 q71JJ9O6Y09Hq9YqaT5ANhDq3KE4rslGXPRxObqwZfNz5PhlpNX.q08fO81xts6yER8pQjjRizvr utlTdvnz0Kz47tFmMpKk5lEqgolo9yM9._v7jDFuaDm8kv4fjVukL7.0.k6LAtDi938K7HnZ6NLp VAzc.cG58QlswQcy0wnbYQWik.3ZuRRrmtjXPHTsHDBYExNmeOltea0XTebT8ByVZWN6SZgghELN dkbyr.0NH2cGsuXk.KAbnnrypymEQ22H_JjfhWKKf0pqpwa2zUEj_AFhYrGV5MWo.8e2qnLLrAYh 5 X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic316.consmr.mail.gq1.yahoo.com with HTTP; Fri, 24 Feb 2023 20:56:12 +0000 Received: by hermes--production-gq1-655ddccc9-j6kw5 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID fe8696a4ed3bbcdc8b6fff021ae32dca; Fri, 24 Feb 2023 20:56:07 +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: <30.1677224034@kaos.jnpr.net> Date: Fri, 24 Feb 2023 12:55:56 -0800 Cc: Bryan Drewery , Current FreeBSD , Peter Content-Transfer-Encoding: quoted-printable Message-Id: <19D6D11D-7FA0-4D86-B04C-0EE5D3AAE028@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> <21F1E7D4-D709-4DFF-98D6-51795B9BB291@yahoo.com> <30.1677224034@kaos.jnpr.net> To: "Simon J. Gerraty" X-Mailer: Apple Mail (2.3731.400.51.1.1) X-Rspamd-Queue-Id: 4PNhy70Hkbz3ryX 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 23:33, Simon J. Gerraty wrote: >=20 >> . . . >=20 > Yes, if the value of MAKEOBJDIRPREFIX isn't consistent that's going to > cause problems (I'd call it a bug). If so don't use MAKEOBJDIRPREFIX > directly, set some other variable and export that. > Hmm src.sys.obj.mk plays games with MAKEOBJDIRPREFIX so that's > probably not a good option. > Perhaps: >=20 > diff --git a/share/mk/src.sys.obj.mk b/share/mk/src.sys.obj.mk > index 3b48fc3c5514..3c7e570dbdbd 100644 > --- a/share/mk/src.sys.obj.mk > +++ b/share/mk/src.sys.obj.mk > @@ -67,6 +67,9 @@ SB_OBJROOT?=3D ${SB}/obj/ > OBJROOT?=3D ${SB_OBJROOT} > .endif > OBJROOT?=3D ${_default_makeobjdirprefix}${SRCTOP}/ > +# save the value before we mess with it > +_OBJROOT:=3D ${OBJROOT:tA} > +.export _OBJROOT > .if ${OBJROOT:M*/} !=3D "" > OBJROOT:=3D ${OBJROOT:H:tA}/ > .else >=20 > and then something like? >=20 > .MAKE.META.IGNORE_PATHS +=3D > ${_OBJROOT}/${MACHINE}.${MACHINE_ARCH}/tmp/legacy/usr >=20 >> . . . >=20 Thanks. That has allowed me to set up the disabling of specific . . ./tmp/legacy/usr/sbin/* programs from having their dates lead directly to rebuild activity (tested via -dM use in the make commands). For reference, I'm using the below block of text for the .MAKE.META.IGNORE_PATHS adjustments now. # _OBJROOT is an addition to share/mk/src.sys.obj.mk # provided by Simon J. Gerraty for my experimentation # with this avoidance of some unnecessary build # activity in META MODE: # # OBJROOT?=3D ${_default_makeobjdirprefix}${SRCTOP}/ # +# save the value before we mess with it # +_OBJROOT:=3D ${OBJROOT:tA} # +.export _OBJROOT # # TARGET.TARGET_ARCH for amd64 stays as amd64.amd64 for obj-lib32 = (correct for the purpose) # MACHINE.MACHINE_ARCH for amd64 turns into i386.i386 for obj-lib32 = (wrong for the purpose) # IGNORELEGACY_NOSYMLINKPREFIX=3D = ${_OBJROOT}/${TARGET}.${TARGET_ARCH}/tmp/legacy/usr IGNOREOTHER_NOSYMLINKPREFIX=3D = ${_OBJROOT}/${TARGET}.${TARGET_ARCH}/tmp/usr/bin # .for ignore_legacy_tool in awk basename cap_mkdb cat chmod cmp cp = crunchgen crunchide cut date dd dirname echo egrep env expr fgrep file2c = find gencat grep gzip head hostname jot lex lb ln ls m4 make mkcsmapper mkdir mktemp mtree mv nawk patch realpath rm sed sh sort = touch tr truncate uudecode uuencode wc xargs .MAKE.META.IGNORE_PATHS+=3D = ${IGNORELEGACY_NOSYMLINKPREFIX}/sbin/${ignore_legacy_tool} .endfor # .for ignore_other_tool in ctfconvert objcopy nm .MAKE.META.IGNORE_PATHS+=3D = ${IGNOREOTHER_NOSYMLINKPREFIX}/${ignore_other_tool} .endfor # .MAKE.META.IGNORE_PATHS:=3D ${.MAKE.META.IGNORE_PATHS} (It is in a file specified via env __MAKE_CONF=3D use.) I've extended the experiment to span releng/13.0 , releng/13.1 , stable/13 as well, not just main [so: 14]. And I've set up the aarch64 environment as well for that range of system variations. (It also builds for targeting armv7 which is also covered.) We will see how it goes as I track system updates periodically. Thanks again. For reference, the -dM "is newer than" notice counts in the log for a buildworld buildkernel just after a installworld installkernel now looks like: 1467 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib/Scrt1.o' is newer than the target... 515 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib/crti.o' is newer than the target... 236 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib32/crti.o' is newer than the target... 70 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib/libgcc_s.so' is newer than the target... 69 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib32/libgcc_s.so' is newer than the target... 68 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib/crt1.o' is newer than the target... 3 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/i= nclude/aio.h' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib32/libssl.so' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib32/libcxxrt.so' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib32/libctf.so' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib32/libcrypto.so' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib32/libc.so.7' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib32/Scrt1.o' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib/libssl.so' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib/libcxxrt.so' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib/libctf.so' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/l= ib/libcrypto.so' is newer than the target... 1 file = '/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/lib/l= ibc.so.7' is newer than the target... Doing another buildworld buildkernel just after and looking at its log's counts looks very similar. (No claim of what the likes of, say, a clang14 -> clang15 based system update would be like overall: the above is for the study-state of no source updates being involved.) =3D=3D=3D Mark Millard marklmi at yahoo.com