From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id 0HDGJZ8D62FIPQEAgWs5BA (envelope-from ) for ; Fri, 21 Jan 2022 20:03:59 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 8GtsHp8D62H/ZgAAG6o9tA (envelope-from ) for ; Fri, 21 Jan 2022 20:03:59 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2F4BD3E033 for ; Fri, 21 Jan 2022 20:03:59 +0100 (CET) Received: from localhost ([::1]:52434 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nAzCY-00056u-5O for larch@yhetil.org; Fri, 21 Jan 2022 14:03:58 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38180) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAz9s-0004PS-9M for guix-devel@gnu.org; Fri, 21 Jan 2022 14:01:12 -0500 Received: from cascadia.aikidev.net ([173.255.214.101]:59360) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nAz9k-0002zF-8z; Fri, 21 Jan 2022 14:01:06 -0500 Received: from localhost (unknown [IPv6:2600:3c01:e000:21:21:21:0:100b]) (Authenticated sender: vagrant@cascadia.debian.net) by cascadia.aikidev.net (Postfix) with ESMTPSA id CBF141ABF0; Fri, 21 Jan 2022 11:00:54 -0800 (PST) From: Vagrant Cascadian To: Ludovic =?utf-8?Q?Court=C3=A8s?= , Guix Devel Subject: Re: File search In-Reply-To: <8735lh5ukw.fsf@inria.fr> References: <8735lh5ukw.fsf@inria.fr> Date: Fri, 21 Jan 2022 11:00:49 -0800 Message-ID: <8735lgap7i.fsf@yucca> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: none client-ip=173.255.214.101; envelope-from=vagrant@debian.org; helo=cascadia.aikidev.net X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list 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+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1642791839; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post; bh=3Jv5hLtkQ0O1PhK/es8K2agfsfopvZxU/JZqscmqhvI=; b=PTcjD7BH4csGtFd8u7pi0gmGOPOw1SRhTLhW7TRhq8llqV9Z7zK2bGRt4Zb4lVBz7Jhkm5 lgyYbl8n/Jb+OQUtQ3kSmYjBlUpTNjo5K/M747aE+BJ1gBYRct1PfEM8DZ4iAfthDNGB3f GcLuNWDoBxVCo9PmaRJhCNG8yBuJrd9jLGKm9BSIn4V08wMul1nwZt+HB0lxYJ+cMwg0NP BVjKWHr6v1M9ulaWbc+cSAHA+KzdKRAvNFaWpX3n879wEvGqdbCTHh5/PzZeObVR/rEkE3 qNiG8OStu6vOKnM3OPGS9Jze+bAHBuWSzxnrE8bgoxq+3vo1u1HJnJ6I7FxrLw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1642791839; a=rsa-sha256; cv=none; b=l6VsHQ4jmLe51CkzShXfn3Vg5OXhaqqeKp9OXQKF/QKwD+bwdg27d4OApCq3/YEYXC8Bjg 96gXjxCgttNdt5S+DVXPgIVaS1kk2GgODxOnJZNblY4+iWy1bapxobk/67mAPWt8t5jTbt nRHWXUAk1Os9kDH8lzF6agwec7psarVeQ1KNsuPDgcbt/0uURlerD/tN9glUL/ayqCIOLy pfTXCY2ssja0ZfBhhbNnaea+gvUlHkZSoOcE+MlNmpILPJ7INbjtfnQmnfuI5HuKt8y0cK k7VLdv/jOAM5gsusSTlG3NyLqsTb6FVhhKKom+km+v9cGv+vOAbBUHmAlTC+gw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -4.73 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 2F4BD3E033 X-Spam-Score: -4.73 X-Migadu-Scanner: scn1.migadu.com X-TUID: CVhHf6FchfoG --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2022-01-21, Ludovic Court=C3=A8s wrote: > Lately I found myself going several times to > to look for packages providing a given > file and I thought it=E2=80=99s time to do something about it. Hah! > The script below creates an SQLite database for the current set of > packages, but only for those already in the store: > > guix repl file-database.scm populate ... > I think accuracy (making sure you get results that correspond precisely > to, say, your current channel revisions and your current system) is not > a high priority: some result is better than no result. Likewise for > freshness: results for an older version of a given package may still be > valid now. Hear hear! > In terms of privacy, I think it=E2=80=99s better if we can avoid making o= ne > request per file searched for. Off-line operation would be sweet, and > it comes with responsiveness; fast off-line search is necessary for > things like =E2=80=98command-not-found=E2=80=99 (where the shell tells yo= u what package > to install when a command is not found). > > Based on that, it is tempting to just distribute a full database from > ci.guix, say, that the client command would regularly fetch. The > downside is that that=E2=80=99s quite a lot of data to download; if you u= se the > file search command infrequently, you might find yourself spending more > time downloading the database than actually searching it. > > We could have a hybrid solution: distribute a database that contains > only files in /bin and /sbin (it should be much smaller), and for > everything else, resort to a web service (the Data Service could be > extended to include file lists). That way, we=E2=80=99d have fast > privacy-respecting search for command names, and on-line search for > everything else. What about ... a roughly weekly job that runs on ci.guix. to create the database and packages of parts of the database and a channel that includes those and utilities to query them so that you can install the packages and refresh them at your leisure... Or just put the packages in the main repository, and update it manually roughly weekly? live well, vagrant --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCYesC4gAKCRDcUY/If5cW qg+GAQDSZq5YM8MGYUe1bJWrrBKSk63tePyJid72/MaHWYrf1gEAth2h5tc6Rqt2 gYrzdhQS3VRNyitaXK+9NccA/55xIgw= =2RPq -----END PGP SIGNATURE----- --=-=-=--