keeping a (maximally) clean active tree

David Blank-Edelman dnb at ccs.neu.edu
Wed Dec 5 23:52:28 PST 2007


Hi Ryan-

On Dec 6, 2007, at 2:36 AM, Ryan Schmidt wrote:

> The message should say "Won't uninstall cairo 1.4.10_0 because the  
> following ports depend on cairo:"
>
> Ports don't depend on specific versions of ports. If you've just  
> installed cairo 1.4.12_0, then the ports that depend on cairo will  
> be happy with that version as well, and you're free to forcibly  
> uninstall the old 1.4.10_0 version.

Ah, ok. I just assumed that each port knew what it took to build it  
and would would attempt to keep that dependency around because it has  
no way of knowing that the old program will work with the new shared  
lib. I guess this shows my pre-OSX *NIX roots.

> Someone posted a recipe some time ago which I now agree with, which  
> is:
>
> 1. Run "port outdated"
> 2. If there aren't any listed, go to 5.
> 3. Pick the first port in the list (let's call it "foo") and say  
> "sudo port upgrade foo". This might upgrade just foo, or if foo has  
> outdated dependencies, it will update those too.
> 4. Go back to 1.
> 5. Uninstall all now-inactive old versions with "sudo port -f  
> uninstall inactive"

Great, I'll do just that.

I usually think of "force" switches as something you only do when the  
normal procedure fails. It is a little strange to me that one would  
want to force things as a matter of course. It also means that the  
default situation leaves inactive and unneeded ports hanging around by  
default. Just our of curiosity,  can someone say a little bit more  
about why it is done that way?

Thanks again for your help.

     -- dNb


More information about the macports-users mailing list