-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.

--Jeremy

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.
> 
> Thanks,
> --Arno
> 
> 
> -- 
> arno  s  hautala    /-|   arno at alum.wpi.edu
> 
> pgp b2c9d448



More information about the macports-users mailing list