RE: Upgrades that result in no change to the version level

From: Mark Millard <marklmi_at_yahoo.com>
Date: Sun, 20 Oct 2024 08:00:45 UTC
Graham Perrin <grahamperrin_at_gmail.com> wrote on
Date: Sun, 20 Oct 2024 05:25:56 UTC :

> When an upgrade to a set of packages results in no change to the version 
> level, what's the likeliest explanation?
> 
> For example,
> 
> FreeBSD 15.0-CURRENT main-n273049-366d6a424e1f GENERIC-NODEBUG

Note: https://pkg.freebsd.org/FreeBSD:15:amd64/base_latest/ has updated
since then so my examples are not your specific ones but I've also
not done anything to find the updated equivalent of
"main-n273049-366d6a424e1f". So I'll write as if that had not changed.

FreeBSD-kernel-generic-nodebug-15.snap20241019210017.pkg is the only
.pkg that supplies the "main-n273049-366d6a424e1f" like text for
generic-nodebug for that snapshot. If nothing contributed to needing to
rebuild, the specific .pkg file need not be updated at all by content:
it is the same kernel even if other .pkg files changed. (A link to
another file is one way to not change by content, even if there is
a new name.)

"main-n273049-366d6a424e1f" does not identify the whole system, just the
kernel. In a source based buildworld without buildkernel, the
"main-n273049-366d6a424e1f" like text does not change either, even if
world had lots of changes. Going the other way, if buildkernel is done
but it finds no reason to rebuild anything for the kernel, it does not
matter what might rebuild for buildworld: that text would again not
change. (This happens for developers making local changes for specific
issues more than for official periodic rebuilds but it is a general
property of the build system.)

In other words: Not an issue unique to PkgBase.

It even goes to more than that scale: The specfic kernel file is
what has that "main-n273049-366d6a424e1f" like text. The
FreeBSD-kernel-generic-nodebug-dbg-15.snap20241019210017.pkg could
have updates to other files it contains but need not for the
specific file that is the kernel file. Again, such means that the
"main-n273049-366d6a424e1f" need not change, despite other
changes being present.

You did not report on if there was a:

"FreeBSD-kernel-generic-nodebug upgraded: . . ."

notice or not. If not, the "main-n273049-366d6a424e1f" text
would definitely not change. But if there was such a message,
then it is the kernel file content specifically having updated
content vs. not for that text that determines if there will
be a difference.


> – before and after the set below.
> 
> FreeBSD-clibs upgraded: 15.snap20241015182318 -> 15.snap20241018235309

Same sort of things for each FreeBSD-*-15.snap*.pkg : the update for a
specific .pkg might not have had any changes even though there is an
overall new-snapshot with some *.pkg files having new content. (There
is no equivalent of "main-n273049-366d6a424e1f" for per file version
identification so I'll ignore the file level here.)

Such partial rebuilds are visible via the likes of looking
at:

https://pkg.freebsd.org/FreeBSD:15:amd64/base_latest/?C=M&O=D

that sorts by date/time. (I'll not list specific *.pkg file names.)

2024-Oct-19 21:07
. . . (more of the same)
. . . (more nearly the same but earlier)
2024-Oct-19 05:05
. . .
. . .
2024-Oct-18 22:06
. . .
. . .
2024-Oct-16 19:10
. . .
. . .
. . . (skipping a bunch)
2024-Oct-09 16:08
. . . (more of last date/time for *.pkg files)

The FreeBSD-kernel-generic-nodebug-15.snap*.pkg file involved
is one of the files in the above list.

Of course, some updates rebuild everything or most everything.

One could imagine a file with a new name that is otherwise
no different by content. Or one could imagine that, say,
a new (by name) symbolic link points to an old file as a means
of being no different by content but having a name that
identifies the snapshot it is intended to be part of for the
specific build.


> FreeBSD-clibs-dbg upgraded: 15.snap20241015182318 -> 15.snap20241018235309
> FreeBSD-runtime upgraded: 15.snap20241018205121 -> 15.snap20241018235309
> FreeBSD-utilities upgraded: 15.snap20241018215924 -> 15.snap20241018235309
> FreeBSD-clibs-dev upgraded: 15.snap20241018173754 -> 15.snap20241018235309
> FreeBSD-tests upgraded: 15.snap20241018162843 -> 15.snap20241018235309
> FreeBSD-src upgraded: 15.snap20241018215924 -> 15.snap20241019045901
> FreeBSD-tests-dbg upgraded: 15.snap20241016165033 -> 15.snap20241018235309
> FreeBSD-runtime-man upgraded: 15.snap20241018125255 -> 
> 15.snap20241019010212
> FreeBSD-clibs-dev-lib32 upgraded: 15.snap20241015182318 -> 
> 15.snap20241018235309
> FreeBSD-runtime-dbg upgraded: 15.snap20241018205121 -> 
> 15.snap20241018235309
> FreeBSD-utilities-man upgraded: 15.snap20241018090701 -> 
> 15.snap20241019045901
> FreeBSD-utilities-dbg upgraded: 15.snap20241018215924 -> 
> 15.snap20241018235309
> FreeBSD-clibs-dbg-lib32 upgraded: 15.snap20241015182318 -> 
> 15.snap20241018235309
> FreeBSD-clibs-lib32 upgraded: 15.snap20241015182318 -> 
> 15.snap20241018235309


===
Mark Millard
marklmi at yahoo.com