Subject: bug#47748: Packages which cant be find/removed by guix remove

From: Maxime Devos <[email-masked]>
Date: Wed, 14 Apr 2021 20:44:45 +0200

On Wed, 2021-04-14 at 16:31 +0000, bo0od wrote:
>  > Second, your operating-system declaration apparently is running
>  > the avahi server. Since you didn't share it, I don't know if it comes
>  > from a service dependency or if it's declared explicitely
> 
> do you mean config.scm?

I'm not Julien Lepiller, but I believe that's wat asked for
-- the file with the (operating-system ...) declaration.

> if you need something type the command or where 
> and i will bring it to you.
It's the *file* ‘we’ need.  (Well, the file JL needs.)
It's not a command you need to type, it's a file you need
to attach to the e-mail.

>  > When you run "guix remove" as user, it only affects your user profile,
>  > in which there is no avahi or wpa-supplicant package. Also note that, if
>  > any of your user's profile had a dependency on avahi, "guix remove
>  > avahi" would not have any effect on it either, because it's not
>  > installed explicitely, it's only present in the store to satisfy a
>  > dependency.
> 
> You dont consider that an issue when someone use guix remove x then ops 
> guess what nothing indicate something can be done, and guess what no 
> error message gonna tell you what the hell going on. Least can be said 
> about this bad usability.

Currently the error message when removing a package not existing in the profile
is:

$ guix remove m17n-lib
guix remove: error: package 'm17n-lib' not found in profile

What do you think of adding a few hints?  Some ideas:

guix remove: error: package 'm17n-lib' not found in profile
Hint: All users have their own profiles.  To remove packages from the profile
of the root user, run "sudo guix remove PACKAGES" or equivalent.
Hint: On Guix System, packages can defined in the operating system declaration.
These are not affected by "guix remove PACKAGES".

and, when applicable:

Hint: 'm17n-lib' is propagated from 'MANUALLY-INSTALLED-PACKAGE', via N intermediate
packages.  Consider running "guix remove MANUALLY-INSTALLED-PACKAGE" instead.

Would that have been helpful to you?

Greetings,
Maxime.