all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#35551: package gcc does not depend on binutils and glibc
@ 2019-05-03 22:57 Bruno Haible
  2019-05-03 23:27 ` Nicolas Goaziou
  0 siblings, 1 reply; 27+ messages in thread
From: Bruno Haible @ 2019-05-03 22:57 UTC (permalink / raw)
  To: 35551

Hi,

After installing the guix-1.0 installation image
(guix-system-vm-image-1.0.0.x86_64-linux) and running it with qemu,
I wanted to compile a hello-world program in C.

$ cat hello.c 
#include <stdio.h>
int main () {
  printf("Hello world\n");
  return 0;
}

$ guix install gcc
$ gcc hello.c
error trying to exec 'as': execvp: No such file or directory

Second try:
$ guix install binutils
$ gcc hello.c
/home/guest/.guix-profile/bin/ld: cannot find crt1.o: No such file or directory
/home/guest/.guix-profile/bin/ld: cannot find crt1.o: No such file or directory
collect2: error: ld returned 1 exit status

Third try:
$ guix install glibc
$ gcc hello.c
Now it succeeds!

I would have expected that 'guix install gcc' installs binutils and glibc
as well, because:
  * The use of gcc without binutils is limited: You can use "gcc -E" and "gcc -S"
    to preprocess or compile to .s files, but this is rarely what people need.
  * The use of gcc without glibc is limited: You can use "gcc -c" to compile
    to .o files. But without the ability to create a program or a shared library
    (which needs crti.o rather than crt1.o), the compiler is hardly useful.

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-03 22:57 bug#35551: package gcc does not depend on binutils and glibc Bruno Haible
@ 2019-05-03 23:27 ` Nicolas Goaziou
  2019-05-04  0:20   ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 27+ messages in thread
From: Nicolas Goaziou @ 2019-05-03 23:27 UTC (permalink / raw)
  To: Bruno Haible; +Cc: 35551

Hello,

Bruno Haible <bruno@clisp.org> writes:

> After installing the guix-1.0 installation image
> (guix-system-vm-image-1.0.0.x86_64-linux) and running it with qemu,
> I wanted to compile a hello-world program in C.
>
> $ cat hello.c 
> #include <stdio.h>
> int main () {
>   printf("Hello world\n");
>   return 0;
> }
>
> $ guix install gcc
> $ gcc hello.c
> error trying to exec 'as': execvp: No such file or directory

You are really looking for `gcc-toolchain' package. See section 2.6.6 in
the manual.

HTH,

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-03 23:27 ` Nicolas Goaziou
@ 2019-05-04  0:20   ` Tobias Geerinckx-Rice
  2019-05-04  1:34     ` Bruno Haible
  2019-05-07 16:04     ` Ludovic Courtès
  0 siblings, 2 replies; 27+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-05-04  0:20 UTC (permalink / raw)
  To: 35551; +Cc: Bruno Haible, 35551-done

[-- Attachment #1: Type: text/plain, Size: 421 bytes --]

Bruno,

Welcome!

Nicolas Goaziou wrote:
> You are really looking for `gcc-toolchain' package. See section 
> 2.6.6 in
> the manual.

Yup!  :-)

‘Toolchain’ exactly describes what you're looking for, so I'm 
going to go ahead and close this bug.

(Speaking as a user, I'd be annoyed to the point of switching if 
my distro installed ‘binutils’ when asked for ‘gcc’.)

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-04  0:20   ` Tobias Geerinckx-Rice
@ 2019-05-04  1:34     ` Bruno Haible
  2019-05-07 16:23       ` Tobias Geerinckx-Rice
  2019-05-07 16:04     ` Ludovic Courtès
  1 sibling, 1 reply; 27+ messages in thread
From: Bruno Haible @ 2019-05-04  1:34 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 35551, 35551-done

Nicolas Goaziou wrote:
> > You are really looking for `gcc-toolchain' package. See section 
> > 2.6.6 in the manual.

Indeed! Thanks for the answer.

> (Speaking as a user, I'd be annoyed to the point of switching if 
> my distro installed ‘binutils’ when asked for ‘gcc’.)

Well, 'guix install emacs' installs more than emacs as well:
graphviz, ghostscript, python, fftw, cups, ...

There are different kinds of dependencies between packages:
  - Package A contains binaries that are linked to shared libraries
    installed by package B.
  - Package A contains binaries that invoke binaries installed by
    package C.
  - Package A produces output or file formats that can only be viewed
    through package D.
For me, any of these dependencies would be a reason, when installing A,
to install B, C, D as well.

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-04  0:20   ` Tobias Geerinckx-Rice
  2019-05-04  1:34     ` Bruno Haible
@ 2019-05-07 16:04     ` Ludovic Courtès
  2019-05-09 21:21       ` Ricardo Wurmus
  1 sibling, 1 reply; 27+ messages in thread
From: Ludovic Courtès @ 2019-05-07 16:04 UTC (permalink / raw)
  To: 35551, Ricardo Wurmus; +Cc: bruno

Hi,

Tobias Geerinckx-Rice <me@tobias.gr> skribis:

> ‘Toolchain’ exactly describes what you're looking for, so I'm going to
> go ahead and close this bug.

True, but we all know that “guix install gcc” is the first thing one
would do, expecting it to actually work.  :-)

Ricardo, I think you had a patch to hide the ‘gcc’ package.  Could you
commit it?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-04  1:34     ` Bruno Haible
@ 2019-05-07 16:23       ` Tobias Geerinckx-Rice
  2019-05-07 17:26         ` Bruno Haible
  0 siblings, 1 reply; 27+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-05-07 16:23 UTC (permalink / raw)
  To: Bruno Haible; +Cc: 35551

[-- Attachment #1: Type: text/plain, Size: 729 bytes --]

Bruno,

Bruno Haible wrote:
>> (Speaking as a user, I'd be annoyed to the point of switching 
>> if 
>> my distro installed ‘binutils’ when asked for ‘gcc’.)
>
> Well, 'guix install emacs' installs more than emacs as well:
> graphviz, ghostscript, python, fftw, cups, ...

Oh, we're talking about different things then.

Installing (in any sense) emacs will add its dependencies to the 
store (your ‘install’), but doesn't propagate them into the 
profile (my ‘install’):

  ~ λ guix environment --pure --ad-hoc emacs
  ~ λ dot
  bash: dot: command not found

I tend to avoid the unqualified term ‘install’ on Guix for this 
reason.  Sorry for the confusion!

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-07 16:23       ` Tobias Geerinckx-Rice
@ 2019-05-07 17:26         ` Bruno Haible
  0 siblings, 0 replies; 27+ messages in thread
From: Bruno Haible @ 2019-05-07 17:26 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 35551

Tobias Geerinckx-Rice wrote:
> > Well, 'guix install emacs' installs more than emacs as well:
> > graphviz, ghostscript, python, fftw, cups, ...
> 
> Oh, we're talking about different things then.
> 
> Installing (in any sense) emacs will add its dependencies to the 
> store (your ‘install’), but doesn't propagate them into the 
> profile (my ‘install’):
> 
>   ~ λ guix environment --pure --ad-hoc emacs
>   ~ λ dot
>   bash: dot: command not found

After I install 'gcc', I don't really mind whether 'as' and 'ld'
are found in my $PATH. But I want that gcc finds them when gcc
needs to invoke them.

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-07 16:04     ` Ludovic Courtès
@ 2019-05-09 21:21       ` Ricardo Wurmus
  2019-05-09 21:57         ` Bruno Haible
  0 siblings, 1 reply; 27+ messages in thread
From: Ricardo Wurmus @ 2019-05-09 21:21 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 35551-done, bruno


Ludovic Courtès <ludo@gnu.org> writes:

> Tobias Geerinckx-Rice <me@tobias.gr> skribis:
>
>> ‘Toolchain’ exactly describes what you're looking for, so I'm going to
>> go ahead and close this bug.
>
> True, but we all know that “guix install gcc” is the first thing one
> would do, expecting it to actually work.  :-)
>
> Ricardo, I think you had a patch to hide the ‘gcc’ package.  Could you
> commit it?

I’ve just done this.  My apologies for the delay.  Now a search for
“gcc” only returns “gcc-toolchain” (and one “gcc-bootstrap”).

--
Ricardo

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-09 21:21       ` Ricardo Wurmus
@ 2019-05-09 21:57         ` Bruno Haible
  2019-05-10  6:18           ` Ricardo Wurmus
  2019-05-10  8:07           ` Ludovic Courtès
  0 siblings, 2 replies; 27+ messages in thread
From: Bruno Haible @ 2019-05-09 21:57 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 35551-done

Hello Ricardo,

> > Ricardo, I think you had a patch to hide the ‘gcc’ package.  Could you
> > commit it?
> 
> I’ve just done this.  My apologies for the delay.  Now a search for
> “gcc” only returns “gcc-toolchain” (and one “gcc-bootstrap”).

Will it also be hidden from the package list
https://www.gnu.org/software/guix/packages/G/ ?

Being a newbie regarding guix, I found it more comfortable to search
for packages under https://www.gnu.org/software/guix/packages/ rather
than through some guix command.

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-09 21:57         ` Bruno Haible
@ 2019-05-10  6:18           ` Ricardo Wurmus
  2019-05-10  8:07           ` Ludovic Courtès
  1 sibling, 0 replies; 27+ messages in thread
From: Ricardo Wurmus @ 2019-05-10  6:18 UTC (permalink / raw)
  To: Bruno Haible; +Cc: 35551-done


Hi Bruno,

>> > Ricardo, I think you had a patch to hide the ‘gcc’ package.  Could you
>> > commit it?
>> 
>> I’ve just done this.  My apologies for the delay.  Now a search for
>> “gcc” only returns “gcc-toolchain” (and one “gcc-bootstrap”).
>
> Will it also be hidden from the package list
> https://www.gnu.org/software/guix/packages/G/ ?

It should disappear from the list when it is regenerated, i.e. with the
next release.

-- 
Ricardo

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: package gcc does not depend on binutils and glibc
  2019-05-09 21:57         ` Bruno Haible
  2019-05-10  6:18           ` Ricardo Wurmus
@ 2019-05-10  8:07           ` Ludovic Courtès
  2019-05-10  9:38             ` bug#35551: guix search Bruno Haible
  1 sibling, 1 reply; 27+ messages in thread
From: Ludovic Courtès @ 2019-05-10  8:07 UTC (permalink / raw)
  To: Bruno Haible; +Cc: 35551-done

Hi Bruno,

Bruno Haible <bruno@clisp.org> skribis:

>> > Ricardo, I think you had a patch to hide the ‘gcc’ package.  Could you
>> > commit it?
>> 
>> I’ve just done this.  My apologies for the delay.  Now a search for
>> “gcc” only returns “gcc-toolchain” (and one “gcc-bootstrap”).
>
> Will it also be hidden from the package list
> https://www.gnu.org/software/guix/packages/G/ ?

Yes, when we update it.

> Being a newbie regarding guix, I found it more comfortable to search
> for packages under https://www.gnu.org/software/guix/packages/ rather
> than through some guix command.

Oh, really?

I would hope that ‘guix search’ and ‘guix package --list-available’ are
easier than anything else, and that people value the idea of doing
things locally.  Also, a local search gives the right result while a
remote service might give results for a different Guix revision.

Is there any specific reason why you were uncomfortable with these
commands?  I’m curious how we could improve the user experience here.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10  8:07           ` Ludovic Courtès
@ 2019-05-10  9:38             ` Bruno Haible
  2019-05-10 10:17               ` Ludovic Courtès
  2019-05-10 10:18               ` Bruno Haible
  0 siblings, 2 replies; 27+ messages in thread
From: Bruno Haible @ 2019-05-10  9:38 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 35551-done

Hi Ludo,

> I would hope that ‘guix search’ and ‘guix package --list-available’ are
> easier than anything else, and that people value the idea of doing
> things locally.  Also, a local search gives the right result while a
> remote service might give results for a different Guix revision.
> 
> Is there any specific reason why you were uncomfortable with these
> commands?  I’m curious how we could improve the user experience here.

Yes. I was looking for a package that contains the 'ssh' command.
$ guix search ssh | less
returns libssh, libssh2, guile2.0-ssh, guile-ssh, sshpass, ...,
emacs-counsel-tramp.
The answer I was looking for was 'openssh', but it was hidden
among 66 packages.

A search is good if the relevant results for the user occur
among the first screen.

Possible improvements include:

1) If the search term is X and installing the package would cause
   a program named X to appear in $PATH, then list this package first.

   This rule would have listed 'openssh' first. Also, for 'guix search gcc',
   it would now make 'gcc-toolchain' appear first (right?).

2) Another heuristic for presenting the "best" hits first:
   Sort the graph of the packages (using dependencies as graph edges).
   Then present the "base" packages (the packages which don't depend on
   other packages) first.

   This will likely make packages that are bindings (guile-ssh, ruby-net-ssh,
   etc.) appear after openssh.

3) If the resulting list is longer than one screenful, present only the
   names, not names + details. Like
     $ guix search ssh | grep '^name:'
   would do.
   Even without the improvements 1) and 2), the command
     $ guix search ssh | grep '^name:' | grep ssh | sort
   produces a one-screenful result that I could have evaluated in 10 seconds.

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10  9:38             ` bug#35551: guix search Bruno Haible
@ 2019-05-10 10:17               ` Ludovic Courtès
  2019-05-10 10:22                 ` Bruno Haible
                                   ` (2 more replies)
  2019-05-10 10:18               ` Bruno Haible
  1 sibling, 3 replies; 27+ messages in thread
From: Ludovic Courtès @ 2019-05-10 10:17 UTC (permalink / raw)
  To: Bruno Haible; +Cc: 35551-done

Hi Bruno,

Bruno Haible <bruno@clisp.org> skribis:

>> I would hope that ‘guix search’ and ‘guix package --list-available’ are
>> easier than anything else, and that people value the idea of doing
>> things locally.  Also, a local search gives the right result while a
>> remote service might give results for a different Guix revision.
>> 
>> Is there any specific reason why you were uncomfortable with these
>> commands?  I’m curious how we could improve the user experience here.
>
> Yes. I was looking for a package that contains the 'ssh' command.
> $ guix search ssh | less
> returns libssh, libssh2, guile2.0-ssh, guile-ssh, sshpass, ...,
> emacs-counsel-tramp.
> The answer I was looking for was 'openssh', but it was hidden
> among 66 packages.

I see.

> A search is good if the relevant results for the user occur
> among the first screen.
>
> Possible improvements include:
>
> 1) If the search term is X and installing the package would cause
>    a program named X to appear in $PATH, then list this package first.
>
>    This rule would have listed 'openssh' first. Also, for 'guix search gcc',
>    it would now make 'gcc-toolchain' appear first (right?).

I agree that this would be great, but we don’t know beforehand what
commands a package provides.  For that we’d need to resort to an
external service providing this info.

> 2) Another heuristic for presenting the "best" hits first:
>    Sort the graph of the packages (using dependencies as graph edges).
>    Then present the "base" packages (the packages which don't depend on
>    other packages) first.
>
>    This will likely make packages that are bindings (guile-ssh, ruby-net-ssh,
>    etc.) appear after openssh.

This sounds like an interesting option, at least when one is searching
for an application and not for a library.

> 3) If the resulting list is longer than one screenful, present only the
>    names, not names + details. Like
>      $ guix search ssh | grep '^name:'
>    would do.
>    Even without the improvements 1) and 2), the command
>      $ guix search ssh | grep '^name:' | grep ssh | sort
>    produces a one-screenful result that I could have evaluated in 10 seconds.

OK, though you would have been unable to see the descriptions.

Another option I thought of would be to display only the 10 results with
the highest relevance by default, when stdout is a terminal.

Thoughts?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10  9:38             ` bug#35551: guix search Bruno Haible
  2019-05-10 10:17               ` Ludovic Courtès
@ 2019-05-10 10:18               ` Bruno Haible
  1 sibling, 0 replies; 27+ messages in thread
From: Bruno Haible @ 2019-05-10 10:18 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 35551-done

I wrote:
> 1) If the search term is X and installing the package would cause
>    a program named X to appear in $PATH, then list this package first.

More precisely: If there is a package named X (perfect match), it should
come first. The packages that install a program named X should come second.

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 10:17               ` Ludovic Courtès
@ 2019-05-10 10:22                 ` Bruno Haible
  2019-05-10 15:17                   ` Ludovic Courtès
  2019-05-10 14:21                 ` Bruno Haible
  2019-05-10 15:43                 ` znavko
  2 siblings, 1 reply; 27+ messages in thread
From: Bruno Haible @ 2019-05-10 10:22 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 35551-done

> Another option I thought of would be to display only the 10 results with
> the highest relevance by default, when stdout is a terminal.

That would be OK as a second step. But first, we should get the
sort order (the notion of relevance) improved.

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 10:17               ` Ludovic Courtès
  2019-05-10 10:22                 ` Bruno Haible
@ 2019-05-10 14:21                 ` Bruno Haible
  2019-05-10 21:15                   ` Ludovic Courtès
  2019-05-10 15:43                 ` znavko
  2 siblings, 1 reply; 27+ messages in thread
From: Bruno Haible @ 2019-05-10 14:21 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 35551-done

Hi Ludo,

> we don’t know beforehand what commands a package provides.

Indeed, this information becomes available only while/after
a package is built.

> For that we’d need to resort to an external service providing this info.

Why would it need to be an external service? Can't you incorporate
this information in a data file that you ship as part of the
distribution?

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 10:22                 ` Bruno Haible
@ 2019-05-10 15:17                   ` Ludovic Courtès
  0 siblings, 0 replies; 27+ messages in thread
From: Ludovic Courtès @ 2019-05-10 15:17 UTC (permalink / raw)
  To: Bruno Haible; +Cc: 35551-done

Bruno Haible <bruno@clisp.org> skribis:

>> Another option I thought of would be to display only the 10 results with
>> the highest relevance by default, when stdout is a terminal.
>
> That would be OK as a second step. But first, we should get the
> sort order (the notion of relevance) improved.

It’s tricky to map our intuition to actual metrics on the data that we
have, though.

The current metrics used to compute the relevance score are here:

  https://git.savannah.gnu.org/cgit/guix.git/tree/guix/ui.scm#n1406

Like I said, command names are not available in an off-line context.

Ludo’.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 10:17               ` Ludovic Courtès
  2019-05-10 10:22                 ` Bruno Haible
  2019-05-10 14:21                 ` Bruno Haible
@ 2019-05-10 15:43                 ` znavko
  2019-05-10 21:22                   ` Bruno Haible
  2 siblings, 1 reply; 27+ messages in thread
From: znavko @ 2019-05-10 15:43 UTC (permalink / raw)
  To: Bruno Haible, Ludovic Courtès; +Cc: 35551-done

Hello!

$ guix search video
shows: vidstab, youtube-viewer, ffmpegthumbnailer, xf86-video-mach64...
I'd better prefer this sorting:
vlc, mpv, gnome-mpv, blender, avidemux, kdenlive...

To do so need to sort by popularity, using f.e. fsf site statistics.
There is no other mathematics methods like 'if this package provides ssh command in path'.
The other way is to add own 'Relevance' field and to fill it manually or using some statistic reasons.


May 10, 2019 10:23 AM, "Bruno Haible" <bruno@clisp.org> wrote:

>> Another option I thought of would be to display only the 10 results with
>> the highest relevance by default, when stdout is a terminal.
> 
> That would be OK as a second step. But first, we should get the
> sort order (the notion of relevance) improved.
> 
> Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 14:21                 ` Bruno Haible
@ 2019-05-10 21:15                   ` Ludovic Courtès
  2019-05-10 22:04                     ` Mark H Weaver
  0 siblings, 1 reply; 27+ messages in thread
From: Ludovic Courtès @ 2019-05-10 21:15 UTC (permalink / raw)
  To: Bruno Haible; +Cc: 35551-done

Bruno Haible <bruno@clisp.org> skribis:

>> For that we’d need to resort to an external service providing this info.
>
> Why would it need to be an external service? Can't you incorporate
> this information in a data file that you ship as part of the
> distribution?

Such a file would quickly become stale, it’d have to be updated from an
external service anyway.

Ludo’.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 15:43                 ` znavko
@ 2019-05-10 21:22                   ` Bruno Haible
  0 siblings, 0 replies; 27+ messages in thread
From: Bruno Haible @ 2019-05-10 21:22 UTC (permalink / raw)
  To: znavko; +Cc: 35551-done

znavko@disroot.org wrote:
> $ guix search video
> shows: vidstab, youtube-viewer, ffmpegthumbnailer, xf86-video-mach64...
> I'd better prefer this sorting:
> vlc, mpv, gnome-mpv, blender, avidemux, kdenlive...
> 
> To do so need to sort by popularity, using f.e. fsf site statistics.

+1.

This approach would work with many more packages than the algorithmic
approaches that I had suggested.

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 21:15                   ` Ludovic Courtès
@ 2019-05-10 22:04                     ` Mark H Weaver
  2019-05-10 22:38                       ` Bruno Haible
  0 siblings, 1 reply; 27+ messages in thread
From: Mark H Weaver @ 2019-05-10 22:04 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Bruno Haible, 35551-done

Hi,

Ludovic Courtès <ludo@gnu.org> writes:

> Bruno Haible <bruno@clisp.org> skribis:
>
>>> For that we’d need to resort to an external service providing this info.
>>
>> Why would it need to be an external service? Can't you incorporate
>> this information in a data file that you ship as part of the
>> distribution?
>
> Such a file would quickly become stale, it’d have to be updated from an
> external service anyway.

If we add functionality that calls out to the network in response to a
package search, e.g. to query popularity ratings or package file
listings, we should make sure the user knows it's happening, and provide
a way to disable it.  Some users may not want information about their
package searches to be leaked to the outside world.

     Thanks,
       Mark

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 22:04                     ` Mark H Weaver
@ 2019-05-10 22:38                       ` Bruno Haible
  2019-05-10 23:41                         ` Tobias Geerinckx-Rice
  2019-05-11 18:18                         ` Mark H Weaver
  0 siblings, 2 replies; 27+ messages in thread
From: Bruno Haible @ 2019-05-10 22:38 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 35551-done

Mark H Weaver wrote:
> If we add functionality that calls out to the network in response to a
> package search, e.g. to query popularity ratings or package file
> listings, we should make sure the user knows it's happening, and provide
> a way to disable it.  Some users may not want information about their
> package searches to be leaked to the outside world.

Good point.

Would it be more acceptable, upon 'guix search', to download an incremental
update of a package popularity database, and do the search locally? This
way, only the fact that the user has been doing a 'guix search' would be
leaked to the outside world, not the search term.

Bruno

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 22:38                       ` Bruno Haible
@ 2019-05-10 23:41                         ` Tobias Geerinckx-Rice
  2019-05-11 18:38                           ` Mark H Weaver
  2019-05-11 18:18                         ` Mark H Weaver
  1 sibling, 1 reply; 27+ messages in thread
From: Tobias Geerinckx-Rice @ 2019-05-10 23:41 UTC (permalink / raw)
  To: Bruno Haible; +Cc: 35551-done

[-- Attachment #1: Type: text/plain, Size: 884 bytes --]

Bruno Haible wrote:
> Mark H Weaver wrote:
>> If we add functionality that calls out to the network in 
>> response to a
>> package search, e.g. to query popularity ratings or package 
>> file
>> listings, we should make sure the user knows it's happening, 
>> and provide
>> a way to disable it.  Some users may not want information about 
>> their
>> package searches to be leaked to the outside world.
>
> Good point.
>
> Would it be more acceptable, upon 'guix search', to download an 
> incremental
> update of a package popularity database, and do the search 
> locally? This
> way, only the fact that the user has been doing a 'guix search' 
> would be
> leaked to the outside world, not the search term.

I don't think Mark intended to present it as a good idea at all… 
;-)

Popularity is irrelevant to search relevance.

Kind regards,

T G-R

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 22:38                       ` Bruno Haible
  2019-05-10 23:41                         ` Tobias Geerinckx-Rice
@ 2019-05-11 18:18                         ` Mark H Weaver
  2019-05-13  7:57                           ` Ludovic Courtès
  2019-05-13 15:39                           ` znavko
  1 sibling, 2 replies; 27+ messages in thread
From: Mark H Weaver @ 2019-05-11 18:18 UTC (permalink / raw)
  To: Bruno Haible; +Cc: 35551-done

Hi Bruno,

Bruno Haible <bruno@clisp.org> writes:

> Mark H Weaver wrote:
>> If we add functionality that calls out to the network in response to a
>> package search, e.g. to query popularity ratings or package file
>> listings, we should make sure the user knows it's happening, and provide
>> a way to disable it.  Some users may not want information about their
>> package searches to be leaked to the outside world.
>
> Good point.
>
> Would it be more acceptable, upon 'guix search', to download an incremental
> update of a package popularity database, and do the search locally? This
> way, only the fact that the user has been doing a 'guix search' would be
> leaked to the outside world, not the search term.

Yes, that would address my concerns, although popularity ratings might
be compact enough and change slowly enough that it might be sufficient
to simply have them embedded in the Guix source code and manually
updated periodically.

Popularity ratings would also be useful to set build priorities on our
build farms.

The package file listings, on the other hand, are likely to be so large
that it's not practical to download an incremental update of all of
them.

      Thanks,
        Mark

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-10 23:41                         ` Tobias Geerinckx-Rice
@ 2019-05-11 18:38                           ` Mark H Weaver
  0 siblings, 0 replies; 27+ messages in thread
From: Mark H Weaver @ 2019-05-11 18:38 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: Bruno Haible, 35551-done

Hi Tobias,

Tobias Geerinckx-Rice <me@tobias.gr> writes:

> Bruno Haible wrote:
>> Mark H Weaver wrote:
>>> If we add functionality that calls out to the network in response
>>> to a
>>> package search, e.g. to query popularity ratings or package file
>>> listings, we should make sure the user knows it's happening, and
>>> provide
>>> a way to disable it.  Some users may not want information about
>>> their
>>> package searches to be leaked to the outside world.
>>
>> Good point.
>>
>> Would it be more acceptable, upon 'guix search', to download an
>> incremental
>> update of a package popularity database, and do the search locally?
>> This
>> way, only the fact that the user has been doing a 'guix search'
>> would be
>> leaked to the outside world, not the search term.
>
> I don't think Mark intended to present it as a good idea at all… ;-)

I'm not sure what you're suggesting here.  While I have some privacy
concerns, I'm not generally opposed to these ideas.

> Popularity is irrelevant to search relevance.

I agree that ideally, popularity shouldn't be relevant for searches.  If
we could apply sufficient intelligence to understand what the user is
looking for, and sufficient knowledge of our packages to determine which
ones meet those requirements, it would be best to ignore popularity.

However, given the severe limitations of the intelligence we can apply
to this problem, making use of popularity is an easy approach that tends
to work fairly well in practice.

Keep in mind that Google became dominant in the search market largely
because of the success of their PageRank algorithm, which essentially
orders results by popularity, although with greater weight given to the
opinions of those who are themselves popular.  It clearly works well.

What do you think?

    Regards,
      Mark

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-11 18:18                         ` Mark H Weaver
@ 2019-05-13  7:57                           ` Ludovic Courtès
  2019-05-13 15:39                           ` znavko
  1 sibling, 0 replies; 27+ messages in thread
From: Ludovic Courtès @ 2019-05-13  7:57 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: Bruno Haible, 35551-done

Hi Mark,

Mark H Weaver <mhw@netris.org> skribis:

> Bruno Haible <bruno@clisp.org> writes:
>
>> Mark H Weaver wrote:
>>> If we add functionality that calls out to the network in response to a
>>> package search, e.g. to query popularity ratings or package file
>>> listings, we should make sure the user knows it's happening, and provide
>>> a way to disable it.  Some users may not want information about their
>>> package searches to be leaked to the outside world.
>>
>> Good point.
>>
>> Would it be more acceptable, upon 'guix search', to download an incremental
>> update of a package popularity database, and do the search locally? This
>> way, only the fact that the user has been doing a 'guix search' would be
>> leaked to the outside world, not the search term.
>
> Yes, that would address my concerns, although popularity ratings might
> be compact enough and change slowly enough that it might be sufficient
> to simply have them embedded in the Guix source code and manually
> updated periodically.
>
> Popularity ratings would also be useful to set build priorities on our
> build farms.
>
> The package file listings, on the other hand, are likely to be so large
> that it's not practical to download an incremental update of all of
> them.

FWIW, I like that there’s a purely off-line mode for ‘guix search’, as
is currently the case (after all, none of Guix relies on any single
service so far, and I think that’s a nice property.)

However, I think it’d be nice to have the option to enhance search
results by resorting to external services—just like using a substitute
service “enhances” the user experience.

I agree that the approach should rather be to download a complete
database and operate locally on it, rather than give the exact query to
the server.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 27+ messages in thread

* bug#35551: guix search
  2019-05-11 18:18                         ` Mark H Weaver
  2019-05-13  7:57                           ` Ludovic Courtès
@ 2019-05-13 15:39                           ` znavko
  1 sibling, 0 replies; 27+ messages in thread
From: znavko @ 2019-05-13 15:39 UTC (permalink / raw)
  To: Ludovic Courtès, Mark H Weaver; +Cc: Bruno Haible, 35551-done

Thank you, Ludovic. It will be nice to have some additional fields computed with Internet databases like:

Tag->name
Tag->Relevance
Purpose: editor, viewer, library, development tool
Interface: gui app, console-only, console and gui, system calls

For every tag needs to determine relevance.
For example, package VLC:
Tag->name: video
Tag->relevance: 100
Tag->name: view
Tag->relevance: 90
and other tags
Purpose: viewer
Interface: gui app

This can give additional options for search or just improve sorting when user type f.e. ' guix search video viewer'


May 13, 2019 7:58 AM, "Ludovic Courtès" <ludo@gnu.org> wrote:

> Hi Mark,
> 
> Mark H Weaver <mhw@netris.org> skribis:
> 
>> Bruno Haible <bruno@clisp.org> writes:
>> 
>>> Mark H Weaver wrote:
>> 
>> If we add functionality that calls out to the network in response to a
>> package search, e.g. to query popularity ratings or package file
>> listings, we should make sure the user knows it's happening, and provide
>> a way to disable it. Some users may not want information about their
>> package searches to be leaked to the outside world.
>>> Good point.
>>> 
>>> Would it be more acceptable, upon 'guix search', to download an incremental
>>> update of a package popularity database, and do the search locally? This
>>> way, only the fact that the user has been doing a 'guix search' would be
>>> leaked to the outside world, not the search term.
>> 
>> Yes, that would address my concerns, although popularity ratings might
>> be compact enough and change slowly enough that it might be sufficient
>> to simply have them embedded in the Guix source code and manually
>> updated periodically.
>> 
>> Popularity ratings would also be useful to set build priorities on our
>> build farms.
>> 
>> The package file listings, on the other hand, are likely to be so large
>> that it's not practical to download an incremental update of all of
>> them.
> 
> FWIW, I like that there’s a purely off-line mode for ‘guix search’, as
> is currently the case (after all, none of Guix relies on any single
> service so far, and I think that’s a nice property.)
> 
> However, I think it’d be nice to have the option to enhance search
> results by resorting to external services—just like using a substitute
> service “enhances” the user experience.
> 
> I agree that the approach should rather be to download a complete
> database and operate locally on it, rather than give the exact query to
> the server.
> 
> Thanks,
> Ludo’.

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2019-05-13 15:40 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-03 22:57 bug#35551: package gcc does not depend on binutils and glibc Bruno Haible
2019-05-03 23:27 ` Nicolas Goaziou
2019-05-04  0:20   ` Tobias Geerinckx-Rice
2019-05-04  1:34     ` Bruno Haible
2019-05-07 16:23       ` Tobias Geerinckx-Rice
2019-05-07 17:26         ` Bruno Haible
2019-05-07 16:04     ` Ludovic Courtès
2019-05-09 21:21       ` Ricardo Wurmus
2019-05-09 21:57         ` Bruno Haible
2019-05-10  6:18           ` Ricardo Wurmus
2019-05-10  8:07           ` Ludovic Courtès
2019-05-10  9:38             ` bug#35551: guix search Bruno Haible
2019-05-10 10:17               ` Ludovic Courtès
2019-05-10 10:22                 ` Bruno Haible
2019-05-10 15:17                   ` Ludovic Courtès
2019-05-10 14:21                 ` Bruno Haible
2019-05-10 21:15                   ` Ludovic Courtès
2019-05-10 22:04                     ` Mark H Weaver
2019-05-10 22:38                       ` Bruno Haible
2019-05-10 23:41                         ` Tobias Geerinckx-Rice
2019-05-11 18:38                           ` Mark H Weaver
2019-05-11 18:18                         ` Mark H Weaver
2019-05-13  7:57                           ` Ludovic Courtès
2019-05-13 15:39                           ` znavko
2019-05-10 15:43                 ` znavko
2019-05-10 21:22                   ` Bruno Haible
2019-05-10 10:18               ` Bruno Haible

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.