From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pierre Neidhardt Subject: Re: Improve package search Date: Thu, 14 Mar 2019 23:46:33 +0100 Message-ID: <87zhpx846u.fsf@ambrevar.xyz> References: <20190314204941.GA21065@jasmine.lan> <87mulx9kuv.fsf@nckx> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([209.51.188.92]:37022) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h4Z9P-0001lW-Iy for guix-devel@gnu.org; Thu, 14 Mar 2019 18:48:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h4Z7c-0003kN-FM for guix-devel@gnu.org; Thu, 14 Mar 2019 18:46:45 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:42373) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1h4Z7b-0003cJ-BT for guix-devel@gnu.org; Thu, 14 Mar 2019 18:46:44 -0400 In-reply-to: <87mulx9kuv.fsf@nckx> 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.org@gnu.org Sender: "Guix-devel" To: Tobias Geerinckx-Rice Cc: Guix-devel --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > Absolutely. Adding this to the package record manually is a maintenance > nightmare. It's data that can be trivially auto-generated (ls =E2=80=A6/= {,s}bin, > basically), and storing it in-line takes up too much screen and mind spac= e for > my taste. "Program names" might even be too limited, if not too shortsighted. At the= end of the day, programs are not necessarily stored in /bin/. More importantly, users don't necessarily look for programs, they could very well be looking = for a library. So instead of including a program name listing, I suggest to we index the complete file listing of all packages. This would allow us to add the on= ly feature that's missing in Guix that other package managers have (dpkg, port= age, pacman...): find file names in non-installed packages. Extending the search with file listings might result in too much noise, so instead we could have a separate command. "guix which" for instance, as suggested Tobias, but since we are not just talking about executables, maybe "guix filesearch" would be more appropriate. Example: =2D-8<---------------cut here---------------start------------->8--- $ guix filesearch foo 74i7r7qp1km0gw1i22fnq3szbgc9mpdx-foobar-1.0/bin/foo 74i7r7qp1km0gw1i22fnq3szbgc9mpdx-foobar-1.0/lib/libfoo.a 109sdfvp1km0gwjdksl982fjidsfji9s-=E2=80=A6-foobar-1.2/bin/foo 109sdfvp1km0gwjdksl982fjidsfji9s-=E2=80=A6-foobar-1.2/lib/libfoo.a =2D-8<---------------cut here---------------end--------------->8--- And full paths would be supported, so that we can "filter" by executables f= or instance: =2D-8<---------------cut here---------------start------------->8--- $ guix filesearch bin/foo 74i7r7qp1km0gw1i22fnq3szbgc9mpdx-foobar-1.0/bin/foo 109sdfvp1km0gwjdksl982fjidsfji9s-=E2=80=A6-foobar-1.2/bin/foo =2D-8<---------------cut here---------------end--------------->8--- This has been discussed before, if someone can find the threads... :p > People have suggested using the build farm for this, but that adds > disproportionate complexity and decouples/delays updates from the commits= that > caused them. It's just not the right place. I haven't though through the details, but I am under the impression that the file listing could be retrieve with the same mechanism as "guix size", i.e.= from the substitute index. I think it would work well on the build farm, without more complexity than just another entry to the substitute index. I'd really love to work on this Very Soon=E2=84=A2 ;) Cheers! =2D-=20 Pierre Neidhardt https://ambrevar.xyz/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEUPM+LlsMPZAEJKvom9z0l6S7zH8FAlyK2ckACgkQm9z0l6S7 zH/hnQf9GCVoi1vil5FVQjpn868nCFCGvGbewX5YJL5Qbzs/3YPf7vCOega1lV7W 0XlsW0Od2XX9Pkv5w3GwOkNiEXolzHZXcsAgF3TqtTuq2p37UbpZvKYLkAzKXJoq tRvJgU3tZ61SGNHqytO0R3sQM29TBeKAA/3CbHf5LyJaHiY9fgkjV4JO9OiZ7QLC bFpuXpwMgFHSimaAlua3hI9GAZFBnspJ8ArlJO+IWM/IhLe5DGqhovFYxE7oDSoc ddD6wJ9RRPcFac5vbKbWmgr7nV+HbQsc1ONl5RabyaWnZZwnkM2bEsXyAbbjJ4CJ MtQMF6nQLMTVlUlvV8cTUiEbskNL/w== =sHlm -----END PGP SIGNATURE----- --=-=-=--