Opened 3 years ago

Last modified 3 years ago

#55078 new enhancement

buildbot: exit early in portbuilder if port already built

Reported by: ryandesign (Ryan Schmidt) Owned by: admin@…
Priority: Low Milestone:
Component: buildbot/mpbb Version:
Keywords: buildbot Cc:


Although a portwatcher task checks if a port build should be attempted before scheduling portbuilder tasks, the portbuilder tasks don't recheck whether the port has in the mean time already been built. For example, if you schedule builds of zlib and minizip, and the minizip build goes first, it will build zlib as one of its dependencies. The subsequent build for zlib will have nothing useful left to do, but still goes through the motions of activating and then deactivating dependencies, which wastes time. See my mailing list post.

In many cases this is a minor inefficiency, but it turns into a major one if we try to schedule a large number of ports to be built at once on a new builder. We currently don't schedule builds of all ports on new builders, because it would be so inefficient and take the builder out of regular rotation for so long.

I'd like portbuilder to be modified so that the first thing it does is check if the port's package exists locally. If so, skip everything else. This should be a much quicker check than what portwatcher does with mpbb-list-subports, since all the portbuilder check will have to do is check if the file returned by archive-path.tcl exists, so shouldn't add much overhead to normal builds.

Change History (2)

comment:1 Changed 3 years ago by neverpanic (Clemens Lang)

Priority: NormalLow

This will be a much less important issue if we fix #52766.

comment:2 Changed 3 years ago by neverpanic (Clemens Lang)

Component: server/hostingbuildbot/mpbb
Note: See TracTickets for help on using tickets.