I had been reading about Democracy Player as a cool new platform for Internet TV, so I thought I should check it out. I eventually got it working, but installing software shouldn’t be this hard. The problem is that as software packages get more and more complicated, developers need to rely on a lot of other libraries if they ever want to ship their own product. This is especially true if you are building an application that needs to read a lot of different file formats. Dependency management can be a killer.
In this case, the rpm for Fedora Core 6 has a hard coded dependency on Firefox 1.5.0.8. So, the first step was to download the source RPM, patch the spec file, and build a new binary. After downloading and installing the source rpm, edit the file /usr/src/redhat/SPECS/Democracy.spec
to change the lines
BuildRequires: firefox-devel = %{mozversion} Requires: firefox = %{mozversion}
to
BuildRequires: firefox-devel >= %{mozversion} Requires: firefox >= %{mozversion}
This is better than just changing the version number from 1.5.0.8 to 1.5.0.10, since you can then reinstall the Democracy Player rpm even if you later update Firefox.
Before going further, you need to install Pyrex and qt-devel. You should be able to use yum to install these from the standard Fedora repositories. If you don’t install qt-devel, you will get the message:
Package qt-mt was not found in the pkg-config search path. Perhaps you should add the directory containing `qt-mt.pc' to the PKG_CONFIG_PATH environment variable Package 'qt-mt', required by 'avahi-qt3', not found
Then, you need to build a binary rpm. The following command should do the trick:
# rpmbuild -bb /usr/src/redhat/SPECS/Democracy.spec
Near the end of the output you should find a line like the following which will tell you where to find your brand spanking new home made binary rpm:
Wrote: /usr/src/redhat/RPMS/i386/Democracy-0.9.5-1.i386.rpm
Then, install the rpm as usual:
# rpm -Uvh /usr/src/redhat/RPMS/i386/Democracy-0.9.5-1.i386.rpm
It’s worth all the effort, though. Democracy Player is an awesome app.
Worked perfectly, thanks!
It’s great, works fine 🙂
That was my first making a real, own rpm packages.
I like it. :))
Thanks