Wednesday 4 February 2009
Pushing a completely updated GNOME stack to Factory
Back in December, a small team of volunteers wanted to work on updating GNOME in openSUSE to 2.25. But openSUSE was still frozen, so this was not possible to do. Or at least not possible the usual way. Let me explain why:
- as people probably know, the development version of openSUSE is called Factory. It's being developed in the build service, as the openSUSE:Factory project.
- the GNOME team maintains quite a number of packages (more than 350) and so we use a specific project where everybody can submit updates and where we make sure everything works fine together. This is the GNOME:Factory project in the build service. When we're happy with a package, we push it to openSUSE:Factory.
- whenever openSUSE:Factory is frozen, we freeze GNOME:Factory too. This enables us to use GNOME:Factory to fix all kind of bugs in Factory (when Factory is only frozen from an upstream version point of view), or to fix critical bugs in Factory (when Factory is really frozen).
So, openSUSE was frozen. But the small team of volunteers was crazy enough to push and to create a GNOME:Factory:Next project to start packaging the latest upstream versions of all the modules we maintain. This was a totally crazy idea. And completely insane since there was no real review of the changes being done. They worked hard as they of course tried to follow the GNOME schedule to update packages. And there were some bad surprises along the way (for example: someone directly updating a package in Factory to fix some issue, which then requires a manual merge in GNOME:Factory:Next).
Then Factory opened again for development. We started merging things in GNOME:Factory, reviewing the changes, fixing stuff here and there. What was done in GNOME:Factory:Next was certainly not perfect, but it was still pretty good. And during all this process, we took some time to review some of our patches, trying to send upstream those that were never sent (usually for bad reasons), or trying to simply kill them. It's a tedious task since there are packagers who don't send the patch upstream, some who add a patch but don't mention the patch name explicitly (so it's quite hard to know why the patch was added), or you can find patches linking to the wrong bug... But I digress, that's something that I should discuss in another post.
And now, fast forward to today: after the tons of changes, I pushed the packages to openSUSE:Factory. How many packages? 201. All at once. Unless they were using GNOME:Factory, GNOME users of Factory all had some GNOME 2.24.x until now. They'll finally have a mix of 2.25.5 and 2.25.90 now. That's a big leap forward :-)
Oh. Yeah, I probably didn't mention yet that the team of volunteers was made of Magnus Boman, Luis Medinas (hrm, Luis, you're not on Planet SUSE!?) and Suman Manjunath. Rocking people!
Last Comments