Hi, Ricardo Wurmus <[email protected]> skribis:
> Ludovic Courtès <[email protected]> writes: > >> Hi Hartmut, >> >> Hartmut Goebel <[email protected]> skribis: >> >>> I tried cleaning up my system. But when I did "guix package -r …", 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 >>> /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.drv >>> /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’s >> not already there. >> >> Secondly, when the profile is built, a number of “profile hooks” 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 ‘show-what-to-build’), like Nix does. Since we have access to higher level info about packages and profiles, we could choose to only display package/profile-level info (“the following packages will be installed/removed/upgraded”). We could also hide store file names by default. All this is quite tempting, though it could also be counter-intuitive—the lists of packages to install would not match the list of “things” that are built/downloaded. Something “in-between”, where some derivations would be displayed and some wouldn’t, would be hard to achieve, I think; we’d need a way to annotate derivations as “special” 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 ‘brew’ store build logs but don’t display them by default.) Maybe someone should make a mock of the desired output and we could rethink it from there? Thanks, Ludo’.
