Back to Developers Page

How to build RPM packages of Tupi

First at all, I want to share with you the resources I was reading before starting my adventure.

A very short version: http://www.ibm.com/developerworks/library/l-rpm1/

A long version: http://fedoraproject.org/wiki/PackageMaintainers/CreatingPackageHowTo

Advices and good hints: http://fedoraproject.org/wiki/Packaging:Guidelines

This experience was done on Fedora 14, following these steps:

- Install the set of tools required to build RPM packages, as root type:

- For security reasons, RPM installers shouldn't be built by root, so try another user. In my case, the user “tupi”:

- Log in as user “tupi”:

- Set a local environment to build the RPM package:

A new directory called “rpmbuild” will be created following this structure:

/home/tupi/rpmbuild
/home/tupi/rpmbuild/BUILDROOT
/home/tupi/rpmbuild/SRPMS
/home/tupi/rpmbuild/SPECS
/home/tupi/rpmbuild/RPMS
/home/tupi/rpmbuild/SOURCES
/home/tupi/rpmbuild/BUILD

- Get the Tupi's source code and compress the directory:

- Move the compressed file into the folder “SOURCES”:

- To create the RPM installer, it's necessary to write a configuration file with extension “.spec”, in this case tupi.spec. After some failed tries, I finally got a functional version. Make sure you copy this file into the directory “SPECS”:

- Get in the directory “rpmbuild” and start the packaging process:

If everything goes well, congratulations! you will find the RPM installer into the folder “RPMS”:

If you want to test it, as root type:

A short-cut of Tupi will appear in the Graphics section of your Applications menu.

In the case of Fedora 14, I had to run this command additionally, due to SELinux restrictions:

Note: If you update the Tupi package from Fedora 14, it's very possible that you get the next message when you try to run Tupi: /usr/bin/tupi.bin: error while loading shared libraries: libxvidcore.so.4.2: cannot enable executable stack as shared object requires: Permission denied

To resolve this problem, run these commands as root:

Back to Developers Page