On May 9, 2021, at 17:07, Gerben Wierda wrote:

> I relied on the fact that man page/help of reclaim said it would not remove 
> active installs. So, having read that, I assumed it was unable to damage the 
> running setup and I assumed it would only remove everything inactive, compile 
> stuff, etc.
> 
> That was a mistake I now know. Reclaim will remove active unrequested 
> installs. But the help/man does not say so.

I'm really sorry that it uninstalled ports that you needed; that's really not 
helpful.

The port-reclaim(1) manpage and `port help reclaim` say:

"port reclaim will find files that can be removed to reclaim disk space by 
uninstalling inactive ports on your system as well as unnecessary unrequested 
ports, and removing unneeded or unused installation files. The user is then 
provided interactive options for files to remove. No files are removed 
initially, until the user selects them from the provided list."

So it clearly says it will uninstall unrequested ports that are no longer 
needed, which users are expected to have no problem with; in fact, this 
functionality is one of the reasons why users are expected to want to run 
reclaim: to reclaim disk space for things that are no longer needed. And it 
says it will show you the list of everything it will uninstall before it does 
it. So you have an opportunity to cancel before it does that. I'm not sure how 
much more we can do to save the user from uninstalling things they didn't mean 
to uninstall. Do you have a suggestion?

Users should definitely look through the output of `port installed unrequested` 
and make sure that it does not contain anything you actually want. If it does, 
use `sudo port setrequested` to tell MacPorts which ones you actually do want, 
as Daniel said. Conversely, look through the output of `port installed 
requested` and if anything is listed that you don't actually want, use `sudo 
port unsetrequested` to mark it as not needed.

Reply via email to