From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:35228) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j3yQE-0004yO-Vw for guix-patches@gnu.org; Tue, 18 Feb 2020 03:40:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j3yQD-0001I3-SS for guix-patches@gnu.org; Tue, 18 Feb 2020 03:40:02 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:33556) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j3yQD-0001Hu-PB for guix-patches@gnu.org; Tue, 18 Feb 2020 03:40:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j3yQD-0006xh-Mt for guix-patches@gnu.org; Tue, 18 Feb 2020 03:40:01 -0500 Subject: [bug#39547] [PATCH] website: Provide JSON sources list used by Software Heritage. Resent-Message-ID: MIME-Version: 1.0 References: <20200210170418.32076-1-zimon.toutoune@gmail.com> <87pnehk1de.fsf@gnu.org> <8736bdjwqx.fsf@inria.fr> <87v9o4nvzi.fsf@inria.fr> In-Reply-To: <87v9o4nvzi.fsf@inria.fr> From: zimoun Date: Tue, 18 Feb 2020 09:38:58 +0100 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 39547@debbugs.gnu.org Hi Ludo, On Tue, 18 Feb 2020 at 09:24, Ludovic Court=C3=A8s wrote: > zimoun skribis: > > On Fri, 14 Feb 2020 at 11:20, Ludovic Court=C3=A8s wrote: > >> zimoun skribis: > >> >> Could you, in a first patch, move =E2=80=98origin->json=E2=80=99 ou= t of > >> >> =E2=80=98packages-json-builder=E2=80=99, and in a second patch, add= mirror-expansion > >> >> feature? > >> > > >> > Yes, I will try but I am a bit lost. There is: > >> > - packages-json-builder that I did not modified > >> > - sources-json-builder which the "adaptation" of the former to outp= ut > >> > to the sources.json format. > >> > > >> > Well, do you want a refactor of 'origin->json' shared by the 2 > >> > "{sources,packages}-json-builder"? > >> > >> Yes, exactly. No reason to have two copies of that code. > > > > The minor "issue" is the 'match' piece of 'origin->json': > > > > `(("url" . ,(match uri > > ((? string? url) (vector url)) > > ((urls ...) (list->vector urls)))))) > > > > > > Because in the 'sources.json' it is always one unique string. > > However, in 'packages.json' it is always a vector of one or several > > elements. And in the previous patch, the job of 'resolve' was to > > uniquify these elements for 'sources.json'. > > Ah, good point. What about adding a keyword parameter to =E2=80=98origin= ->json=E2=80=99 > that would tell whether to return a single URL or a list thereof? Sharing the same code. - packages.json: as it is now. - sources.json: expand mirror and resolve to display only URL. I am going for that. > > Just to be on the same wavelength, does 'packages.json' stay as it is > > (vector for the source url field)? > > I think =E2=80=98packages.json=E2=80=99 should still return a list of URL= s. Ok. > I=E2=80=99ve also added a comment asking whether =E2=80=98sources.json=E2= =80=99 could be changed > to contain a list of URLs: > > https://forge.softwareheritage.org/D2025#64037 I have seen. :-) Even, all the mirrors list should be expanded, not only the first one. > > Or is 'packages.json' modified to record only one url for the source > > url field with mirror:// expanded? > > Yeah, I think we can expand mirror URLs. So, 'mirror://' will become a list (from '%mirrors') of URLs, right? Cheers, simon