feaure suggestion: sort build queue in dependency order

Ion-Mihai Tetcu itetcu at FreeBSD.org
Tue Dec 2 15:27:46 EST 2008


Any thoughts on this? I can implement it locally but I have the feeling
code would diverge more and more in time, which is not something I'm
really found of.

On Sat, 15 Nov 2008 14:39:47 +0200
Ion-Mihai Tetcu <itetcu at freebsd.org> wrote:

> Hi,
> 
> 
> Now that we have the ports dependencies stored in the database I'd
> like to suggest a feature, lets call it sortBuildPortsQueue.
> 
> This would reorder the ports in the BuildPortsQueue in dependency
> order, ie.: if ports A, C and D depend on B, and C depends on D then
> after running sortBuildPortsQueue the build order will be: B, A, D, C.
> 
> This would be useful to reduce the total build time for large build
> batches (think Gnome or KDE updates) for which the ports are usually
> queued in alphabetical order and enough of them are unnecessarily
> build more that once (once as dependency and once because they are
> queued). And also might reduce some foot-shooting in case of sh libs
> bumps test-builds, etc.
> 
> Potentially this could reduce the number of port builds from as much
> as 2n-1 to n.
> 
> The way I see it implemented would be to have a much fine grained
> Priority. 
> Now we have from 1 to 10 possible priorities. The way I'd like
> it would be to have from 100,000 to 999,999. This allows for having 9
> priority classes (the first digit) each with enough "space" to hold
> the whole PT (the last 5 digits); I'd like it this way because I'd
> like this reordering to be done separately for each priority class,
> that is reorder the ports with priority from 100,000 to 199,999 in
> dependency order, then the ports from 200,000 to 299,999, etc.
> Alternatively of course we could add a new priority_class field in the
> database and have the priority from 10,000 to 99,999.
> 
> I don't suggest that this would be 'on' by default. More, maybe we
> could have a config / command-line option to define on what priority
> classes we want it run.
> When on, I think it should be called from addBuildPortsQueueEntry and
> reorgBuildPortsQueue and it should be also possible to call it by
> hand.
> 
> 
> 


-- 
IOnut - Un^d^dregistered ;) FreeBSD "user"
  "Intellectual Property" is   nowhere near as valuable   as "Intellect"
FreeBSD committer -> itetcu at FreeBSD.org, PGP Key ID 057E9F8B493A297B
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://marcuscom.com/pipermail/tinderbox-list/attachments/20081202/1e067b24/attachment.bin>


More information about the tinderbox-list mailing list