From nobody Wed Feb 22 02:10:43 2023 X-Original-To: freebsd-stable@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 4PM0F46mPCz3tp15 for ; Wed, 22 Feb 2023 02:18:16 +0000 (UTC) (envelope-from pmc@citylink.dinoex.sub.org) Received: from uucp.dinoex.org (uucp.dinoex.org [IPv6:2a0b:f840::12]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "uucp.dinoex.sub.de", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PM0F43hwQz3PjP for ; Wed, 22 Feb 2023 02:18:16 +0000 (UTC) (envelope-from pmc@citylink.dinoex.sub.org) Authentication-Results: mx1.freebsd.org; none Received: from uucp.dinoex.org (uucp.dinoex.org [IPv6:2a0b:f840:0:0:0:0:0:12]) by uucp.dinoex.org (8.17.1/8.17.1) with ESMTPS id 31M2I6hD017712 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 22 Feb 2023 03:18:06 +0100 (CET) (envelope-from pmc@citylink.dinoex.sub.org) Received: (from uucp@localhost) by uucp.dinoex.org (8.17.1/8.17.1/Submit) with UUCP id 31M2I6tN017706; Wed, 22 Feb 2023 03:18:06 +0100 (CET) (envelope-from pmc@citylink.dinoex.sub.org) Received: from disp.intra.daemon.contact (disp-e.intra.daemon.contact [IPv6:fd00:0:0:0:0:0:0:112]) by admn.intra.daemon.contact (8.17.1/8.17.1) with ESMTPS id 31M2CipH031774 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=OK); Wed, 22 Feb 2023 03:12:45 +0100 (CET) (envelope-from pmc@citylink.dinoex.sub.org) Received: from disp.intra.daemon.contact (localhost [127.0.0.1]) by disp.intra.daemon.contact (8.17.1/8.17.1) with ESMTPS id 31M2AhNW003774 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO); Wed, 22 Feb 2023 03:10:45 +0100 (CET) (envelope-from pmc@citylink.dinoex.sub.org) Received: (from pmc@localhost) by disp.intra.daemon.contact (8.17.1/8.17.1/Submit) id 31M2Ah5X003773; Wed, 22 Feb 2023 03:10:43 +0100 (CET) (envelope-from pmc@citylink.dinoex.sub.org) X-Authentication-Warning: disp.intra.daemon.contact: pmc set sender to pmc@citylink.dinoex.sub.org using -f Date: Wed, 22 Feb 2023 03:10:43 +0100 From: Peter To: Mark Millard Cc: FreeBSD-STABLE Mailing List Subject: Re: 13.2 BETA2: how do debug META_MODE? Message-ID: References: <41B536B0-DA66-449E-96BB-E11A8750471A.ref@yahoo.com> <41B536B0-DA66-449E-96BB-E11A8750471A@yahoo.com> List-Id: Production branch of FreeBSD source code List-Archive: https://lists.freebsd.org/archives/freebsd-stable List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-stable@freebsd.org X-BeenThere: freebsd-stable@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Milter: Spamilter (Reciever: uucp.dinoex.org; Sender-ip: 0:0:2a0b:f840::; Sender-helo: uucp.dinoex.org;) X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (uucp.dinoex.org [IPv6:2a0b:f840:0:0:0:0:0:12]); Wed, 22 Feb 2023 03:18:09 +0100 (CET) X-Rspamd-Queue-Id: 4PM0F43hwQz3PjP X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:205376, ipnet:2a0b:f840::/32, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Tue, Feb 21, 2023 at 11:56:13AM -0800, Mark Millard wrote: ! On Feb 21, 2023, at 04:55, Peter wrote: ! ! > ! # cd /usr/src/ ! > ! # env WITH_META_MODE=yes make buildworld ! > ! # env WITH_META_MODE=yes make installworld ! > ! # env WITH_META_MODE=yes make buildworld (again #0) ! > ! ## no more rebuilds below? ! > ! # env WITH_META_MODE=yes make buildworld (again #1) ! > ! # env WITH_META_MODE=yes make buildworld (again #2) ! > ! > But what is the difference between #0 and #1? ! ! awk, cp, ln, rm, sed, and many more from ! . . ./tmp/legacy/usr/sbin/have new dates ! for rebuilds after installworld (that targets ! the running system). Not true for #1 and #2. ! ! The dates on these tools being more recent than ! the files that they were involved in producing ! leads to rebuilding those files. That in turn ! leads to other files being rebuilt. ! ! make with -dM reports the likes of: ! ! file '. . ./tmp/legacy/usr/sbin/awk' is newer than the target... ! ! explicitly as it goes. As I remember tmp/legacy/usr/sbin/ ! was always part of the path for what I found. Mark, thanks a lot for the proper input at the right time! This put me on the right track and I mananged to analyze and understand what is actually happening. It looks like my issue does resolve itself somehow, and things start to behave as expected again after four builds. ! I did not do the analysis of how (e.g.) tmp/legacy/usr/sbin/awk ! ended up being newer than such a target and, so, causing a ! rebuild of that target. I was going the direction: that ! it is newer really is unlikely to justify the rebuild for ! the target(s) in question. The other direction about how ! it got to be newer is also relevant. I have now analyzed some parts of it. META_MODE typically finds some build-tools to rebuild, but then if the result is not different from what was there before, then "install" will not copy it to the bin-dir, and so the avalanche gets usually avoided.