From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: guix package -r *downloads* new packages? Date: Mon, 10 Oct 2016 14:38:33 +0200 Message-ID: <871szopeeu.fsf@gnu.org> References: <57F81D90.6050104@crazy-compilers.com> <87vax3hvfp.fsf@gnu.org> <87vax1fusp.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:48600) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1btZqu-0003pZ-7L for help-guix@gnu.org; Mon, 10 Oct 2016 08:38:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1btZqo-000076-Vy for help-guix@gnu.org; Mon, 10 Oct 2016 08:38:43 -0400 In-Reply-To: <87vax1fusp.fsf@elephly.net> (Ricardo Wurmus's message of "Sun, 09 Oct 2016 16:42:30 +0200") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Ricardo Wurmus Cc: help-guix Hi, Ricardo Wurmus skribis: > Ludovic Court=C3=A8s writes: > >> Hi Hartmut, >> >> Hartmut Goebel skribis: >> >>> I tried cleaning up my system. But when I did "guix package -r =E2=80= =A6", it >>> started to build derivations and download stuff. >> >> [...] >> >>> $ guix package -r guix >>> warning: failed to install locale: Invalid argument >>> The following package will be removed: >>> guix 0.10.0-0.e901=20=20 >>> /gnu/store/vw26xsn24jmrijn939fjjk50m5i4hfq3-guix-0.10.0-0.e901 >>> >>> substitute: updating list of substitutes from >>> 'https://mirror.hydra.gnu.org'... 100.0% >>> The following derivations will be built: >>> /gnu/store/4mdahqlzar6fl9f9cx6i16561x2yclwx-profile.drv >>> /gnu/store/2pn3gbhq7hnnh8kzwblihlw8f34irkgg-module-import.drv >>> /gnu/store/j46m2a8fnxklnckiqkn7r9id6jhs94s1-module-import-compiled.d= rv >>> /gnu/store/zhdym8ynv7sbr1iiaj917ln1z1ris2zw-gtk-icon-themes.drv >>> /gnu/store/plq1855s06gi77x3qbsyp4217ssn635i-info-dir.drv >>> /gnu/store/n1kdin8g51m6dd7ds8hiv8pgv20dczki-fonts-dir.drv >>> /gnu/store/lcp53c781kk1d6fxr2xm4dhfm1fgv9x1-ca-certificate-bundle.drv >>> /gnu/store/19ngbl2rmvag3dgsii8pkfmhzbg3zbx8-xdg-mime-database.drv >>> The following files will be downloaded: >>> /gnu/store/ik15p8lrbk6jfa3fs3x34m78lj2c0ix1-guile-2.0.11 >>> /gnu/store/1vmfjpapw15nmhdw3hvrkdp8k933j518-module-import-compiled >>> /gnu/store/f9m713c1v5db09b0asxd3mifdskllbri-texinfo-6.1 >> >> This is counter-intuitive but expected. First of all, the profile is >> built by running a Guile program, so Guile needs to be available if it= =E2=80=99s >> not already there. >> >> Secondly, when the profile is built, a number of =E2=80=9Cprofile hooks= =E2=80=9D are >> run. We can see them above: gtk-icon-themes builds a registry of the >> installed GTK+ themes (which requires GTK+), info-dir builds the Info >> documentation directory (which requires Texinfo), and so on. > > Do you think we could make this a little more intuitive by hiding the > derivations for the profile hooks (unless verbosity is increased), or by > listing them separately? Good question. The initial approach was to display the low-level info, i.e., derivations to be built (see =E2=80=98show-what-to-build=E2=80=99), like Ni= x does. Since we have access to higher level info about packages and profiles, we could choose to only display package/profile-level info (=E2=80=9Cthe following packages will be installed/removed/upgraded=E2=80=9D). We could = also hide store file names by default. All this is quite tempting, though it could also be counter-intuitive=E2=80=94the lists of packages to install would not match = the list of =E2=80=9Cthings=E2=80=9D that are built/downloaded. Something =E2=80=9Cin-between=E2=80=9D, where some derivations would be dis= played and some wouldn=E2=80=99t, would be hard to achieve, I think; we=E2=80=99d need= a way to annotate derivations as =E2=80=9Cspecial=E2=80=9D or something. Thoughts? (In the same vein, someone suggested that we hide build logs as well, for software that is being built; I think tools like =E2=80=98brew=E2=80=99= store build logs but don=E2=80=99t display them by default.) Maybe someone should make a mock of the desired output and we could rethink it from there? Thanks, Ludo=E2=80=99.