Packaging ScriptBot for Fedora, a continuing adventure

You mostly likely know that I’m  a proud contributor to the Fedora Project. I helped out a bit on and I generally also keep the wiki clean. However, I haven’t ever made a package.

So my first packaging adventure is packaging the IRC bot library that ScriptBot uses.

One word: pain.

There’s a few nuances with PircBot. It comes as a jar with source inside it as well as the compiled classes. I extracted the source, made it usable for RPM to build. I scrapped the binaries, and put it into a traditional tarball. So apparently that doesn’t work.

Next, I found RPM wasn’t making a buildroot correctly. So I had to make a hack around that.

Then, it came to the install path. There’s a page on the Fedora Project Wiki apparently. But I didn’t know that! It’s not linked from the frequently visited Packaging pages.

After getting it to build, it went through a scratch build on Koji, then I filed for review on Bugzilla.

That’s when I found the page for Fedora’s Java packaging guidelines. I apparently did need documentation (although all I can put is a link, the documentation isn’t really pullable from the website). So I ended marking the bug for my request as CLOSED DEFERRED.

Expect a part two post when I actually get Pircbot into the repos.  Also likely is a part three when ScriptBot itself gets in.

See the ScriptBot project page at

A brand new shiny yum repository!

Yes, that’s right, I have decided to start hosting a yum repository. I decided this because some packages just need to be packaged and won’t make it into big repos in some cases.

Here’s how to get YOUR rpm package into MY yum repo:

  1. If your package is compiled, compile it for as many architectures and distributions as possible.
  2. Send a link to all your compiled RPMs, and source code to spamtrap AT oks DOT verymad DOT net
  3. I’ll email you back if your package was accepted.

Here’s a link to the .repo file you will need to use the repository:

simply put that file in /etc/yum.repos.d/ as oks-yum.repo and you’re good to go!