Re: list of valid ABI combinations

From: Dan Langille <dan_at_langille.org>
Date: Sat, 09 Dec 2023 18:02:01 UTC
> On Dec 9, 2023, at 12:48 PM, Mark Millard <marklmi@yahoo.com> wrote:
> 
> On Dec 7, 2023, at 09:44, Dan Langille <dan@langille.org> wrote:
> 
>> On Thu, Dec 7, 2023, at 10:03 AM, Mark Millard wrote:
>>> Dan Langille <dan_at_langille.org> wrote on
>>> Date: Thu, 07 Dec 2023 13:22:28 UTC :
>>> 
>>>> . . .
>>>> My goal is to automatically maintain this table, from which FreshPorts fetches package information:
>>>> 
>>>> freshports.dev=# select * from abi order by name;
>>>> id | name | active 
>>>> ----+----------------------+--------
>>>> 9 | FreeBSD:12:aarch64 | t
>>>> 1 | FreeBSD:12:amd64 | t
>>>> 15 | FreeBSD:12:armv6 | t
>>>> 16 | FreeBSD:12:armv7 | t
>>>> 8 | FreeBSD:12:i386 | t
>>>> 18 | FreeBSD:12:mips64 | t
>>>> 19 | FreeBSD:12:powerpc64 | t
>>>> 2 | FreeBSD:13:aarch64 | t
>>>> 11 | FreeBSD:13:amd64 | t
>>>> 20 | FreeBSD:13:armv6 | t
>>>> 21 | FreeBSD:13:armv7 | t
>>>> 10 | FreeBSD:13:i386 | t
>>>> 23 | FreeBSD:13:mips64 | t
>>>> 24 | FreeBSD:13:powerpc64 | t
>>>> 34 | FreeBSD:13:riscv64 | t
>>>> 26 | FreeBSD:14:aarch64 | t
>>>> 27 | FreeBSD:14:amd64 | t
>>>> 28 | FreeBSD:14:armv6 | t
>>>> 29 | FreeBSD:14:armv7 | t
>>>> 30 | FreeBSD:14:i386 | t
>>>> 32 | FreeBSD:14:mips64 | t
>>>> 33 | FreeBSD:14:powerpc64 | t
>>>> 35 | FreeBSD:14:riscv64 | t
>>>> 54 | FreeBSD:15:aarch64 | t
>>>> 47 | FreeBSD:15:amd64 | t
>>>> 48 | FreeBSD:15:armv6 | t
>>>> 49 | FreeBSD:15:armv7 | t
>>>> 50 | FreeBSD:15:i386 | t
>>>> 51 | FreeBSD:15:mips64 | t
>>>> 52 | FreeBSD:15:powerpc64 | t
>>>> 53 | FreeBSD:15:riscv64 | t
>>>> (31 rows)
>>>> . . .
>>> 
>>> The name list in the middle (/bin/sh context):
>>> 
>>> # fetch https://pkg.freebsd.org/index.html
>>> index.html                                            3606  B  103 MBps    00s
>>> 
>>> # grep FreeBSD: index.html | sed -e 's@.*\(FreeBSD:[^ <]*\).*@\1@' | sort
>>> FreeBSD:12:aarch64
>>> FreeBSD:12:amd64
>>> FreeBSD:12:armv6
>>> FreeBSD:12:armv7
>>> FreeBSD:12:i386
>>> FreeBSD:13:aarch64
>>> FreeBSD:13:amd64
>>> FreeBSD:13:armv6
>>> FreeBSD:13:armv7
>>> FreeBSD:13:i386
>>> FreeBSD:13:powerpc
>>> FreeBSD:13:powerpc64
>>> FreeBSD:13:powerpc64le
>>> FreeBSD:14:aarch64
>>> FreeBSD:14:amd64
>>> FreeBSD:14:armv6
>>> FreeBSD:14:armv7
>>> FreeBSD:14:i386
>>> FreeBSD:14:powerpc
>>> FreeBSD:14:powerpc64
>>> FreeBSD:14:powerpc64le
>>> FreeBSD:15:aarch64
>>> FreeBSD:15:amd64
>>> FreeBSD:15:armv6
>>> FreeBSD:15:armv7
>>> FreeBSD:15:i386
>>> FreeBSD:15:powerpc
>>> FreeBSD:15:powerpc64
>>> FreeBSD:15:powerpc64le
>>> 
>>> There might be issues at times with https://pkg.freebsd.org/index.html not
>>> being in sync. As far as I can tell, that page is manually maintained.
>>> 
>>> Hopefully this can help.
>> 
>> I think it's fantastic. I've added it to https://github.com/FreshPorts/freshports/issues/505
>> 
>>> I've no clue about the id column as the list changes, for example
>>> when the FreeBSD:12:* disappear sometime after the end of the year.
>> 
>> No worries about database issues. Those I can resolve.  It's what you did that I can't often find an easy solution.
> 
> I'll note that tier 3 and unsupported are subject to (possibly) temporary
> removal of ports-package files as a matter of resource management. Such
> would be unlikely to lead to removal from:
> 
> https://pkg.freebsd.org/index.html
> 
> during that temporary time.
> 
> See:
> 
> https://lists.freebsd.org/archives/freebsd-git/2023-December/000217.html
> 
> for an example that started yesterday for: FreeBSD:14:armv6
> It was for helping deal with running low on some mirrors' free storage
> space until FreeBSD:12:* files are generally removed after the end of
> the year.
> 
> 
> Note:
> 
> https://lists.freebsd.org/archives/freebsd-git/2023-December/000218.html
> 
> is about possibly doing similarly with the FreeBSD:15:powerpc package-base
> files as well, for the same reason. I do not know if they would actually
> do such package-base removals.

All that sounds good. Stuff going away, coming in, that's all OK.

My use case: to know what ABI to check for. This isn't necessarily that it will find it... but that FreshPorts knows that FreeBSD:15:* is now being built.

Or that FreeBSD:11:* is no longer a thing, for example.

This is me wanting to avoid doing anything manual. The approach: FreshPorts just does stuff and nobody has to prod it along.

-- 
Dan Langille
dan@langille.org