From nobody Thu Feb 23 07:10:49 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 4PMkhT3w3wz3t6GK for ; Thu, 23 Feb 2023 07:11:05 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic303-23.consmr.mail.gq1.yahoo.com (sonic303-23.consmr.mail.gq1.yahoo.com [98.137.64.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 4PMkhT1bZmz3Lw4 for ; Thu, 23 Feb 2023 07:11:05 +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=1677136263; bh=xJNIS6YmM47VglZVZkX334UdaiS+TUVagCkkdtkZp/c=; h=Subject:From:In-Reply-To:Date:Cc:References:To:From:Subject:Reply-To; b=L/ktoHmq4FDu1pK1vCfDxNL4TjacbcFY8yLNstTWSNtT5Ko2H6br50UHUygubvjPA4dlGvXU4ubJAPZ8LDwPBshqO9r7AqHzmi8jALY5D2g/8uP1iIEojOlAmBgyg8/YpB10kGz5K9AGzPpEILTa+ZBUGGA1LFktm32aCe7VGePtYbh9SXvJ2kFLNbYFlatlbH23ZxkS+a1nQ0eV9gttr9gBKmG58ZuVPnRO/AQvi8ZH+EFB5XP3XpPAiJkdG/RnlLyu0gryP1JHSyXnYEkW9Te6HNSkMSxK7XLCnLCWZ5B1o8q0bgP1G66yZ9RE6q0JRN1ZY0R6tYppi97BAN4Ljg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1677136263; bh=kLjRebbbN0+GXypmDpyJQZc7rnXli1764Xa+KImOw54=; h=X-Sonic-MF:Subject:From:Date:To:From:Subject; b=m68O3LM8a/wSMewH1QQzCZhSfs5Cx3uELb//xdtMyhEbKzC5ai2d0Dq4OVR8TbDXIBvYOnJvKKaJXfcanMY7D3wpbe+OANMZl2dwE8NMf8RnFZtwk2GUq1X6RnPuzc/O6RrMDjdfsimpbEux6vmUNzL+dCSKvfnbqVFeJi4zzpW6s1ClBTM8mA2fpwJMhqZHcce4aq7oS6GRTTv10bihXeLvgJ4K5DusLgqx7EWfuVy6ZBrJg/iY8yVh85h8w/ANNoAObhvL8//blq4EKeIpzKWLcCctnOhMCaXoih8+1oSnplrug3iYndDILTl9RPCuJYOgOnF2lixII8OMaYZ1dA== X-YMail-OSG: gPNQ_DkVM1n3o9VqdDLhg5T_VZ1v6DMTjV43dXevtGkuUYaVtYtR1zjZB6OaDZo Fl_y_p.9p8zMqtRzypo59a5LMm_kvJWBu4ffR9NE0efOwxMvtVVo4atcuV29brdm1.qXdkgRZZjO UkQm6MZrFwgO_Svyd2P7b7IqWRtOImOKsrF9NbDbDPlhjDtxAdb6wxTuqY9MyZs1qkVpMGa2oki1 SDFojYv.7rbFqM3nR9vY0X2AFGDfgxAfyZAQ.LMkBFXLdzDE3Ek8krS_QrsHY5Byf5tJJ64jtmve lTwmqylfjK6ZOnkEKfHoDkQk8WAPshS3r6A4J4qfYIV6KXmK3xzJ8Ut2KsuTfbnERW2Q1pHkSVCO jUuimoOa6ohyaLWDuB30z7vc13o.DiEtpV0dsywfWjNONsiZDjlOtXHxDYp4C7NBE2FPB33GUG26 Zv9cWAEdpIJSochG4Df.jhIaJxcZPal.ZdoIc65.qSq7Lhl9FQ4SaN3g7ziLmK6_bWm6Sm1QQy38 DVoOO.T_GKXXLX0ugmJHzk.awqUoqF2XmNXWTVGNcTV43iYTcbsQCU8xMa_WiyusPMmCzWD4vvCK 2j54SMEtDp6fOCestTLLZ2Zy80FMTtt3yJ7SaN4atHrdGRnzP0fUAF7iSxM_tGCd36J8VjJ9r7j_ 0K.d4zKu8j3gKgXnW1OuKIr8Q3708gSuiDKYdgK6VqrJ92FUPUNu7cMZZ7T5nH5lfbdwGhDSfhLA uxvuybLF9TQOvmbXcV_8IT0_zOmGHuGks0KkeKRhpnFafKHdhtclNW7tE58J4GGqnVHqhL8_3DbK 9FNd4W6sLOjF4iz1CKvR.SVbTaHkk2Ekvcl57RRXmAfKAoStQPpHjRByfBj0cYxz.Q0Twa_4dqS6 WWeKrwhxw5s5Ho4ErMtGH9Snj_6HnHtGIBWMxb.pk8A54IQcemRkbqNJsRNpv07xgZV3HcG1fpHU hfvYQHk8rQ42VzfEUKGtx568n0OgNF1ZY2i04_V_ll_JwC4I5CzRGgzliGDQM0asvlUqLuZWZ3kc JVzzJANILs_F20utzGM726nRgJOAtcEyy16ZoawkF.d0Ilq6W8LzFNGkDq9wMAFoOBsN27HUUciJ bHYHpuYJF9GlaHJ49tzu3POZQTQRlZ0JFVyqgSfpT81N6SZuDSENa9un.mZ9byNJIkCZb54ifihb WjQ.ixNG.cu6mTpNzS1d5RwkkOLpI8KmKKxvo0OR8Xx_WZNqrNBDZ6sQjnvc_Vt7PfwpWdCx.IKH LK4R8XtLhzu4ZnTvIxeH4lS3eLPD0tZGyg7AGQT.r7_ChKFBGvY7cdK5unDUsAvtrUwgPYMtKLfZ _gl84lAzTES5VPzRbWh5QsMfdo58rSdTvcCmMsWJ_VrIN9ErgFNkSPfpvmtKBUVs5zPWOzucQyxw CiNNolJ7puIIJcCcvocloEOxJVeUBN..iWPgjzCA29lhWmDrO9y5YJv0Hyhln4U_5KrvilIJQwQR AvVdF1SkRufCen..lGKDP9nZbeRLmCiixNkR611KUjaIiC5ZLXOWlVzY3hqVv5sMEdkpIpp6Mi0U WLgEPWbckTnKOS1kg.i6_kHhr3J89QhlrzpGweFzRaBhGPpdGFsVFqtqaGbeOHGu07KIdRoC8T66 2NoAzQd1VKqmRSLaR1Al57lQYJNb9KF1KhA3icERORyujW1sCCzMW4OcZMN_RYfYqx28JN5Zgt3L PqrS53yIRWuFnRsVbjKKLq91EybTwMIK47hJdkRjzOgzmfmN2kBBfXntvN7MPZAQOmI61RuZWKsK cuF49T9d2R5ZqwuFDOTFWDCc8dK5YaobyNyEaleNN1or_yFSg9qN16L5pSyWsTYcZx4GfitOZqQy IDzNbFIfaPIJb6iyDu_ni2uuHpR44L5MAZth7FFDRB.ctLEP.uFwAbXmMR4lWGqKBxomqI0BQTaQ .kqGq5A3GmZWXnR0FDs2EyqRJudZP90dW.dLHB20ZSxn8NSzYoV4F6IZDeE4IFFvedBV7vADE_lY xJcm36AL3b4tgPH7VS09GXVVxuFC4mtbdSJgV8rymoWU2i2SXJlsvj5i3rZBCCqp56Fp4PO2GxIn 5weRuUP_l_E9wp1ULSrGGC7l1GKMlK9mwy9n6vNoaCwnUX8jxb_sLuMucRcfoBTLEvNdr9hSNzVp xfylEy0hdfJVof7oHEIfqiGaGIhIulxd_uG6cZ0fza72Hr0In1EFpaBV4p0.5vDslhVBxtsEstjy T2u4OjcUhk7ohcZ4G9m_7ESC2x.nLCg8AuxruVHRHoUUcv57pcjZOKsC_JnDAEyYyIhI8hYFJNU0 - X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.gq1.yahoo.com with HTTP; Thu, 23 Feb 2023 07:11:03 +0000 Received: by hermes--production-gq1-655ddccc9-nql2v (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID ca47a5c26854a511913cadc9f3ba9a13; Thu, 23 Feb 2023 07:11:00 +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: <2655.1677134606@kaos.jnpr.net> Date: Wed, 22 Feb 2023 23:10:49 -0800 Cc: Bryan Drewery , Current FreeBSD , Peter Content-Transfer-Encoding: quoted-printable Message-Id: <242BB478-B2FE-4BCC-A56E-098F3FEB3EE1@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> To: "Simon J. Gerraty" X-Mailer: Apple Mail (2.3731.400.51.1.1) X-Rspamd-Queue-Id: 4PMkhT1bZmz3Lw4 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 22, 2023, at 22:43, Simon J. Gerraty wrote: > Mark Millard wrote: >> It appears that for symbolic links being the target, META_MODE does >> not respect .MAKE.META.IGNORE_PATHS . >=20 > The handling of links is rather complicated ;-) > Among other things, the src needs to be treated as for a Read and the > target as for Write=20 >=20 > Note that .MAKE.META.IGNORE_PATHS is only applied to absolute paths > .MAKE.META.IGNORE_PATTERNS and .MAKE.META.IGNORE_FILTER can be used to > apply more generally. All paths that I'm adding are absolute paths. For reference (my additions are after the normal ones, I use -dV here to show what is based on other substitutions vs. not): # = ~/sys-build-scripts.amd64-host/make-main-amd64-nodbg-clang.amd64-host.sh = -dV -V.MAKE.META.IGNORE_PATHS buildworld buildkernel Script started, output file is = /usr/obj/BUILDs/main-amd64-nodbg-clang/sys-typescripts/typescript-make-amd= 64-nodbg-clang-amd64-host-2023-02-22:23:06:28 ${__MAKE_SHELL} /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/tmp/legacy= /usr/sbin/awk = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/cap_mkdb = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/cat = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/cp = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/crunchgen = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/crunchide = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/dd = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/egrep = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/env = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/file2c = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/gencat = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/grep = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/gzip = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/jot = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/lex = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/lb = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/ln = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/m4 = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/mkcsmapper = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/mktemp = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/mv = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/patch = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/realpath = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/rm = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/sed = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/sh = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/touch = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/truncate = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/uudecode = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/uuencode = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/legacy= /usr/sbin/xargs = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/bi= n/ctfconvert = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/bi= n/objcopy = /usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/tmp/usr/bi= n/nm Script done, output file is = /usr/obj/BUILDs/main-amd64-nodbg-clang/sys-typescripts/typescript-make-amd= 64-nodbg-clang-amd64-host-2023-02-22:23:06:28 The contribution to the list is currently generated via use of: .if ${.MAKE.LEVEL} =3D=3D 0 .for ignore_legacy_tool in awk cap_mkdb cat cp crunchgen crunchide dd = egrep env file2c gencat grep gzip jot lex lb ln m4 mkcsmapper mktemp mv = patch realpath rm sed sh touch truncate uudecode uuencode xargs .MAKE.META.IGNORE_PATHS+=3D = ${MAKEOBJDIR}/tmp/legacy/usr/sbin/${ignore_legacy_tool} .endfor .for ignore_other_tool in ctfconvert objcopy nm .MAKE.META.IGNORE_PATHS+=3D = ${MAKEOBJDIR}/tmp/usr/bin/${ignore_other_tool} .endfor .MAKE.META.IGNORE_PATHS:=3D ${.MAKE.META.IGNORE_PATHS} .endif The :=3D use is how I avoided needing to worry about late binding substitutions for my additions (independent of the internals of make's specific .MAKE.META.IGNORE_PATHS handling). For reference: # more = ~/sys-build-scripts.amd64-host/make-main-amd64-nodbg-clang.amd64-host.sh kldload -n filemon && \ cd /usr/main-src/ && \ mkdir -p /usr/obj/BUILDs/main-amd64-nodbg-clang/sys-typescripts/ && \ script = /usr/obj/BUILDs/main-amd64-nodbg-clang/sys-typescripts/typescript-make-amd= 64-nodbg-clang-amd64-host-$(date +%Y-%m-%d:%H:%M:%S) \ env __MAKE_CONF=3D"/usr/home/root/src.configs/make.conf" = SRCCONF=3D"/dev/null" = SRC_ENV_CONF=3D"/usr/home/root/src.configs/src.conf.amd64-nodbg-clang.amd6= 4-host" \ WITH_META_MODE=3Dyes \ MAKEOBJDIRPREFIX=3D"/usr/obj/BUILDs/main-amd64-nodbg-clang" \ make $* =3D=3D=3D Mark Millard marklmi at yahoo.com