Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jan 2024 07:56:19 +0100
From:      Alexander Leidinger <Alexander@Leidinger.net>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        david@catwhisker.org, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>
Subject:   Re: Should changes in src/usr.sbin/bhyve/ trigger an llvm rebuild?
Message-ID:  <a1ab4d20c84407c0d60311e9b3bb205d@Leidinger.net>
In-Reply-To: <F087E5CB-36F3-4FD4-B173-E6D59153BA4B@yahoo.com>
References:  <EAD76C2C-065E-4EFA-901F-1C0FD13FFC65.ref@yahoo.com> <EAD76C2C-065E-4EFA-901F-1C0FD13FFC65@yahoo.com> <ZbZ2u9FlUhvb1orU@albert.catwhisker.org> <5BCB8F1A-B5D5-4506-87E1-8B26E713C6F5@yahoo.com> <ZbbPyYNtF6prkdtd@albert.catwhisker.org> <B1231700-D7A1-4190-AA2A-495CEA954535@yahoo.com> <8A79DE24-403E-4E73-82B6-0E5CF4F27604@yahoo.com> <418237252dc000bc1cc21a7f9220a2e5@Leidinger.net> <F087E5CB-36F3-4FD4-B173-E6D59153BA4B@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)

--=_06a3b702ae8806e5308eff9da71b5960
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=US-ASCII;
 format=flowed

Am 2024-01-29 19:07, schrieb Mark Millard:
> On Jan 29, 2024, at 01:50, Alexander Leidinger 
> <Alexander@leidinger.net> wrote:
> 
>> Am 2024-01-29 00:00, schrieb Mark Millard:
>> 
>>> I would have to see make -dM output from (D) to
>>> find the specific timing relationships that lead
>>> to that. There is way to much to analyze the
>>> specifics manually, especially because dependency
>>> chains have to be considered.
>> 
>> Not -stable, but -current
> 
> Sequence going back to where a commit change was involved and
> installed/booted? That older commit was what? The newer one?
> The content of that change contributes to what range of "is
> newer than" stuff shows up in the first buildworld after the
> first installworld-then-reboot to the newer commit.

The sequence was:
  - make update
  - make buildworld buildkernel
  - create new BE
  - make installworld installkernel into the new BE
  - boot the new BE
  - do nothing with src for some days
  - read your mail
  - make -Dm buildworld

> A limiting case is doing a buildworld into an empty /usr/obj/
> like area so that its later install has everything freshly
> built (new timestamps) compared to the prior context. Then
> doing a installworld buildworld sequence may have more "is
> newer than" notices. (Some cases of updates approximate
> such a "largely rebuilt" status, others do not.)
> 
> The list is illustrative as is, just possibly not definitive.
> 
>> (no change to src, buildworld after installworld to a new BE and 
>> booting this new BE):
>> # grep newer buildworld_debug.log | grep -E 
>> 'amd64.amd64/tmp/(usr|legacy)/' | cut -d : -f 3 | sort -u
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/include/roken.h' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/asn1_compile' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/awk' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/basename' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/cap_mkdb' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/cat' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/clang-tblgen' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/compile_et' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/cp' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/crunchgen' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/crunchide' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/dd' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/env' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/file2c' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/gencat' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/grep' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/gzip' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/jot' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/lex' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/lldb-tblgen' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/llvm-min-tblgen' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/llvm-tblgen' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/ln' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/m4' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/make-roken' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/mkcsmapper' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/mkesdb' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/mv' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/rm' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/sed' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/sh' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/touch' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/truncate' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/uudecode' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/legacy/usr/sbin/uuencode' 
>> is newer than the target...
>> file 
>> '/space/system/usr_obj/space/system/usr_src/amd64.amd64/tmp/usr/bin/objcopy' 
>> is newer than the target...
>> 
>> There is no dependency to outside the obj tree.
>> 
>> Would it make sense to exclude the tmp/legacy/usr/sbin/... 
>> dependencies? Or a subset? The tmp/usr/bin/objcopy is probably in the 
>> middle of a rebuild, but the name legacy gives the impression that not 
>> a lot of features are needed from those (basics to build our own 
>> version?).
>> 
>> Note, grep for "newer" gives >12000 hits.
> 
> For awk, basename, cat, dd, env, grep, gzip, lex, ln, m4, mv, rm,
> sed, sh, touch, truncate, uudecode, and uuenncode (for example):
> 
> The "is newer than" status is both real and highly likely to be
> irrelevant. META_MODE is based on just the "real" status of "is
> newer than".
> 
> There are other items in the list that I'd be less sure of if
> they are likely to always be irrelevant. Possibly.

The lldvm/lldb/clang ones may be related to a rebuild of llvm triggered 
by irrelevant time changes according to your description. I haven't 
found "is newer than" evidence in the debug output why those legacy ones 
are newer. If I assume those are touched by installworld, we could do 
maybe some kind of check if checksums are equal and not install into 
legacy if they are. This would then require more work on install, but 
may result in less work on buildworld.

> As I remember, I did get example "is newer than" notices that
> were not from /usr/obj/ like areas, not that I remember the
> details any more. (So I could be misremembering.)

Maybe in the installworld stage /usr/sbin/sh newer than 
OBJDIR/..../legacy/usr/sbin/sh?

Bye,
Alexander.

-- 
http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    netchild@FreeBSD.org  : PGP 0x8F31830F9F2772BF

--=_06a3b702ae8806e5308eff9da71b5960
Content-Type: application/pgp-signature;
 name=signature.asc
Content-Disposition: attachment;
 filename=signature.asc;
 size=833
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEER9UlYXp1PSd08nWXEg2wmwP42IYFAmW4naQACgkQEg2wmwP4
2Ibhww//cyFDQn5tL+oDQlzqaKlxLqWtQLgkZJgDOJKqlB4gIDkZu5Gi7pUheScw
NIJQ+yDNYsZpEK5GwPR8WBRqELHTY6cr3342icP/H5ddR0K54M4tuZ4Zbfmgs65B
i2wwOsaC7b/xepPvGijQQ8WdI7fsOODIFR6jLIkuNMdONX0FMU2v4EsARRkAt3Rg
IxVZVEzsXo8BRvXoKxbYPCptGLrtNnPXKqjGzBv2CE7P2wPFTF2vf3zDcSYwUU2b
TueqOPbKpgR1gen88m2Bz3W47UxIkMl8JPPjSsJrJ3lBdwLr8XTMoyKqiLUD0kVH
iBDGifybl8CWRiQCoJdojipaTbNXcZt9PhJideietGFcr6YOTE89VJ+UIufJeMtz
dxNwL9kNsvowiFbK5/U2nNlGrns1bzSw1qm6vo4pe3sOBfttE6r7LwfwaC0n+GFf
Fws1sHLtU/vtsxZQ95haBYSpSDQa2zlvKemEY/XFCWuqqndO4PNxJpdC7W+GFDWr
Ji8pTASRZLYWXWY+V8hBhzmma/f7EJoP0COwiOPJdiCwRNKHBOB0aIZx67moXOdB
4hcbSQzEL+TF7+0Z7dWP2uG2MO3P+7xCn86RU4akLXqg5BZhHxspH15BJ0PSVP6d
qY69nAnB57pD1IUs0RBDDe/qvT7Eea5Ey2SvnnPcSE8YP/cFHW0=
=anAV
-----END PGP SIGNATURE-----

--=_06a3b702ae8806e5308eff9da71b5960--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a1ab4d20c84407c0d60311e9b3bb205d>