Date: Thu, 07 Dec 2023 08:22:28 -0500 From: "Dan Langille" <dan@langille.org> To: "Warner Losh" <imp@bsdimp.com> Cc: "freebsd-hackers@freebsd.org" <hackers@freebsd.org> Subject: Re: list of valid ABI combinations Message-ID: <66557d4f-6392-4260-b72f-613354380d55@app.fastmail.com> In-Reply-To: <CANCZdfpuA86qX_SMyOM4wNa0f%2BH3GKvz8TP9W7c__r8=4-WaFQ@mail.gmail.com> References: <090b5b29-50bd-470a-905b-b9c2016a5189@www.fastmail.com> <8634fd2e-6c8f-4d37-99e2-56f4febd74d9@app.fastmail.com> <CANCZdfpuA86qX_SMyOM4wNa0f%2BH3GKvz8TP9W7c__r8=4-WaFQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--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 <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 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 <!DOCTYPE html><html><head><title></title><style type=3D"text/css">p.Mso= Normal,p.MsoNoSpacing{margin:0}</style></head><body><div>On Wed, Dec 6, = 2023, at 8:31 PM, Warner Losh wrote:<br></div><blockquote type=3D"cite" = id=3D"qt" style=3D""><div dir=3D"auto"><div><div><br></div><div><br></di= v><div class=3D"qt-gmail_quote"><div dir=3D"ltr" class=3D"qt-gmail_attr"= >On Wed, Dec 6, 2023, 6:01 PM Dan Langille <<a href=3D"mailto:dan@lan= gille.org">dan@langille.org</a>> wrote:<br></div><blockquote class=3D= "qt-gmail_quote" style=3D"margin-top:0px;margin-right:0px;margin-bottom:= 0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;bord= er-left-color:rgb(204, 204, 204);padding-left:1ex;"><div>On Thu, Apr 9, = 2020, at 11:01 AM, Dan Langille wrote:<br></div><div> > Hello,<br></d= iv><div> ><br></div><div> > I'm looking to add package support to = FreshPorts - so you can know if a <br></div><div> > package exists fo= r a given ABI (e.g. FreeBSD:12:amd64).<br></div><div> ><br></div><div= > > The goal, write a script which does something like this:<br></div= ><div> ><br></div><div> > for abi in $ABIS<br></div><d= iv> > do<br></div><div> > fetch -o = abi. packagesite.txz <br></div><div> > <a href=3D"https://pkg.freebsd= .org/$abi/latest/packagesite.txz" rel=3D"noreferrer noreferrer" target=3D= "_blank">https://pkg.freebsd.org/$abi/latest/packagesite.txz</a><br></di= v><div> > # parse the file, updating the database<= br></div><div> > done<br></div><div> ><br></div><div> = > Is there a list of current valid ABI combinations.<br></div><div> &= gt;<br></div><div> > I see a list at <a href=3D"https://pkg.freebsd.o= rg/" rel=3D"noreferrer noreferrer" target=3D"_blank">https://pkg.freebsd= .org/</a> - is this manually maintained?<br></div><div> ><br></div><d= iv> > While my goal is to have FreshPorts require minimal interventio= n, I <br></div><div> > suppose new ABI combinations do not come along= frequently and could be <br></div><div> > maintained manually. It do= es not seem like a huge task.<br></div><div> ><br></div><div> > Mo= re details here: <a href=3D"https://github.com/FreshPorts/freshports/iss= ues/142" rel=3D"noreferrer noreferrer" target=3D"_blank">https://github.= com/FreshPorts/freshports/issues/142</a><br></div><div> <br></div><div> = I see I have been trying to figure this out for a few years.<br></div><d= iv> <br></div><div> Does anyone have any ideas as to where this might be= determined?<br></div></blockquote></div></div><div dir=3D"auto"><br></d= iv><div dir=3D"auto">It should be just the list of valid MACHINE_ARCH (m= ake targets can give you a variation of this list).<br></div></div></blo= ckquote><div><br></div><div>For those following along at home:<br></div>= <div><br></div><div>[13:18 mydev dan ~/src/freebsd/src] % make targets<b= r></div><div>Supported TARGET/TARGET_ARCH pairs for world and kernel tar= gets<br></div><div> amd64/amd64<br></div><div> &n= bsp; arm/armv7<br></div><div> arm64/aarch64<br><= /div><div> i386/i386<br></div><div> = powerpc/powerpc<br></div><div> powerpc/powerpc64<br></= div><div> powerpc/powerpc64le<br></div><div> &nbs= p; riscv/riscv64<br></div><div><br></div><div><br></div><blockquot= e type=3D"cite" id=3D"qt" style=3D""><div dir=3D"auto"><div dir=3D"auto"= ><span style=3D"color:rgb(27, 30, 32);">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. </span><br></div></div></blockquote><div><br></div><div>I= s that list hosted somewhere I can script a fetch? I'm going to guess no= . Granted, that list changes infrequently too.<br></div><div><br></div><= blockquote type=3D"cite" id=3D"qt" style=3D""><div dir=3D"auto"><div dir= =3D"auto"><span style=3D"color:rgb(27, 30, 32);">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.</span><br></div></div></blockquote><div id=3D"sig65064480"><div cla= ss=3D"signature"><br></div><div class=3D"signature">My goal is to automa= tically maintain this table, from which FreshPorts fetches package infor= mation:<br></div><div class=3D"signature"><br></div><div class=3D"signat= ure">freshports.dev=3D# select * from abi order by name;<br></div></div>= <div>id | name &nbs= p; | active <br></div><div>----= +----------------------+--------<br></div><div> 9 | FreeBSD:12:aar= ch64 | t<br></div><div> 1 | FreeBSD:12:amd64 &nbs= p; | t<br></div><div>15 | FreeBSD:12:armv6 = | t<br></div><div>16 | FreeBSD:12:armv7 |= t<br></div><div> 8 | FreeBSD:12:i386  = ; | t<br></div><div>18 | FreeBSD:12:mips64 | t<br></di= v><div>19 | FreeBSD:12:powerpc64 | t<br></div><div> 2 | FreeBSD:13= :aarch64 | t<br></div><div>11 | FreeBSD:13:amd64 = | t<br></div><div>20 | FreeBSD:13:armv6 &n= bsp; | t<br></div><div>21 | FreeBSD:13:armv7 | t= <br></div><div>10 | FreeBSD:13:i386 | t<br= ></div><div>23 | FreeBSD:13:mips64 | t<br></div><div>2= 4 | FreeBSD:13:powerpc64 | t<br></div><div>34 | FreeBSD:13:riscv64 = | t<br></div><div>26 | FreeBSD:14:aarch64 | t<br></di= v><div>27 | FreeBSD:14:amd64 | t<br></div><div>2= 8 | FreeBSD:14:armv6 | t<br></div><div>29 | Free= BSD:14:armv7 | t<br></div><div>30 | FreeBSD:14:i= 386 | t<br></div><div>32 | FreeBSD:14:mips= 64 | t<br></div><div>33 | FreeBSD:14:powerpc64 | t<br>= </div><div>35 | FreeBSD:14:riscv64 | t<br></div><div>54 | Fr= eeBSD:15:aarch64 | t<br></div><div>47 | FreeBSD:15:amd64&nbs= p; | t<br></div><div>48 | FreeBSD:15:armv6 = | t<br></div><div>49 | FreeBSD:15:armv7 &n= bsp; | t<br></div><div>50 | FreeBSD:15:i386  = ; | t<br></div><div>51 | FreeBSD:15:mips64 | t<br></di= v><div>52 | FreeBSD:15:powerpc64 | t<br></div><div>53 | FreeBSD:15:riscv= 64 | t<br></div><div>(31 rows)<br></div><div><br></div><div>= freshports.dev=3D# <br></div><div><br></div><div>Thank you. :)</div= ><div id=3D"sig65064480"><div class=3D"signature"><br></div><div class=3D= "signature">--<br></div><div class=3D"signature"> Dan Langille<br>= </div><div class=3D"signature"> dan@langille.org<br></div><div cla= ss=3D"signature"><br></div></div><div><br></div></body></html> --b9fde86793824a63a697ff31ed42c672--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?66557d4f-6392-4260-b72f-613354380d55>