From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christopher Baines Subject: Re: Package file indexing Date: Thu, 09 Jan 2020 16:49:07 +0000 Message-ID: <87blrc1sos.fsf@cbaines.net> References: <20190314204941.GA21065@jasmine.lan> <87mulx9kuv.fsf@nckx> <87zhpx846u.fsf@ambrevar.xyz> <87bm21y2s2.fsf_-_@gnu.org> <87imw7cpe7.fsf@bababa.i-did-not-set--mail-host-address--so-tickle-me> <87pnqdhkpf.fsf@gnu.org> <87imlt3hr2.fsf@ambrevar.xyz> <87png11xgi.fsf@cbaines.net> <87tv5cpypp.fsf@gnu.org> <874kx4anch.fsf@ambrevar.xyz> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:49872) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipazk-0002zf-95 for guix-devel@gnu.org; Thu, 09 Jan 2020 11:49:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipazi-0002Y8-Rx for guix-devel@gnu.org; Thu, 09 Jan 2020 11:49:15 -0500 In-reply-to: <874kx4anch.fsf@ambrevar.xyz> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org Sender: "Guix-devel" To: Pierre Neidhardt Cc: guix-devel@gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Pierre Neidhardt writes: >> I think the Guix Data Service is a good fit since it knows about >> packages, derivations, commits, and how they map to each other. :-) It >> could download nars and do the equivalent of =E2=80=98guix archive -t=E2= =80=99 to get >> the list of file names. > > Are you suggesting that guix "filesearch" polls a specific instance of > the Guix Data Service (e.g. data.guix.gnu.org) to download the file > index fro the current Guix revision? So, to elaborate a bit more on the architecture I've had in mind for dealing with the actual nars=E2=80=A6 I see the scope of the Guix Data Service extending as far as what nars are available for outputs, and what outputs are associated with each revision, but I don't think it should store the actual nar files. What you could have is another service, which subscribes to the Guix Data Service to find out about new revisions and nars (from build servers). When this new service finds out about Guix revisions, it would ask this Guix Data Service for all the outputs, and store this away in a database. When it finds out about nars, it would download them, and maybe extract out the list of files. I think this setup would allow this new service to construct a file containing information about all files in all the outputs for a revision, which it has nars available for. This file could then be downloaded, and searched through when you want to find which output contains a file. > What if the file index for a specific Guix commit (e.g. a very recent > one) is not yet available? I suggest we fall back to the first older > index that's available, with a warning. Thoughts? Sounds sensible. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl4XWYNfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE 9XduQQ//RTM07610aRNrhRjH8tk+V6SuUvFzvrClvjp6fJEypRnvPyh4RFnq3raW py5iI47GQ2N+m/QHqBErYaq7zcXyxQiBoBgqjQnvgMDewlK7VJbOPPSvSGPlBaSQ n1TYr939qF5gM6N+7rl8sB9mV1hfJyGkGLwqk88FJn5+1cp5xcxP1EQWIm1FZevP HWttYWqTaePCa6vmAFMD5noFc94cd8HONNQurGCmngsXdYEiTwgs8UISBz4M6lVf N5Cd5ajU+tQDnFKxzNFIlxsYJjbTdQaanG0Kd/CyeKs0mShDy36vkfOFiEVgdqYP Kqq08RLSu104eWcAlsxEiPyCBTSPvqAhYU4ofxMJiMyq0tjsUYqCmFkFWOCp3UKF 8mBn1p82Nw32zO91fyC10yFNv/UyLD+kf8qe/wE/cw/1R+/spA7v9xruL8A0JUn+ r8XLZN6OJPiJ2vZe3bxdPyxSVvDyXa/fTEleYi3UvsDfgRLtXpKDOQLFRe/EWX7x qDdKOEgWRJ7ZvpaYP4gwuFi2WnSLBuGIRf5MOt+VVnoW6TRdUydi90ICKx020qY0 ysh+EaLxOIL8SNP+mgnlOELahoUdp+wjk0m8pzihGBUhuARkkxUE82jX8KUZkqxC /wUDRdBWL4/1rKNps/+Vx8KJTUK/f3lulskWo2Va++q4aOT5HPU= =yVlu -----END PGP SIGNATURE----- --=-=-=--