Enrico Zini: rc-buggy packages sorted by popularity
rc-buggy packages sorted by popularity
After doing a round of tag reviews so that we release lenny with
the latest tag contributions, I still had a bit of spare time.
Since people
are urging to fix the last
bugs I thought I could contribute a list of RC-buggy packages
sorted by popularity:
This can be run on
#!/usr/bin/python import urllib2 import sys, re #, gzip PKGRE = re.compile(r'<strong>Package: </strong><a href="[^"]+" name="([^"]+)">') POPCONRE = re.compile(r'^(\d+)\s+(\S+)') PKGMAPRE = re.compile(r'^([^(]+)\(([^)]+)') COMMASPLIT = re.compile(r'\s*,\s*') # Allow to download other package views if len(sys.argv) > 1: url = sys.argv[1] else: url = "http://bts.turmzimmer.net/details.php" def read_packages(url): "Download the list of rc-buggy packages" fd = urllib2.urlopen(url) for line in fd: mo = PKGRE.search(line) if mo: yield mo.group(1) # FIXME: this is a deprecated data source, but at the moment it is just what # is needed def read_bintosrc(url = "http://qa.debian.org/data/ddpo/results/ddpo_packages"): "Download the binary to source package map" fd = urllib2.urlopen(url) for line in fd: mo = PKGMAPRE.search(line) if mo: src = mo.group(1) bin = COMMASPLIT.split(mo.group(2)) for p in bin: yield p, src def read_popcon(url = "http://popcon.debian.org/by_inst"): "Download popcon information" fd = urllib2.urlopen(url) # It doesn't work on urllib2 objects because it wants tell() #fd = gzip.GzipFile(fileobj=fd, filename=url, mode="rb") for line in fd: mo = POPCONRE.match(line) if mo: yield mo.group(2), int(mo.group(1)) print "Reading mapping of binary packages to source packages..." bin2src = dict(read_bintosrc()) print "Reading popcon scores..." # We actually want the score of source packages, and for it we use the score of # its binary package with the highest score scores = dict() for pkg, score in read_popcon(): pkg = bin2src.get(pkg, pkg) if pkg not in scores: scores[pkg] = score #scores = dict(read_popcon("http://popcon.debian.org/by_inst.gz")) print "Reading list of rc-buggy packages..." # The bug page has a mix of source and binary packages: convert all to source # packages packages = sorted(read_packages(url), key=lambda x:scores.get(bin2src.get(x,x), 0)) for p in packages: print scores.get(bin2src.get(p,p), 0), p
people.debian.org as
~enrico/popzimmer (0 is the rank of packages that for
some reason cannot be mapped to any rank):
$ ~enrico/popzimmer
Reading mapping of binary packages to source packages...
Reading popcon scores...
Reading list of rc-buggy packages...
0 roxen-fonts-iso8859-2
2 dpkg
11 pam
61 glibc
61 libc6
123 initramfs-tools
149 bind9
150 grub
180 portmap
213 nfs-common
279 libgl1-mesa-dri
298 libsnmp-base
298 snmpd
309 avahi
397 mysql-dfsg-5.0
408 xserver-xorg-input-wacom
409 xserver-xorg-video-vesa
428 docbook-xml
499 openoffice.org-core
567 xine-lib
600 evolution-data-server
669 eog
671 xserver-xorg-video-intel
691 epiphany-browser
691 epiphany-gecko
695 kdelibs4c2a
698 uswsusp
754 guile-1.6
959 gpm
964 cups
990 kdebase
1002 ghostscript
1069 giflib
1076 xulrunner-1.9
1177 libapache2-mod-perl2
1217 vlc-nox
1229 kernel-package
1311 kdeutils-dev
1520 libparted1.8-10
1767 wireshark
1785 selinux-policy-default
1908 dia
1943 htop
1983 boost
2140 cantlr
2145 transmission
2159 emacs22
2312 swfdec-mozilla
2449 eclipse
2449 libswt3.2-gtk-java
2728 lilo
2898 libnss-ldap
3013 java-access-bridge
3051 blender
3099 libtemplate-perl
3499 fglrx-atieventsd
3602 virtualbox-ose
3619 jfsutils
3806 anjuta
3962 kbuild
4076 libgnustep-gui0.14
4222 libwebkit-1.0-1
4332 rosegarden
4412 matplotlib
4412 python-matplotlib
4950 mail-notification-evolution
5195 nut-cgi
5273 sbcl
5538 ruby1.9
5679 kmymoney2
6076 websvn
6147 miro
6264 gnat-4.1
6431 gallery2
6478 gnome-chess
6512 joystick
6862 istanbul
6937 wordpress
7476 luatex
7635 csound
7635 python-csoundac
8257 libpam-mount
8471 wmcpuload
8631 nbsmtp
8642 oxine
8774 axiom
8949 libengine-pkcs11-openssl
9052 clamav-getfiles
9221 open-iscsi
9262 ptex-bin
9701 egroupware-core
10012 debian-cd
10127 libjogl-java
10453 libjson-xs-perl
10698 gcjwebplugin
10736 request-tracker3.6
11294 python-extclass
11518 rkward
11600 alevt
12929 otrs2
13205 bindgraph
13956 icecc-monitor
14223 netmaze
14505 cdebconf
14526 mumble
14687 fnonlinear
14724 recite
14789 jbidwatcher
15766 libnss-ldapd
15812 glpi
15905 lustre-source
15982 win32-loader
16232 ampache
17168 libghc6-missingh-dev
17311 acl2
17830 apertium
18462 emacspeak
18469 glassfish
19257 isight-firmware-tools
19719 libnagios-object-perl
20144 libwx-perl
20465 dns2tcp
21614 python-kinterbasdb-dbg
21690 hf
21902 libcobra-java
22365 tomcat6
22573 libphp-snoopy
23501 coco-java
23926 boxbackup-server
24009 libghc6-wash-dev
26323 libdesktop-notify-perl
26439 opendb
28426 adolc
28795 xorp
29986 libgdata-java
31262 libjboss-serialization-java
31472 pixelpost
31658 cournol
32939 mediamate
34365 gforge-plugin-scmcvs
34659 libgearman-client-async-perl
42233 libhamcrest-java
48076 mahara
55303 mxallowd
85881 roxen-fonts-iso8859-1
So, if you don't know from what package to start fixing bugs,
"Begin at the beginning,", the King said, very gravely, "and go
on till you come to the end: then stop."
I know phpMyAdmin translators will love us for this, but I just commited
translatable messages for new setup script. This leads to situation when
even the best translations are at 75% (see 


Nagios has the - very useful - feature of “parent hosts”. If it deems a host A being down, it first checks
its parent host, B, and reports A only as down if B is up. This goes back recursively until a host with state
“up” is found and only the first “down” host is actually reported. This keeps on-call people
from being bombed with alerts in case of major network outages and makes sure that the alerts that are actually sent out
do reasonably accurately describe the actual outage.
As an individual who has some “external” servers in various data centers on the Internet, I would like to
not be alerted multiple times that my servers at ISP C, D, and E are down if there is an outage at the ISP F hosting my
Nagios installation or at one of the various exchange points temporarily rendering the servers unreachable (without me
being able to do anything).
The solution sounds easy but is surprisingly hard.
How one could solve the issue
For each host in the manual nagios configuration, do a traceroute and generate host stanzas for each of the hosts
found:
It was recently brought to my attention that the free newspaper
"Metro" has an online version, where you can
As you can see in the second image, using ps2pdf results in some
quality loss. Ghostscript apparently doesn't understand the letter 'A'
very well, and (more importantly) loses the anti-aliasing that is part
of the pdf file. Converting this file back to PDF and storing it on the
hanlin results in an unreadable text.
But it gets worse. Once I had converted all those PDF files to
postscript using pdf2ps and merged them with psmerge, the output was
gibberish. Or Klingon, take your pick:
In case you were wondering, yes, that is the exact same fragment
(counting lines sucks) at the exact same zoom level. Clearly this was a
dead end.
I found that there was a second pdf-to-ps converter, called
'pdftops', which uses the xpdf code base to do its thing. This converter
produced clearly better PDF output; I could not see any difference
between the Xpdf rendering of the original file, and the gv rendering of
the pdftops output. Also, the psmerge output does not garble things as
badly:
Sadly, it still loses anti-aliasing, and thereby the readability of
the document on my ebookreader device. Moreover, the pdftops output
seems to confuse psmerge, to the extent that it hangs on some pages.
Another approach I tried was to import the pdftops output into
scribus, and create a multi-page PDF file with that program.
Unfortunately, however, scribus does not seem to like the pdftops
output.
Xpdf also has a 'pdftoppm' converter. With that, I was able to create
a multi-page .pdf file that was not garbled, and did still
contain anti-aliasing. Unfortunately, since the PPM format is a raster
image format, the PDF file that is created in this way does not scale
very well, resulting in artifacts and, again, an unreadable PDF file on
the hanlin device.
So it appears that for now I'll be stuck with storing multiple files
on my device. Sigh. I wish that wouldn't be necessary...
Update: So I needed pdftk.
The following list is merely a small selection of scholarly articles
listed in the
I'm now reaching the very bottom of the 






A while back, the 

Preface: legal stuff
Depending on where you live, use of random open wifi networks might be considered illegal. Although I know of no law in my country against doing this, where you live, things may be different, so educate yourself before following my example.
Wifi roaming on the move
For the past year I have used my Eee PC on the metro transit bus, as it is the perfect size for this. When I can, I take advantage of open networks to connect back home. In this article I will show how you can actually use such access, will recommend which software works best and will explain how to set it up.
So, what can I really do with the net while in motion?
How about irc? No kidding! This shell one-liner does the job:
For one, I think it might be a good idea to pause this proposal now. (Reason: lenny)
Here are some tricks that you can use to ensure that your announcement to
debian-devel-announce has maximal negative utility.
hide who's talking
Make sure that your announcement does not start off by making clear who's
speaking. The announcement will have a From line with your name on it, and
that's good enough. Everyone knows who you are, what groups you're a member
of, and can guess what group you're speaking for ... or whether you're just
speaking for yourself.
Throughout the annoucement, be use to use terms like "We plan", "let us
describe", "we are considering", "This is where our proposal comes in.", etc.
Maybe in a footnote include a clue such as a mention of "the NM-Committee",
but be sure to not sign the announcement with the name of any group or
team or set of people, so that the reader is left guessing about who this
"we" is all the way to the end and beyond.
(And hey, "cabal" is a fun word.)
weasel words
Scatter throughout the announcement some vaguely worded digs at things you
disagree with. The key here is to make clear what you really mean, while
providing enough plausible deniability that you can deny having said it
later.
So you might say ...
I've just started a new job, so I decided to take a few days holiday in
between and work on something that's been on my todo list for way too long
now -- making the debian-installer work on the D-Link DNS-323.
After a couple of days of work, I've just finished off the install of
Debian on my DNS-323, which I initiated by loading a firmware image into
the web interface of the stock firmware, and then SSHing into the machine
at the appropriate moment. What this means is that anyone with a
DNS-323 can install Debian on it. I think that's worthy of a small, quiet
"woo hoo!"...
Looking back now, it seems to have been a fairly simple and
straightforward operation, but I can remember that it didn't look so
simple when I started a week ago. So, in the interests of perhaps
short-cutting someone else's adventure into the world of d-i hacking, I'm
writing everything up while it's fresh in my mind (the benefits of being
on holidays -- plenty of time to write long blog posts). Alternately, if
anyone has a random device they'd like to see d-i on but doesn't have the
inclination to do it themselves, feel free to send me one and I'll do it
for you.
Before I begin, I've got a few "shout outs" (I think that's what the cool
kids are calling it these days) to people who've helped me along the way.
First off, Martin Michlmayr has answered innumerable dumb questions from
me, and I think wrote most of the parts of d-i that I've extended -- it's
fair to say that I'd have had no hope of doing this without him. Thanks
also to the people in #debian-boot and #debian-arm for
answering questions and putting up with my frequent bouts of
self-congratulation whenever I passed the most miniscule milestone.
Finally, everyone who has put work into d-i has my thanks, too -- it's not
perfect, but it's a damn sight better (both to use and also to hack on)
than any other installer I've ever met.
So, without further ado, off we go...
Work out how to get a console
Unless you are a guru of unbelievable skill, you will undoubtedly not do
everything quite perfectly the first time, and you'll want to see the
kernel/init boot messages, and maybe in some cases try some investigation
and diagnostic work. For that, you're going to have to have some sort of
console access.
If the device doesn't have a full screen/keyboard thing going on, the
chances are you'll almost certainly end up with a serial console. A few
devices have a network management thingo that will give you a console,
usually over VNC or some sort of horrid Java applet, but I've only ever
encountered that in rackmount servers, which have a keyboard/video
interface anyway...
In theory, I suppose, the kernel could provide a network console, but I've
never heard of such a thing being attempted, and Google is not helping me
out. I might add that to the todo list as a future hacking project...
On the DNS-323, it was a serial console that was needed. Like a lot of the
embedded devices I've seen, it didn't quite talk RS-232, so I needed an
adapter (I got a TTL-232R-3V3 USB-to-3.3v-serial adapter from