Author: lucas Date: 2008-06-02 15:32:20 +0000 (Mon, 02 Jun 2008) New Revision: 875
Added: potential-removals/ potential-removals/Comments potential-removals/Makefile potential-removals/find_removals potential-removals/popcon_src Log: added script to find candidates for removal from testing Added: potential-removals/Comments =================================================================== --- potential-removals/Comments (rev 0) +++ potential-removals/Comments 2008-06-02 15:32:20 UTC (rev 875) @@ -0,0 +1,9 @@ +401209 reopened recently +415254 reassigned rather recently +429923 reassigned rather recently +441719 not built everywhere +453791 fixed, archived. +454836 caused by vdr-plugin-live not migrating. +471385 wengophone not built everywhere +473943 not built everywhere +476631 not built everywhere Added: potential-removals/Makefile =================================================================== --- potential-removals/Makefile (rev 0) +++ potential-removals/Makefile 2008-06-02 15:32:20 UTC (rev 875) @@ -0,0 +1,82 @@ +all: removals-filtered.txt + +CHDIST=$$HOME/bin/chdist +MAXBUG=478000 +MAXPOPCON=1000 + +MIRROR=http://ftp.de.debian.org/debian + +Sources_ok: testing-main-Sources testing-contrib-Sources testing-non-free-Sources unstable-main-Sources unstable-contrib-Sources unstable-non-free-Sources stable-main-Sources stable-contrib-Sources stable-non-free-Sources oldstable-main-Sources oldstable-contrib-Sources oldstable-non-free-Sources experimental-main-Sources experimental-contrib-Sources experimental-non-free-Sources + touch Sources_ok + +################# SOURCES + +experimental-main-Sources: + wget -O - ${MIRROR}/dists/experimental/main/source/Sources.gz | gunzip > $@ + +experimental-contrib-Sources: + wget -O - ${MIRROR}/dists/experimental/contrib/source/Sources.gz | gunzip > $@ + +experimental-non-free-Sources: + wget -O - ${MIRROR}/dists/experimental/non-free/source/Sources.gz | gunzip > $@ + + +oldstable-main-Sources: + wget -O - ${MIRROR}/dists/oldstable/main/source/Sources.gz | gunzip > $@ + +oldstable-contrib-Sources: + wget -O - ${MIRROR}/dists/oldstable/contrib/source/Sources.gz | gunzip > $@ + +oldstable-non-free-Sources: + wget -O - ${MIRROR}/dists/oldstable/non-free/source/Sources.gz | gunzip > $@ + + +stable-main-Sources: + wget -O - ${MIRROR}/dists/stable/main/source/Sources.gz | gunzip > $@ + +stable-contrib-Sources: + wget -O - ${MIRROR}/dists/stable/contrib/source/Sources.gz | gunzip > $@ + +stable-non-free-Sources: + wget -O - ${MIRROR}/dists/stable/non-free/source/Sources.gz | gunzip > $@ + +testing-main-Sources: + wget -O - ${MIRROR}/dists/testing/main/source/Sources.gz | gunzip > $@ + +testing-contrib-Sources: + wget -O - ${MIRROR}/dists/testing/contrib/source/Sources.gz | gunzip > $@ + +testing-non-free-Sources: + wget -O - ${MIRROR}/dists/testing/non-free/source/Sources.gz | gunzip > $@ + +unstable-main-Sources: + wget -O - ${MIRROR}/dists/unstable/main/source/Sources.gz | gunzip > $@ + +unstable-contrib-Sources: + wget -O - ${MIRROR}/dists/unstable/contrib/source/Sources.gz | gunzip > $@ + +unstable-non-free-Sources: + wget -O - ${MIRROR}/dists/unstable/non-free/source/Sources.gz | gunzip > $@ + +################# / SOURCES + +removals-filtered.txt: removals.txt + grep -v -e "^### ignored too recent " -e "^### ignored too popular " removals.txt > removals-filtered.txt + +removals.txt: popcon_sources.txt rcbugs.txt Sources_ok + ./find_removals rcbugs.txt popcon_sources.txt $(MAXBUG) $(MAXPOPCON) 1 > removals.txt + +popcon_sources.txt: Sources_ok + ./popcon_src > popcon_sources.txt + +rcbugs.txt: + ssh merkel "cd fbc && ./real_bugcounts" > rcbugs.txt + +clean: + rm -f popcon_sources.txt rcbugs.txt *Sources Sources_ok + +distclean: clean + rm -f dak_* removals-filtered.txt removals.txt + +.PHONY: clean distclean + Added: potential-removals/find_removals =================================================================== --- potential-removals/find_removals (rev 0) +++ potential-removals/find_removals 2008-06-02 15:32:20 UTC (rev 875) @@ -0,0 +1,72 @@ +#!/usr/bin/ruby -w + +def getsource(bin) + src = `chdist apt-cache lenny show #{bin} 2>/dev/null | grep "^Source: " | awk '{print $2}'`.chomp + if $? != 0 + return bin + end + if src == "" + return bin + else + return src + end +end +maxbug = ARGV[2].to_i +maxpop = ARGV[3].to_i +if ARGV[4] == "0" + checkdak = false +else + checkdak = true +end + +popcon = {} +IO::read(ARGV[1]).each_line do |l| + next if l =~ /^#/ + pkg, pop = l.split + popcon[pkg] = pop.to_i +end + +IO::read(ARGV[0]).each_line do |l| + next if l !~ /^TESTINGUNSTABLE / + testing, bug, package, subject = l.split(' ', 4) + package.chop! if package =~ /,$/ + next if [ 'release-notes', 'project', 'ftp.debian.org', 'installation-reports'].include?(package) + bug = bug.to_i + if bug > maxbug + puts "### ignored too recent #{bug}(>#{maxbug}) (#{package}): #{subject}" + next + end + src = getsource(package) + if popcon[src].nil? + puts "### ignored unknown popcon #{bug} (#{package},#{src}): #{subject}" + next + end + if popcon[src] > maxpop + puts "### ignored too popular #{bug} (#{package},#{src}) (popcon: #{popcon[src]}>#{maxpop}): #{subject}" + next + end + if checkdak + if not File::exists?("dak_#{src}") + system("ssh merkel \"dak rm --suite=testing -Rn #{src}\" > dak_#{src}") + end + dak = IO::read("dak_#{src}") + end + version = `chdist apt-cache lenny showsrc #{src} | grep "^Version: " | awk '{print $2}'`.chomp + if checkdak and dak !~ /^No dependency problem found.$/ + puts "### ignored because of dak #{bug} (#{package},#{src}) (see dak_#{src} ): #{subject}" + puts "##### #{bug} #{package} #{subject}" + puts "##### popcon: #{popcon[src]}" + puts "#### #{bug}" + puts "###remove #{src}/#{version}" + puts + else + puts "## #{bug} #{package} #{subject}" + puts "## popcon: #{popcon[src]}" + puts "# #{bug}" + puts "remove #{src}/#{version}" + puts + end + STDOUT.flush +end + + Property changes on: potential-removals/find_removals ___________________________________________________________________ Name: svn:executable + * Added: potential-removals/popcon_src =================================================================== --- potential-removals/popcon_src (rev 0) +++ potential-removals/popcon_src 2008-06-02 15:32:20 UTC (rev 875) @@ -0,0 +1,54 @@ +#!/usr/bin/ruby -w + +# hash for bin->src resolution +$srcpkg = {} + +# hash for src->bins resolution +$pkgs = {} + +# read *-Sources and feed $srcpkg and $pkgs +def read_sources + Dir::glob('{testing,unstable}-*-Sources') do |s| + src = nil + IO::read(s).each_line do |l| + if l =~ /^Package:/ + src = l.split(' ')[1].chomp + $pkgs[src] = [] if $pkgs[src].nil? + elsif l =~ /^Binary:/ + l.split(' ',2)[1].split(', ').each do |b| + b.chomp! + if $srcpkg[b].nil? # else, we already know that binary pkg + $srcpkg[b] = src + $pkgs[src] << b + end + end + end + end + end +end + +read_sources + +popcon = {} +`wget -q -O /dev/stdout http://popcon.debian.org/by_inst`.each_line do |l| + l.chomp! + next if l =~ /^#/ + next if l =~ /^-----/ + t = l.split + next if t[1] == "Total" + src = $srcpkg[t[1]] + next if src.nil? + puts "# #{src} #{t[2..-1].join(' ')}" + insts = t[2].to_i + if popcon[src] + if popcon[src] < insts + popcon[src] = insts + end + else + popcon[src] = insts + end +end + +popcon.to_a.sort { |a,b| a[1] <=> b[1] }.reverse.each do |e| + puts e.join(' ') +end Property changes on: potential-removals/popcon_src ___________________________________________________________________ Name: svn:executable + * _______________________________________________ Collab-qa-commits mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/collab-qa-commits
