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

Re: A new metric for source package importance in ports



Hi,

Quoting Steven Chamberlain (2013-11-28 01:04:56)
> On 27/11/13 17:58, Johannes Schauer wrote:
> > http://mister-muffin.de/p/Gid8.txt
> > 
> > One can see that now the amount of source packages which is needed to build the
> > rest of the archive is only 383.
> 
> So, there are 383 packages that share the same, maximum value (in this
> case 11657) in the second column?

Correct.

$ curl -s http://mister-muffin.de/p/Gid8.txt | awk '{ if ($2=="11657") print $0 }' | wc -l
383

In this particular graph the maximum value of the second column (11657) is less
than the total amount of source packages (in contrast to the first graph)
because this latter graph assumes that arch:all, essential:yes and
build-essential do not have to be rebuild. Therefore, lots of source packages
do not have to be compiled at all.

> > Does anybody see enough value in these numbers for source package
> > importance in the light of bootstrapping Debian (either for a new port or
> > for rebuilding the archive from scratch)?
> 
> I find the list of 383 packages interesting, at least.  I think this
> closure is what I had in mind[0] for regular testing of ports' toolchains and
> reproducibility of builds.

In that email you wrote:

> Some people have been trying to identify small sets of essential packages
> already, in the context of bootstrapping an architecture[1].  I wonder if
> that's likely to overlap with this?  It encompasses toolchain and essential
> arch-specific packages.
> 
> I imagine a healthy port should be able to bootstrap itself with only current
> package versions.  If this was being tested regularly it could let porters
> know if circular dependencies are introduced

Yes, if you omit the necessity to rebuild arch:all packages, then these 383
source packages are about what you were talking about: the set of source
packages which makes a port able to "bootstrap" itself. Though notice that this
number (383) is only the very lower bound because it was deducted using strong
dependencies only. You can see the upper bound in the column that was
calculated using the closure graph which would be 457 source packages.

If you also want to rebuild arch:all packages, then you have to look at the
first graph and then the number quickly climbs to 1194 source packages minimum
and 1424 source packages maximum.

> Does the list vary by architecture?  I see many odd things in here such as
> 'systemd' and 'redhat-cluster' which would be unavailable if trying to
> bootstrap a non-Linux port, for example.

Yes it does vary by architecture because dependencies can have architecture
qualifiers. Here, I used amd64 as an example.

> I also find it interesting to see openjdk-7 listed but not gcj;  or even
> gcc-4.8.  Was this computed for jessie or sid?

Using Debian Sid as of yesterday.

cheers, josch


Reply to: