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

From: bo0od <[email-masked]>
Date: Thu, 15 Apr 2021 09:37:20 +0000

> 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.

yeah very nice one, except that "sudo guix remove package" doesnt work :(

This is how its done in debian/fedora, for e.g this is what debian error 
give if apt needs root rights to delete a package:

"user@host:~$ apt remove hexchat
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: 
Permission denied)
E: Unable to acquire the dpkg frontend lock 
(/var/lib/dpkg/lock-frontend), are you root?"

This is what it shows in Fedora:

"[user@host ~]$ dnf remove wpa-supplicant
Error: This command has to be run with superuser privileges (under the 
root user on most systems)."

But like i said current situation in guix is not about using sudo guix 
or guix alone.

Maxime Devos:
> 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.
>