User Tools

Site Tools


fedora_packaging

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

fedora_packaging [2017/03/11 18:22]
fedora_packaging [2019/07/16 20:31] (current)
Line 1: Line 1:
 +;#;
 +[[developer_resources|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:
 +
 +    * yum groupinstall "​Development Tools"
 +    * yum install rpmdevtools
 +
 +- For security reasons, RPM installers shouldn'​t be built by root, so try another user. In my case, the user "​tupi":​
 +
 +    * /​usr/​sbin/​useradd tupi
 +
 +- Log in as user "​tupi":​
 +
 +    * su - tupi
 +
 +- Set a local environment to build the RPM package:
 +
 +    * rpmdev-setuptree
 +
 +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:
 +
 +    * git clone http://​git.gitorious.org/​tupi/​tupi.git
 +    * rm -rf tupi/.git/
 +    * mv tupi tupi-0.1
 +    * tar cvfz tupi-0.1-5.tar.gz tupi-0.1
 +
 +- Move the compressed file into the folder "​SOURCES":​
 +
 +    * mv tupi-0.1-5.tar.gz rpmbuild/​SOURCES
 +
 +- To create the RPM installer, it's necessary to write a configuration file with extension "​.spec",​ in this case [[fedora_spec|tupi.spec]]. After some failed tries, I finally got a functional version.
 +Make sure you copy this file into the directory "​SPECS":​
 +
 +    * cp tupi.spec rpmbuild/​SPECS
 +
 +- Get in the directory "​rpmbuild"​ and start the packaging process:
 +
 +    * cd rpmbuild
 +    * rpmbuild -v -bb --clean SPECS/​tupi.spec
 +
 +If everything goes well, congratulations! you will find the RPM installer into the folder "​RPMS":​
 +
 +    * ls /​home/​tupi/​rpmbuild/​RPMS/​i686
 +      * tupi-0.1-5.i686.rpm
 +
 +If you want to test it, as root type:
 +    * cd /​home/​tupi/​rpmbuild/​RPMS/​i686
 +    * rpm -i tupi-0.1-5.i686.rpm
 +
 +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 [[http://​en.wikipedia.org/​wiki/​Selinux|SELinux]] restrictions:​
 +
 +    * chcon -t execmem_exec_t '/​usr/​bin/​tupi.bin'​
 +
 +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:
 +    * execstack -c /​usr/​lib/​libxvidcore.so.4.2
 +    * execstack -c /​usr/​lib/​libmp3lame.so.0
 +
 +;#;
 +[[developer_resources|Back to Developers Page]]
 +;#;