
I had a lot of fun recompiling Gnome 2.32 for Fedora 15, and a lot of help too. Here’s a list of things I learned, in no particular order:
- fedpkg is the best thing ever. It grabs the specs, it builds the rpms, it cooks bacon. (More on that later)
- The Fedora Project Weightless Packager Cube is better than I thought. (It’s the one on the right, with no preview image)
- You can’t install 32 bit and 64bit -devel packages of every library, therefore needing a Virtual Machine or a secondary computer
- If you’re on 64bit Fedora, installing 32bit -devel packages will let you bypass the BuildRequires, but will fail because the 64bit package isn’t actually installed.
- If you’re on 32bit Fedora, installing the 64bit -devel packages will let you bypass the BuildRequires but will fail because the 32bit package isn’t actually installed… (See what I did there? Yeah, took me a while to catch on too)
- Building on a Virtual Machine is slooooooooooooooooooow.
- I spent a couple of hours chowning and chmodding an RPM trying to get rpm –resign to work. (See below)
- This bug needs love.This bug needs love.This bug needs love. (It’s worth saying three times just to get you to click it)
- Building as root is a terrible, terrible idea.
- There’s a huge difference between rm -rf %{_libdir}/* and rm -rf $RPM_BUILD_ROOT%{_libdir}/* (See above)
- There are build orders for a reason. (And I wrote a song about that)
- createrepo makes creating a repository an extremely easy task.
- The comps.xml file isn’t built by fairies, but is powered by Dark Elf magic.
- Fighting against artificial obsolescence is kinda hard.
- If you Provide: %{title}, and you Conflicts: %{title}, yum will throw a warning. Use Conflicts: %{title} >= {your-version} instead.
- The best way to avoid artificial obsolescence is to rename your package and skip the Provides clause.
- Google returns about 2,190 results for “artificial obsolescence”.
- If you listen to your heart, it goes “lub-dub” “lub-dub” “lub-dub”
- rsync is like my bff now.
- Adding alias ding=”play /usr/share/sounds/freedesktop/stereo/complete.oga” to your .bashrc is an absolute must.
- Adding alias bake-on=”fedpkg local && ding” to your .bashrc makes building tastier.
As a closing note, I’ve got both 32bit and 64bit packages uploaded to the BlueBubble repository. If you’re having issues, clean your cache.

Great article, when people share their insights that is great. I still can’t get GNOME 2.32 Fedora 14 iso built via livecd-creator
I would like to ask you to join Fusion Linux development team if you are interested to join our project.
Cheers,
Valent.
I’m AFK for the weekend. Will definitely do so on Monday.
“If you’re having issues, clean your cache”
That’s what she said
Thanks for the hard work.
Es increible que en GNU/Linux, uno no deja de aprender cosas.
Como sabrás, en el proyecto Mate, yo he aprendido muchas cosas nuevas (Y sigo aprendiendo en cada momento que le dedico a revisar el codigo). Aprendido a crear mejores shell scripts. Modificar y crear archivos para automake y autoconf.
Tambien a construir scripts para autogenerar paquetes Deb al estilo PKGBUILD. Y me gustaria tambien hacerlo para RPM.
Todo está plasmado en todo el codigo que he escrito
Y en cuanto a lo que mensionas de 32 bits y 64 bits. Existe una forma de construir paquetes de arquitectura cruzada. Usando fakeroot.
Yo soy muy perezoso para llevarlo a la practica, pero se vé más conveniente que tratar con maquinas virtuales.