Versions in ports

Daniel J. Luke dluke at geeklair.net
Mon Sep 14 10:00:31 PDT 2015


> On Sep 14, 2015, at 12:44 PM, Artur Szostak <aszostak at partner.eso.org> wrote:
> A 1.0 depends on C 1.0
> B 1.0 also depends on C 1.0
> 
> And their newer versions are not backwards compatible with C 1.0, thus:

what is the nature of this incompatibility?

> A 2.0 depends on C 2.0
> B 2.0 depends on C 2.0
> 
> If the following steps are followed we end up in an inconsistent state:
> 1) Initially we install A and B when the repository contains Portfiles for versions 1.0.
>    sudo port install A
>    sudo port install B
> 2) The Portfiles in the repository are all updated to versions 2.0 so we synchronise to see the new available versions.
>    sudo port sync
> 3) We choose to upgrade port A.
>    sudo port upgrade A
> 4) At this point we have: A 2.0, B 1.0, C 2.0. Which means that we just broke package B with the upgrade of A.

rev-upgrade (which runs automatically after upgrade) will catch and rebuild B for the cases of incompatibility that I’m aware of.

> If you look at the sequence of commands run:
>    sudo port install A
>    sudo port install B
>    sudo port sync
>    sudo port upgrade A
> one would not expect this to break some of the software, and yet it does.

an example of actual breakage would be good.

— 
Daniel J. Luke                                                                   
+========================================================+ 
| *---------------- dluke at geeklair.net ----------------* |                          
| *-------------- http://www.geeklair.net -------------* |                          
+========================================================+ 
|   Opinions expressed are mine and do not necessarily   |                          
|          reflect the opinions of my employer.          |                          
+========================================================+






More information about the macports-users mailing list