From nobody Thu Dec 7 13:22:28 2023 X-Original-To: hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4SmFM24wmyz52ygb for ; Thu, 7 Dec 2023 13:22:54 +0000 (UTC) (envelope-from dan@langille.org) Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4SmFM24VDZz3Yrn for ; Thu, 7 Dec 2023 13:22:54 +0000 (UTC) (envelope-from dan@langille.org) Authentication-Results: mx1.freebsd.org; none Received: from compute7.internal (compute7.nyi.internal [10.202.2.48]) by mailout.nyi.internal (Postfix) with ESMTP id 747115C00A8; Thu, 7 Dec 2023 08:22:54 -0500 (EST) Received: from imap42 ([10.202.2.92]) by compute7.internal (MEProxy); Thu, 07 Dec 2023 08:22:54 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=langille.org; h= cc:cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:sender :subject:subject:to:to; s=fm1; t=1701955374; x=1702041774; bh=Nb qDOQymmO54lV85Kfib2flDXIdTanGBiaBQSWCDsq4=; b=b17pdbYCElFiPhwwWM WSbzACM0VNfAAUIQ5hyJhPdeMMwhhi91nkKtGuW6yU6oEW21IjueTMByuGT5N3y4 rRcceDxseztEnCzqOkf9VSq68UYfWhXmCw9EK5R5gy2cr2pZzXB5NyZ54LIExC50 3mKqf+VlkSfjIu7KuQOYzDhYIhYvObhrf0w+y9z7AJg4fmYtrEpLOfndQ27wKZfE 2YYfRjpkDpaiKr4OM3/5do0qfqi0YGf86tzjYc5dEiGiDUe49y6zNkXqweZDsMnA qLlAWeHtnx9063t0wizzTPAaxydKpquzltxpCE6tIu2VNiaROVnOe2hGzBnCTU+8 V7wg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; t=1701955374; x=1702041774; bh=NbqDOQymmO54l V85Kfib2flDXIdTanGBiaBQSWCDsq4=; b=OytihndGvm5OT2k7h/VjXkv+MWHmH R7lVw7IjijDG+nTr6t+g5aF8BEEY3wT/swUptAfI/17iNV0EBmdIM1pu7uky9yBb 2+erwOKi7lJfg5m0d6GbJ0Mcf1Ghsy83zS0Km7G2feaOUai3QpG7SDnngiGp4mg7 DKlWTVOBQznCehXuqW4ZD9TfxtEb/iojQkQTRQ6EhlxjtNc64uUNBxTgr8ZEhhiL dowxE2fD9QneZmR3e4HvqHDpfxfABfR3LjEaN/wLW+DzGxnQdum39Tb48fcAw+QQ sEhWOGjDu4goA4TLk6IoBIMIa0740Bp+U7D1Exm40Ui3s7ASZitiHlI0A== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudekvddghedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvvefutgesrg dtreerreertdenucfhrhhomhepfdffrghnucfnrghnghhilhhlvgdfuceouggrnheslhgr nhhgihhllhgvrdhorhhgqeenucggtffrrghtthgvrhhnpeegjeevtdelgfdugfeitdfgff evtedugeejvedthfevjefgieeiveeffeduieejgfenucffohhmrghinhepfhhrvggvsghs ugdrohhrghdpghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomhepuggrnheslhgrnhhgihhllhgvrdhorhhg X-ME-Proxy: Feedback-ID: ifbf9424e:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 21B43BC007C; Thu, 7 Dec 2023 08:22:54 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-1178-geeaf0069a7-fm-20231114.001-geeaf0069 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 Message-Id: <66557d4f-6392-4260-b72f-613354380d55@app.fastmail.com> In-Reply-To: References: <090b5b29-50bd-470a-905b-b9c2016a5189@www.fastmail.com> <8634fd2e-6c8f-4d37-99e2-56f4febd74d9@app.fastmail.com> Date: Thu, 07 Dec 2023 08:22:28 -0500 From: "Dan Langille" To: "Warner Losh" Cc: "freebsd-hackers@freebsd.org" Subject: Re: list of valid ABI combinations Content-Type: multipart/alternative; boundary=b9fde86793824a63a697ff31ed42c672 X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:19151, ipnet:66.111.4.0/24, country:US] X-Spamd-Bar: ---- X-Rspamd-Queue-Id: 4SmFM24VDZz3Yrn --b9fde86793824a63a697ff31ed42c672 Content-Type: text/plain On Wed, Dec 6, 2023, at 8:31 PM, Warner Losh wrote: > > > On Wed, Dec 6, 2023, 6:01 PM Dan Langille wrote: >> On Thu, Apr 9, 2020, at 11:01 AM, Dan Langille wrote: >> > Hello, >> > >> > I'm looking to add package support to FreshPorts - so you can know if a >> > package exists for a given ABI (e.g. FreeBSD:12:amd64). >> > >> > The goal, write a script which does something like this: >> > >> > for abi in $ABIS >> > do >> > fetch -o abi. packagesite.txz >> > https://pkg.freebsd.org/$abi/latest/packagesite.txz >> > # parse the file, updating the database >> > done >> > >> > Is there a list of current valid ABI combinations. >> > >> > I see a list at https://pkg.freebsd.org/ - is this manually maintained? >> > >> > While my goal is to have FreshPorts require minimal intervention, I >> > suppose new ABI combinations do not come along frequently and could be >> > maintained manually. It does not seem like a huge task. >> > >> > More details here: https://github.com/FreshPorts/freshports/issues/142 >> >> I see I have been trying to figure this out for a few years. >> >> Does anyone have any ideas as to where this might be determined? > > It should be just the list of valid MACHINE_ARCH (make targets can give you a variation of this list). For those following along at home: [13:18 mydev dan ~/src/freebsd/src] % make targets Supported TARGET/TARGET_ARCH pairs for world and kernel targets amd64/amd64 arm/armv7 arm64/aarch64 i386/i386 powerpc/powerpc powerpc/powerpc64 powerpc/powerpc64le riscv/riscv64 > If you compute the cross product of that list and the supported branches {12,13,14;15} you will know what you can try. Is that list hosted somewhere I can script a fetch? I'm going to guess no. Granted, that list changes infrequently too. > However, you need to know the current package builders. It's a subset of branches and abis, but since it's just the packages this should give you a matrix after you fetch. 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) freshports.dev=# Thank you. :) -- Dan Langille dan@langille.org --b9fde86793824a63a697ff31ed42c672 Content-Type: text/html Content-Transfer-Encoding: quoted-printable
On Wed, Dec 6, = 2023, at 8:31 PM, Warner Losh wrote:


On Wed, Dec 6, 2023, 6:01 PM Dan Langille <dan@langille.org> wrote:
On Thu, Apr 9, = 2020, at 11:01 AM, Dan Langille wrote:
> Hello,
>
> I'm looking to add package support to = FreshPorts - so you can know if a
> package exists fo= r a given ABI (e.g. FreeBSD:12:amd64).
>
> The goal, write a script which does something like this:
>
>   for abi in $ABIS
>   do
>     fetch -o = abi. packagesite.txz
> https://pkg.freebsd.org/$abi/latest/packagesite.txz
>     # parse the file, updating the database<= br>
>   done
>
= > Is there a list of current valid ABI combinations.
&= gt;
> I see a list at https://pkg.freebsd= .org/ - is this manually maintained?
>
> While my goal is to have FreshPorts require minimal interventio= n, I
> suppose new ABI combinations do not come along= frequently and could be
> maintained manually. It do= es not seem like a huge task.
>

= I see I have been trying to figure this out for a few years.

Does anyone have any ideas as to where this might be= determined?

It should be just the list of valid MACHINE_ARCH (m= ake targets can give you a variation of this list).

For those following along at home:
=

[13:18 mydev dan ~/src/freebsd/src] % make targets
Supported TARGET/TARGET_ARCH pairs for world and kernel tar= gets
    amd64/amd64
 &n= bsp;  arm/armv7
    arm64/aarch64
<= /div>
    i386/i386
    = powerpc/powerpc
    powerpc/powerpc64
    powerpc/powerpc64le
 &nbs= p;  riscv/riscv64


If you compute the cross product= of that list and the supported branches {12,13,14;15} you will know wha= t you can try.

I= s that list hosted somewhere I can script a fetch? I'm going to guess no= . Granted, that list changes infrequently too.

<= blockquote type=3D"cite" id=3D"qt" style=3D"">
However, you need to kn= ow the current package builders. It's a subset of branches and abis, but= since it's just the packages this should give you a matrix after you fe= tch.

My goal is to automa= tically maintain this table, from which FreshPorts fetches package infor= mation:

freshports.dev=3D# select * from abi order by name;
=
id |         name &nbs= p;       | active 
----= +----------------------+--------
  9 | FreeBSD:12:aar= ch64   | t
  1 | FreeBSD:12:amd64 &nbs= p;   | 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   &n= bsp; | t
21 | FreeBSD:13:armv7     | t=
10 | FreeBSD:13:i386      | t
23 | FreeBSD:13:mips64    | t
2= 4 | FreeBSD:13:powerpc64 | t
34 | FreeBSD:13:riscv64 =   | t
26 | FreeBSD:14:aarch64   | t
27 | FreeBSD:14:amd64     | t
2= 8 | FreeBSD:14:armv6     | t
29 | Free= BSD:14:armv7     | t
30 | FreeBSD:14:i= 386      | t
32 | FreeBSD:14:mips= 64    | t
33 | FreeBSD:14:powerpc64 | t
=
35 | FreeBSD:14:riscv64   | t
54 | Fr= eeBSD:15:aarch64   | t
47 | FreeBSD:15:amd64&nbs= p;    | t
48 | FreeBSD:15:armv6  =    | t
49 | FreeBSD:15:armv7   &n= bsp; | t
50 | FreeBSD:15:i386     = ; | t
51 | FreeBSD:15:mips64    | t
52 | FreeBSD:15:powerpc64 | t
53 | FreeBSD:15:riscv= 64   | t
(31 rows)

= freshports.dev=3D# 

Thank you. :)

--
  Dan Langille
=
  dan@langille.org


--b9fde86793824a63a697ff31ed42c672--