On Oct 13, 2017, at 02:21, db wrote:

> On 12 Oct 2017, at 22:23, Joshua Root wrote:
>> All old port versions are uninstalled after each build, so the deps will 
>> never be outdated during a build. Also a build would have been triggered in 
>> response to any earlier commit that updated one of the deps.
> 
> Let's say, port A depends recursively in this order on B, C, D; port E 
> depends on C and D. The buildbot builds binaries for A and E.

And B, C and D, if they haven't already been built.

> Then C gets a commit, which might be scheduled in the buildbot or not.

Well, it will be, unless there is a problem like the buidlbot is offline.

> Next I try to get the binary for A. Do I get the binary for D and rebuild C, 
> B and A locally? Does my request trigger any action for the buildbot to 
> rebuild A, B, C and eventually E?

You requesting to install a port on your own computer doesn't talk to the 
buildbot at all. It only talks to the packages server, which is fronted by our 
content delivery network StackCDN. The buildbot uploads packages to there 
(essentially) once they've been built.

If you ask MacPorts to install A on your computer, MacPorts will install or 
upgrade its dependencies B, C, D first. If your installation of MacPorts 
supports and requests the use of binaries, then it will check for and use 
binaries of B, C, D if they exist; if not, they will build locally. And finally 
it will check for and use a binary of A if it exists, and if not, build that 
locally.



Reply via email to