Well, someone else was supposed to be working on the new bugzilla, but they got pulled off for an OEM project (completely understandable), so since I really need some functionality and speed out of bugzilla to progress with some work flows I have in mind, I decided to hunker down and do the dang thing myself.
For starters you can take a peek at the current implementation here: bugzilla.linsec.ca. A good sample bug to really take a peek at might be bug #26975. Or, well heck, any bug you like really. Existing logins for the current Mandriva bugzilla do work on this new one.
I had to dig around in the database schema and data and convert a dataset I had obtained about a month ago. The script to convert it is a fairly nice (but hackish) piece of work, which was difficult due to the idea of moving from package-based components to “group”-based components; instead of filing a bug against x11-server-some-video-driver you would file it against X.org. With an optional “RPM Package” field to include the exact rpm package if you like.
The script works well and interacts with two databases (old and new) to retrieve values from each and writes it out to a plain-text SQL file. It takes about 30s for it to convert 30600+ bugs, which isn’t bad since it’s doing a tonne of regexp magic to figure out what package (libfoo) goes to what new Component.
Products and Versions are also handled different (better)… the version is now the distro version, not the package version.
Oh, and it’s fast. Of course, that’s what happens when you trim the database fat. The old bugzilla database is about 5.2GB of data. The new one is about 500MB. Makes a huge difference in speed, plus looking up bugs, submitting bugs (yaa! a single page to enter a new bug!) and so on is much faster.
In short, this needed to be done a long time ago.
Oh, and sorry to the folks at Red Hat… I used their layout/style and tried to emulate it (their bugzilla looks very clean) and I think I did a fairly decent job of it. It looks quite a bit different from our current bugzilla, but I think it turned out pretty good (a few things aside).
Still a few things need to be done. Hopefully next week we can actually implement this thing live.