Week 5: XOrg upgrades and GobalErrors
Please, please, don't punch me too hard to post the weekly report too late! I have a good excuse after all. 😉
Petter Reinholdtsen did and still does some cool upgrade tests from lenny to squeeze and is hit by a few problems: The first is what APT wants to remove in the upgrade. Some are fine and nobody will miss them, but i am not sure if all users will be happy if the xserver is removed in the upgrade. 😉
My normal approach to track such thinks down is based on guesswork and luck: Find a (at best) minimal test case for this problem as you don't want to perform dependency resolving by hand on 1000 packages. The problem is, to find a minimal test case you need to understand the problem, but if you would, you wouldn't search for one…
You might think that this can consume a lot of time. You are wrong. It consumes even more time. 😉
Thankfully, after a lot of work and time you find a test case and shortly after even a solution. The solution is mostly a very short change which gives the false impression it was easy. It becomes strange if you know how to work around it but you can't find the actual cause as seen now in the Xorg upgrade. I really don't know why I tried what I did - I assume it was an enlightenment from the dependency-god - but it worked out. At least I have now something to look for…
The second thing is even nicer: APTs downloader can end in an endless loop in some undefined circumstances. This exists for a LONG time, but it never happened to me, never under a debug build or even with debug options enabled. So it is again something you need to guess: How to reproduce it in a controlled (minimal) environment. We haven't made it so far…
Same code different topic is the apt-get improvement idea - why such threads always have such a bad name? Scheduling package downloads across different (available) sources. I am not completely sure if I like that: It makes downloads faster - at least for now as nobody uses it. I am a bit frighted that users will all add the five big (round-robin) mirrors in their sourcelist which would only increase the speed penalty for all users maybe… I am more for a more intelligent choice of a mirror than using 10 at the same time (as this requires also 10 times the metadata download).
But I have also done some "real" work, you know, but it feels mostly like writing yet more emails: Improve support for installing 32-bit libraries on 64-bit systems. 😉 Still I also committed a few things: Improving the GlobalError class was a long-standing todo list item and I am happy that I finally came around to do it as it was needed for my CacheSets.
As I was recently told again that people care for LoCC (Lines of Code Changes) here is the one for this week: 19 files changed, 763 insertions(+), 361 deletions(-)
So, enough for last week, i am already behind schedule for this week. 😉