[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: possible MBF: automatically detecting unused build dependencies



Hi,

On Montag, 28. Juli 2014, Johannes Schauer wrote:
> From the bootstrap perspective it needs to be at minimum 488 right now but
> could be more in the future. See http://bootstrap.debian.net/history.html
> for a development of the problem size over time. At maximum it needs to be
> 730 source packages. That there is not one single number is because
> dependency disjunctions and Provides relationships allow different
> solutions to the problem.
> 
> On the other hand you can see that even the minimum number is more than the
> 1-3 hundred more jobs you deem to be feasible.

on a second thought, this doesnt seem to be too bad. It will be a bit aweful 
in the UI, but nothing views cannot handle/hide. 

For reference, there are currently 115 d-i_build* jobs, building all those d-i 
source packages and all those 115 jobs only take 2.2G on the filesystem.

So if your jobs cleanup properly and dont leave much cruft in the workspace, I 
think it could be feasable... 
 
> There are two passes for each source package. The first pass is a normal
> build with fatrace in the back which tracks which files are used during
> the build. That information is then used to determine which build
> dependencies contain files that are never used.
> 
> The second pass then goes over these results and replaces each one of these
> build dependencies of which no files were used with an empty equivs package
> without dependencies. This pass makes sure that also the dependencies of
> the binary package are not used.
> 
> Fourteen rebuilds is the most extreme case which I used because I thought
> it was useful to know the maximum amount of needed resources. On average,
> a source package needs 0.5 rebuilds because for most source packages no
> droppable build dependencies were found in the first pass.

ah, ok, cool!
 
> The number of jobs depends on what you think the best way would be to
> tackle this problem with jenkins if you still find it feasible.

see above.

So I'd say, checkout the git repo from 
git.debian.org/git/qa/jenkins.debian.net.git, and start by looking at 
job-cfg/rebootstrap.yaml.py and join #debian-qa so we can discuss things 
there...


cheers,
	Holger

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: