port reclaim exclude build dependencies

Rainer Müller raimue at macports.org
Sun Jan 27 18:57:52 UTC 2019


On 27.01.19 19:42, Ryan Schmidt wrote:
> 
> 
> On Jan 27, 2019, at 12:26, Rainer Müller wrote:
> 
>> The main problem here would be that information about build dependencies
>> is not stored in the registry. Only if we this information was kept on
>> installation as a first step, we could then respect it during reclaim.
> 
> Hmm, why is that a prerequisite? "port_cutleaves" manages to implement approximately this feature without that information in the registry. I assume it's getting the build dependencies from the current portfile. Can't "port reclaim" do the same?

I have not checked in detail, but I think port_cutleaves gets everything
from the ports tree.

> And isn't that actually what we want? Who cares if an outdated
installed port had a particular build dependency. What we care about is
whether the current version has that build dependency. The goal is to
prevent the uninstallation of build dependencies that are likely to be
needed in the future; we don't care about build dependencies that were
once required in the past.

Mixing the information from the registry with the information from the
ports tree seems like a bad idea. Once you start with that, it just gets
more and more complicated.

You could still end up in a situation where you would keep the build
dependencies based on the ports tree, but still uninstall a possibly new
library dependency based on the registry information, because it was not
in use by any other installed port. I doubt this will ever become a
perfect solution with MacPorts being this hybrid between source and
binary installation methods.

Rainer


More information about the macports-users mailing list