In the past week, the number of state-dependency-failed-testing has increased by 510, to 3409. Of those, about 80% are blocked by the first package in the list, and 75% are blocked only by that package.
On Sat, Oct 22, 2011 at 11:03 PM, Dave Steele <dste...@gmail.com> wrote: > > I find myself frequently called back to the Piuparts waiting-to-be-tested > package list at > http://piuparts.debian.org/sid/state-dependency-failed-testing.html, and > got curious about what is keeping that list as long as it is. Following is > an analysis. > > There are currently close to 3000 packages > in state-dependency-failed-testing that can be traced to one or more > state-failed-testing packages. That number actually went down quite a bit > in the last week, when libgtk2.0-bin passed, clearing hundreds of packages > for testing. > > There are less than 300 packages in state-failed-testing holding up those > tests. The blocking distribution is typically very skewed. At any given > time, half of the packages in state-dependency-failed-testing may be held > there, directly or indirectly, by 3 to 5 packages. Eliminating > libgtk2.0-bin last week exposed libreadline6 as the new top blocker. > > Here's the output of a script that scrapes > http://piuparts.debian.org/sid/state-dependency-failed-testing.html and > analyzes blocking packages: > > # ./piublocker > dependency failed - 2899 > failed testing - 274 > > blocking free cum package > 1588 1005 1894 libreadline6 > 451 35 1854 sgml-data > 429 1 1466 docbook-xsl > 191 153 1286 texlive-base > 155 79 1182 ca-certificates-java > 125 106 1071 php5-cli > 89 29 1042 gnustep-base-common > 60 0 982 gnustep-back0.20 > 49 6 973 menu > 49 4 957 libcommons-httpclient-java > 42 0 915 python-ibus > 40 15 897 libcommons-beanutils-java > 35 34 862 gosa > 35 1 827 blends-common > 33 33 794 liquidsoap > 30 3 791 libspring-core-java > 28 20 771 libwebkit1.1-cil > 28 1 750 libatinject-jsr330-api-java > 26 26 724 drupal6 > 26 7 703 antlr > 24 24 679 cyrus-common > 21 13 664 libmx-1.0-2 > 20 15 645 openssh-client > 17 0 630 libhttpclient-java > 17 17 613 drizzle > 16 16 597 dovecot-core > 14 0 597 sat4j > 14 6 591 proftpd-basic > 14 0 577 libjasper-java > 14 11 566 libhttp-date-perl > 14 7 559 libgcj-bc > 13 4 546 libmono-addins-gui0.2-cil > 12 10 535 postfix > 12 3 523 libusrp0 > 12 9 512 libgtkhtml-4.0-common > 11 6 501 libncurses5-dev > 11 6 490 libgtkglext1 > ... > > This output says that there are currently 2899 packages > in state-dependency-failed-testing traceable to a state-failed-testing > package (that doesn't exactly match Piupart's count of 2920). 274 packages > are responsible for that blocking. More than half of them (1588) are > blocked by a single package, libreadline6. 1005 of those packages would be > cleared for testing by removing only libreadline6 from the list of > blockers. Possibly, at least some of those exposed packages may have > blocking numbers in the 1000 range (e.g. 'python' is in that list). > > The "cum" shows how many packages are left as each subsequent top blocker > is cleared. From that number, you can see that the dependency list could > be cut in half by removing the top 4 packages on the list. 80% would be > cleared by passing the top 29 packages. > > It seems worth the effort to identify and focus fixing the top packages on > this list, over time. There should be opportunities for low-hanging fruit > whenever the state-dependency-failed-testing list gets over about > 1000-1500 entries. > > The source for the script piublocker is at > https://github.com/davesteele/piublocker >