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