Improving the package outputs UI

  • Open
  • quality assurance status badge
Details
4 participants
  • Bone Baboon
  • Leo Famulari
  • Ludovic Courtès
  • Tobias Geerinckx-Rice
Owner
unassigned
Submitted by
Leo Famulari
Severity
wishlist
L
L
Leo Famulari wrote on 20 Apr 2021 19:38
Package outputs should be described in the UI
(address . bug-guix@gnu.org)
YH8Rl4J57UHo87Kg@jasmine.lan
At least once a month I have to help somebody on IRC who didn't notice
that our Git package is split into multiple outputs.

They can't find `git send-email`, and the Guix package UI doesn't make
this clear enough.

I had the idea that package outputs besides 'out' and 'debug' should
have very brief descriptions that are exposed in `guix show` and `guix
search` and the `guix package` equivalents.

So, maybe it would look like this:

------
$ guix show git
name: git
version: 2.31.1
outputs: out send-email svn credential-netrc credential-libsecret subtree gui
* send-email: Tools for an email-based Git workflow
* svn: Provides git-svn, for bidirectional operation between Subversion and Git repositories
* credential-libsecret: Whatever that is
* subtree: Who knows?
* gui: A graphical interface for exploring a Git repository
* etc...
systems: x86_64-linux i686-linux
dependencies: asciidoc-py3@9.0.1 bash-minimal@5.0.16 bash@5.0.16 curl@7.74.0 docbook-xsl@1.79.1 expat@2.2.9 gettext-minimal@0.20.1 glib@2.62.6 libsecret@0.20.4 openssl@1.1.1i pcre2@10.35
+ perl-authen-sasl@2.16 perl-cgi@4.51 perl-io-socket-ssl@2.066 perl-net-smtp-ssl@1.04 perl-term-readkey@2.38 perl@5.30.2 pkg-config@0.29.2 python@3.8.2 subversion@1.14.1 tcl@8.6.10 tk@8.6.10
+ xmlto@0.0.28 zlib@1.2.11
location: gnu/packages/version-control.scm:173:2
license: GPL 2
synopsis: Distributed version control system
description: Git is a free distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
------

The output of `guix show` and `guix search` are in recutils format, and
we'd need to make sure that these new UI elements continued that
valuable tradition.
L
L
Leo Famulari wrote on 20 Apr 2021 19:39
(no subject)
(address . control@debbugs.gnu.org)
YH8R3UbDgE3nB6lq@jasmine.lan
severity 47911 wishlist
L
L
Leo Famulari wrote on 20 Apr 2021 19:41
(name . GNU Debbugs)(address . control@debbugs.gnu.org)
YH8SS/ncqqi9u0uZ@jasmine.lan
retitle 47911 Improving the package outputs UI
L
L
Leo Famulari wrote on 20 Apr 2021 19:43
Re: Improving the package outputs UI
(address . 47911@debbugs.gnu.org)
YH8S2EQa/xaqrR6u@jasmine.lan
Another idea I had is to make Guix accept the concatenation of
packagename-output in the UI.

For example, `guix install git-send-email`, instead of `git:send-email`.

But maybe that is going too far, I'm not sure.

By the way, the #guix IRC discussion was here

B
B
Bone Baboon wrote on 20 Apr 2021 21:42
Re: bug#47911: Package outputs should be described in the UI
(name . Leo Famulari)(address . leo@famulari.name)
875z0grbdy.fsf@disroot.org
Leo Famulari writes:

Toggle quote (10 lines)
> At least once a month I have to help somebody on IRC who didn't notice
> that our Git package is split into multiple outputs.
>
> They can't find `git send-email`, and the Guix package UI doesn't make
> this clear enough.
>
> I had the idea that package outputs besides 'out' and 'debug' should
> have very brief descriptions that are exposed in `guix show` and `guix
> search` and the `guix package` equivalents.

I ran into this issue when I started using Guix.

I like this idea.
L
L
Ludovic Courtès wrote on 20 Apr 2021 23:54
(name . Leo Famulari)(address . leo@famulari.name)(address . 47911@debbugs.gnu.org)
87h7k08vvu.fsf@gnu.org
Hi,

Leo Famulari <leo@famulari.name> skribis:

Toggle quote (6 lines)
> At least once a month I have to help somebody on IRC who didn't notice
> that our Git package is split into multiple outputs.
>
> They can't find `git send-email`, and the Guix package UI doesn't make
> this clear enough.

Just a side note: our ‘git’ package uses outputs in a rather unusual
way. There are other packages that provide different features in
different outputs, but the majority of multiple-output packages have the
“standard” outputs: “doc”, “bin”, “lib”, “debug”.

So maybe we could look at the ‘git’ package (can it be split into
several packages? would that help?) in addition to the UI, and also make
sure the UI is optimized for the most frequent cases.

Ludo’.
T
T
Tobias Geerinckx-Rice wrote on 21 Apr 2021 00:05
Re: bug#47911: Improving the package outputs UI
(name . Leo Famulari)(address . leo@famulari.name)
87zgxslii6.fsf@nckx
Leo Famulari writes:
Toggle quote (3 lines)
> Another idea I had is to make Guix accept the concatenation of
> packagename-output in the UI.

I'm firmly against this (but read on :-)

Toggle quote (6 lines)
>
> For example, `guix install git-send-email`, instead of
> `git:send-email`.
>
> But maybe that is going too far, I'm not sure.

I think it is, but the intention is good.

Instead, Guix could suggest (‘did you mean...?’) like it does for
commands.

~ λ guix install git-send-email
guix install: error: git-send-email: unknown package
hint: Did you mean one of:
git:send-email

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCYH9QEQ0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15rqIBAIPVMIxWFpKcX1V7lWIJQ9nZI0roC5Nn7BBZiFLq
gmCbAP0UlG+3rQouSJfdmCD4G02BUBvi4w2N471io5eBBk4UCA==
=dV6G
-----END PGP SIGNATURE-----

L
L
Leo Famulari wrote on 21 Apr 2021 02:52
(name . Tobias Geerinckx-Rice)(address . me@tobias.gr)
YH93Y0gqIO4yoF9I@jasmine.lan
On Wed, Apr 21, 2021 at 12:05:05AM +0200, Tobias Geerinckx-Rice wrote:
Toggle quote (12 lines)
> Leo Famulari writes:
> > Another idea I had is to make Guix accept the concatenation of
> > packagename-output in the UI.
>
> I'm firmly against this (but read on :-)
>
> > For example, `guix install git-send-email`, instead of `git:send-email`.
> >
> > But maybe that is going too far, I'm not sure.
>
> I think it is, but the intention is good.

It's definitely pie-in-the-sky daydreaming :)

Toggle quote (7 lines)
> Instead, Guix could suggest (‘did you mean...?’) like it does for commands.
>
> ~ λ guix install git-send-email
> guix install: error: git-send-email: unknown package
> hint: Did you mean one of:
> git:send-email

I think that's a better idea.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAmB/d18ACgkQJkb6MLrK
fwgYqw//YQ9r3xsp12sEpAPFeRDXaN4yeqn7tphugTq3G6oZcK42cSaHsHo5NGqc
mZYrr2e0cJk29NJUwioW3hCl82TrE4JkozeJz4rIKKaNluQqTQ4hr4jXZuo7XMze
+fRXa4HbMUV5xl7l322kuOVm5K6Gj7QWc0842a/sYzZaHuOwo4CvdkXNV+F59lmZ
tv2GUDt81x0saEuPxUqnxIL0gijDImz/lf69ynsC6WptQZXtETDJQEUqWJF8WeRQ
dv2ElOU8G6MXSW3836RtiswN16uyIFpkGyjqO/iqmC7Joc7205M0oVz+iQcTI6vY
H3SmSJgaiotvcbKzqYcL8T64lUl6h1YrJCJHpgKW5PosE6IvePCSF4zaWo6pq0EN
/jy0bZqfOEOFRtkTK27Dw53e2R2g2qdjlhE858upqaFPd02qRCSkkHFCZsCPeiDR
lSQD/t26JKiADo5rLN30EfuXjLZQTMw8pT8ILLEUPA/+n2XgOBF86M/R/Ecg+Ki5
d/ukRBalWX5jICoq2T/OZnDYuycHTBrkvQ77y6Sy8ORAV1MuYnrRnrjRTB6d6CQF
jfvGceBRG0yj9xJcbeTrllc4EunWboGWY3ObO1BYt06v/chXy8d0D3Q3aObPo2xc
pdU2eewSul6x87j/0fYa7Fj0VIFgaTO+RoEj6xC0BL0KZ3U+oJE=
=1Pzz
-----END PGP SIGNATURE-----


L
L
Leo Famulari wrote on 21 Apr 2021 02:59
Re: bug#47911: Package outputs should be described in the UI
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 47911@debbugs.gnu.org)
YH943sJUUqP9iW0k@jasmine.lan
On Tue, Apr 20, 2021 at 11:54:29PM +0200, Ludovic Courtès wrote:
Toggle quote (7 lines)
> Leo Famulari <leo@famulari.name> skribis:
> > They can't find `git send-email`, and the Guix package UI doesn't make
> > this clear enough.
>
> Just a side note: our ‘git’ package uses outputs in a rather unusual
> way.

That's true. And I don't have any other packages in mind, really.

I first had this idea after roptat was talking about adding ocaml
bindings for z3 [0]. He wrote:

"it builds the bindings in a separate output, instead of a separate
package, because they're part of the same source, and it doesn't look
like it's possible to build them separately
[...]
I'm just not very happy it's part of the same package, because it's less
discoverable vs ocaml-z3"

So, I do think there is room for improvement to this aspect of the UI.

Toggle quote (4 lines)
> There are other packages that provide different features in
> different outputs, but the majority of multiple-output packages have the
> “standard” outputs: “doc”, “bin”, “lib”, “debug”.

Right, and it would not be worthwhile to add anything to the UI for
these.

The 'output synopsis' would only be printed in the UI if we actually
defined a synopsis for it. That way, we wouldn't have 16000 lines of
noise like "debug symbols for foo" in `guix package --search=.`

Toggle quote (4 lines)
> So maybe we could look at the ‘git’ package (can it be split into
> several packages? would that help?) in addition to the UI, and also make
> sure the UI is optimized for the most frequent cases.

Good question. The Git package is super complicated, so I'm not feeling
very motivated to think about how to rewrite it :)

?