After playing around with the OpenSuse Build Service for some days now I decided to build development packages of kblogger as a first real life test.
As I already mentioned the OpenSuse Build Service (OBS) seems to be a realistic solution for software projects to spread software among users by providing packages for several distributions. And even for larger projects which are included in the standard repositories the OBS can be useful by building development packages.
I decided to give it a try with kblogger. This tool makes it possible to blog from within your KDE session via a xml-rpc gateway without the need to open the blog editor in a web browser.
kblogger released a beta version last months and I tried to package it for OpenSuse 10.2 and Fedora 7. And it worked without many problems.
I just took the spec file I already had for rsibreak (because both are KDE packages), modified some things and afterwards it worked. The packages are now in the OpenSuse repository and in the Fedora 7 repository of my OpenSuse build account. Impressive.
Anyway, things I noticed:
- OpenSuse places KDE 3 packages to /opt/KDE3. This is entirely due to historic reasons and will change with KDE4. However, until then I define the bindir, datadir and libdir macros for OpenSuse in the specfile itself.
- The package names are different – kdebase-devel for Fedora, kdebase3-devel for OpenSuse. I had to use if-endif structures in the spec file to solve that, but it should be checked automatically. At least for the basic packages the OBS should know by itself what to find where.
- In general it is easy to adopt different spec file snippets from different distributions – with if-endif structures everything can be used where it is supposed to be used without having more than one spec file.
- There is no way to remove packages from the repositories once you’ve built them without deleting the package from your project.
I would like to now test how to build packages for Ubuntu or Debian, but I have no idea how to do that with the OBS. The problem is that I first lack experience and second don’t run a Debian based system and therefore cannot do anything with the Debian helper tools – afaik you need to execute these during the preparations for the build. If that is true that is quite strange because it makes things much more difficult compared to “simply” writing a single text file like RPM does it.
So: If anyone knows how to prepare Debian packages on a system like Fedora 7 please leave a comment or contact me directly!
As a last comment: while I did build the kblogger packages don’t rely on them: atm everything is for testing only. I also removed the rsibreak packages because they fulfilled their purpose and are not longer needed. So you might want to test the kblogger packages but don’t rely on me that I will provide further packages. But if you would like to for example set up a kblogger project at the OBS or to publish them in Fedora just contact me.