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

Re: Bootstrapping: list of 81 self-cycles in Debian Sid



Hi,

I wrote a shell script which outputs the following static html:

http://mister-muffin.de/bootstrap/selfcycles.html

If you guys find this useful, then I can see how to get this generated
periodically and published somewhere under the debian.org domain.

Quoting Joerg Jaspert (2013-03-06 09:07:44)
> That obviously depends a bit on what is actually needed to run (and then on
> talking to DSA, but they don't bite so much :) ).

If it is found useful, then I have to figure out who to contact about this.

> I guess you need a mirror (or at least packages/sources files) as input,
> though you might want to check if you can use an existing database within
> Debian to just use the already exsiting data.

Yes, the input to the code is just a pair of Packages.bz2 and Sources.bz2
files.

For the output you see in the link above, they total to a size of 500MB. If
they can be retrieve directly from somewhere on the same machine, then it would
naturally save lots of space.

> And then whatever $packages. And disk space, RAM, CPU requirements.

disk space:

Executables are only a few megabytes. Packages.bz2 and Sources.bz2 files total
to 500MB if they have to be downloaded from a mirror.

RAM:

The highest amount I observed was 260 MB of used resident memory. This value is
that high because the build dependency graph and the strong dependency graph of
the whole distribution has to be kept in memory at the same time.

CPU:

The whole script producing the output above took 7 hours to run on a 2.5GHz
Core i5 for all suites and all architectures (38 combinations). This is because
generating strong strong dependencies for all packages in the archive takes
8-10 minutes with current archive sizes.  I dont think this value can
considerably be lowered. On the other hand, the cron job doesnt have to be run
every day but maybe once a week or once a month?

> Now, your data input: What are you using? You might want to check if the
> buildd or archive databases don't already hold the data you need (or are
> easily extended to do so), and then just use that instead of duplicating the
> extraction.

Input is a pair of Packages.bz2 and Sources.bz2. From that a dependency graph
is generated. Strong dependencies are calculated and the graph is annotated
with them. I dont think that neither dependency graphs nor strong dependencies
are information which currently exist elsewhere.

cheers, josch


Reply to: