-p considered problematic (was Re: how to proceed past errors?)
Jeremy Huddleston Sequoia
jeremyhu at macports.org
Tue Jul 31 09:51:18 PDT 2012
rev-upgrade will notice if a port is linking against something that doesn't exist, uninstall it, and re-install it.
In my example, port-d installed a new version of the library with a new name causing port-a to not link against it any more, so port-a was rev-bumped.
Someone using -p when port-d failed to upgrade would upgrade port-a against the old name. When port-d gets fixed to install properly, it will install the new dylib name, and port-a will be broken. rev-upgrade will notice that, uninstall port-a, and re-install port-a.
On Jul 31, 2012, at 9:28 AM, Arno Hautala <arno at alum.wpi.edu> wrote:
> On Tue, Jul 31, 2012 at 12:17 PM, Jeremy Huddleston Sequoia
> <jeremyhu at macports.org> wrote:
>> IIRC, the OP was talking about upgrade, not install. So in your case, you would have:
>> port -p upgrade upgrade port-a
>> This is problematic because port-a will be upgraded even through port-d failed. If port-a was rev-bumped specifically because of port-d to force a rebuild after the port-d install, this will thwart that. Luckily, rev-upgrade now exists to work around such issues these days, but I still do not recommended '-p upgrade'
> Ah, good point. So if '-p upgrade' causes such a problem, upgraded
> port-a, outdated and incompatible port-d, does rev-upgrade leave the
> now broken port-a in place if port-d and port-a can't be properly
> built? Or does it leave the broken port?
> I've watched rev-upgrade before, but I can't remember if it uninstalls
> the broken ports before rebuilding or if it only uninstalls them when
> the rebuild succeeds.
> arno s hautala /-| arno at alum.wpi.edu
> pgp b2c9d448
More information about the macports-users