Re: git for armv7

From: Mark Millard <marklmi_at_yahoo.com>
Date: Thu, 04 May 2023 03:16:01 UTC
On May 3, 2023, at 19:32, bob prohaska <fbsd@www.zefox.net> wrote:

> On Wed, May 03, 2023 at 12:38:58PM -0700, Mark Millard wrote:
>> bob prohaska <fbsd_at_www.zefox.net> wrote on
>> Date: Wed, 03 May 2023 18:43:09 UTC :
>> 
>>> Don't the package servers keep an old package until
>>> a new one is successfully built to supercede it?
>> 
>> That would work only if each package was independent
>> of all the others. Otherwise it could be doing things
>> like mixing an older git package with more recent
>> package(s) that provide, for example:
>> 
>> /usr/local/lib/libpcre2-8.so.0
>> /usr/local/lib/libintl.so.8
>> 
>> Such combinations need not be compatible with each
>> other. So, generally, far more older material
>> would have needed to be kept around and version
>> matched with the git download. Everything else
>> dependent on those 2 libraries would also have
>> to be dealt with as well. That might involve more
>> libraries and more programs. Such handling is
>> a mess and is resource intensive. It is not done.
>> 
>> The old git package stuck around until the
>> distribution of the packages from the first
>> failure to build libunwind made it to the
>> download servers.
> 
> Ahh, that makes sense. Old packages have too
> much baggage 8-) for the public servers. 
> 
> What happens in the case of a local poudriere
> repository?

poudriere cleans out the repository's packages it
is going to build before starting the builds of
those packages. (This does not uninstall from the
system or any such.)

The packages it is not going to build are left in
place in the the repository.

There is a way of using file system space to have
more history (but I've never used it). In
/usr/local/etc/poudriere.conf there is/can-be:

# Keep older package repositories. This can be used to rollback a system
# or to bisect issues by changing the repository to one of the older
# versions and reinstalling everything with `pkg upgrade -f`
# ATOMIC_PACKAGE_REPOSITORY is required for this.
# Default: no
#KEEP_OLD_PACKAGES=no

# How many old package repositories to keep with KEEP_OLD_PACKAGES
# Default: 5
#KEEP_OLD_PACKAGES_COUNT=5

Note that the unit here is whole repositories, not
just individual packages.

> If it once builds a package, which
> subseqently fails, is the successful build
> deleted?  

The order is: deletes before builds start, not
as builds happen. So: Already deleted before the
failure.

> The origins of my particular fiasco are still
> a mystery. It looks as if I somehow uninstalled
> git, along with its man pages. No idea how.

I gather you are not building your own ports for
this context.

> At this point there's no compelling necessity
> to fix the faulty -current host. I'll wait. 

FYI:

main-armv7 build start dates:

Mon, 01 May 2023 13:19:19 GMT (still building)
Fri, 21 Apr 2023 11:15:01 GMT
Mon, 10 Apr 2023 15:23:16 GMT
Fri, 31 Mar 2023 19:24:17 GMT
Tue, 21 Mar 2023 20:59:50 GMT
Thu, 09 Mar 2023 19:41:20 GMT

So once every 10 to 12 days or so
over that time.

All of those look to be bulk -a -c (from scratch
builds of everything): each had over 33000
queued.

The next 4 had 17755 to 13680 queued.
Then it is back to 33000+ for 4 more.
That gets back to mid 2020-Dec.

Build times were as high as 104:21:40 and as
low as 51:04:03 over those 14 or so builds.


===
Mark Millard
marklmi at yahoo.com