dersh at alum.mit.edu
Mon Jun 20 09:59:56 PDT 2011
On Jun 18, 2011, at 12:39 PM, Ryan Schmidt wrote:
> On Jun 18, 2011, at 05:12, David Nicholls wrote:
>> I know this has been answered before, but I have lost the post where it was described (and cannot find it in the Guide): how do I bypass a port which has install problems so that I can continue upgrading other outdated ports?
> Bear in mind that you don't normally want to do that. Often, one upgrade actually does depend on another. Perhaps port X has just has its version increased, which also increased its library version, and port Y depends on port X. Therefore we increased port Y's revision to force it to rebuild. If you have problems building X, it would completely defeat the purpose for you to say "yes but I want to rebuild port Y anyway." Once you resolve the problem with port X and are able to upgrade it, you'll still have to rebuild all the ports that depend on it, only now you won't have the list in "port outdated" to help you.
That is true, when they are related. But I have also had a bunch of times where two ports at both outdated, and are not at all related. But, by default, macports stops when port A gives an error, so it never gets to build B, even though there is no dependency.
In those cases, I will do:
sudo port upgrade B
and then B upgrades just fine. By doing it that way, you are not going to cause any problems, because if B actually depends on A, then when you do the above it will first try to upgrade A, and give an error. But, if they are in fact un-related, then B will upgrade fine.
Perhaps there is an easier way to accomplish this? Because, I have also had cases with a bunch of outdated ports, and the first one gives an error. At that point it is hard to figure out which ones are dependencies on each other. If I gives an error, I often end up manually doing:
sudo port upgrade B C D E F
But, then maybe I will get B C D to build fine, but E was actually related to A, so it tries to build A and gives the error again.
And that has me thinking about a wish list item: Seems like it would be nice to have some kind of flag that essentially says, "build what you can, and skip ports that are giving errors and their dependents, but upgrade other independent things"
More information about the macports-users