Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 Jan 2024 11:35:13 -0500
From:      "Dan Langille" <dan@langille.org>
To:        "Philip Paeps" <philip@freebsd.org>, "Mark Millard" <marklmi@yahoo.com>
Cc:        "FreeBSD Hackers" <freebsd-hackers@freebsd.org>
Subject:   Re: list of valid ABI combinations
Message-ID:  <284b50b2-4e3a-4ca2-8433-dd6a2e3ec31f@app.fastmail.com>
In-Reply-To: <f96b7fe4-5eb4-4a2a-a29b-e1180d503fab@app.fastmail.com>
References:  <BB2A3B4D-3AED-42BA-8FD2-B245176C6BB4@freebsd.org> <B1BA45B2-7463-458A-A059-4F0FC17D6119@yahoo.com> <C65DA713-09FF-4548-8292-D659B9DE5B58@freebsd.org> <f96b7fe4-5eb4-4a2a-a29b-e1180d503fab@app.fastmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Jan 2, 2024, at 10:46 AM, Dan Langille wrote:
> On Tue, Jan 2, 2024, at 12:45 AM, Philip Paeps wrote:
>> On 2024-01-02 12:38:47 (+0800), Mark Millard wrote:
>>> [FYI: My internet access is limited to a cellphone for some number o=
f=20
>>> days.]
>>>
>>>> On Jan 1, 2024, at 19:26, Philip Paeps <philip@freebsd.org> wrote:
>>>>
>>>> =EF=BB=BFOn 2023-12-07 23:03:33 (+0800), Mark Millard wrote:
>>>>> Dan Langille <dan_at_langille.org> wrote:
>>>>>> My goal is to automatically maintain this table, from which=20
>>>>>> FreshPorts fetches package information:
>>>>>>
>>>>>> freshports.dev=3D# select * from abi order by name;
>>>>>> id | name | active
>>>>>> ----+----------------------+--------
>>>>>> 9 | FreeBSD:12:aarch64 | 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=20
>>>>> MBps    00s
>>>>>
>>>>> # grep FreeBSD: index.html | sed -e 's@.*\(FreeBSD:[^ <]*\).*@\1@'=
 |=20
>>>>> sort
>>>>> FreeBSD:12:aarch64
>>>>> [...]
>>>>> FreeBSD:15:powerpc64le
>>>>>
>>>>> There might be issues at times with=20
>>>>> https://pkg.freebsd.org/index.html not
>>>>> being in sync. As far as I can tell, that page is manually=20
>>>>> maintained.
>>>>
>>>> clusteradm updates that page to match what we're actually=20
>>>> distributing.  If it doesn't reflect reality, that's a bug, and we'=
d=20
>>>> like to know please. :-)
>>>
>>> Does that include the =E2=80=9Conly ??? Is updated=E2=80=9D sorts of=
 notes?
>>
>> Yes.  Please let clusteradm know if the notes don't appear to reflect=20
>> reality.
>>
>> clusteradm maintains the pkgsync infrastructure, which includes the=20
>> index page on the mirrors.  pkgmgr is responsible for scheduling the=20
>> builds.  (And ports committers are responsible for making sure packag=
es=20
>> are even buildable).
>>
>>> For example, FreeBSD:13:armv6 Latest dates back to 2021-Jan-25 but=20
>>> there is no note about quarterly only. Various FreeBSD:15:* do not=20
>>> have notes about Latest only, despite having no quarterly at all. So=
me=20
>>> other cases have notable but shorter differences in the Latest vs.=20
>>> Quarterly time frames, suggesting only one is being updated but no=20
>>> fixed difference is definitive for that status.
>>
>> The pkgsync infrastructure doesn't really care how often packages are=20
>> updated.  If memory serves, we first added a "quarterly only" note wh=
en=20
>> the thunderxX generation of aarch64 builders broke with distressing=20
>> regularity.  The ampereX builders are much more reliable.
>>
>> I think the current situation for armv6 is "updated irregularly". =20
>> PowerPC is in the same boat as aarch64 in the ThunderX era: when the=20
>> hardware works, packages are updated.
>>
>>> Dan=E2=80=99s activities with the page do not use such notes as far =
as I=20
>>> know.
>>
>> Would it help if we added an easy to parse text file listing the ABIs=20
>> we're currently distributing?  That won't tell you anything about the=20
>> build schedule, but it'll at least tell you what's live, without havi=
ng=20
>> to parse HTML and hope we don't break it.

Could that extra file be useful to clusteradm, and is the 'single source=
 of
truth', then yes, that would be useful to third parties as well.=20

Changes to FreshPorts ABI table just tells it what ABI to attempt to imp=
ort.
All that is lost/found is the package information. As such, it does not
otherwise affect the service.

Right now, I have a script which works.  It will be deployed on dev.fres=
hports.org
later today. It will refresh the ABI on a daily basis.

> I think this threads provides sufficient information for 'automaticall=
y know
> the list of valid ABI' to proceed:
>
> https://github.com/FreshPorts/freshports/issues/508

This is all implemented by short shell scripts, the longest of which is =
32 lines.
See the URL above for details.

--=20
  Dan Langille
  dan@langille.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?284b50b2-4e3a-4ca2-8433-dd6a2e3ec31f>