RPMBinario
Creación de RPMs binarios
El propósito de este documento es detallar los pasos que se han seguido para crearnos nuestro primer RPM. Como es el primero seguramente el proceso es notoriamente mejorable, pero por algo hay que empezar.
Necesitamos instalarlos la herramienta rpmbuild
# yum install rpm-build
Nos creamos un directorio donde crearemos los ficheros:
# mkdir /root/misrpms
Dentro de este directorio nos cremos otros: SPECS, BUILD, RPMS, SRPMS, SOURCES
# cd /root/misrpms # mkdir SPECS BUILD RPMS SRPMS SOURCES
Nos cremos un fichero ~/.rpmmacros con el siguiente contenido:
%_topdir /root/misrpms
%_builddir %{_topdir}/BUILD
%_rpmdir %{_topdir}/RPMS
%_sourcedir %{_topdir}/SOURCES
%_specdir %{_topdir}/SPECS
%_srcrpmdir %{_topdir}/SRPMS
Ahora nos creamos el fichero spec del RPM a construir que contiene los datos necesarios para construir el RPM ~/misrpms/SPECS/aspell-eu.spec:
Name: aspell-eu
Version: 20081029
Release: 1%{?dist}.el5
Summary: Basque dictionary for aspell
Group: Applications/Text
License: GPL
%description
Basque dictionary for aspell 0.60. Files obtained from .deb package.
%prep
%build
%install
%clean
%files
%defattr(-,root,root,-)
/usr/lib/aspell-0.60/eu.multi
/usr/lib/aspell-0.60/eu.rws
/usr/lib/aspell-0.60/eu.dat
/usr/lib/aspell-0.60/euskera.alias
/usr/lib/aspell-0.60/eu_affix.dat
%doc
%changelog
* Mon Nov 8 2010 David Fernanez <david.fernandez@ehu.es>
- Initial version
Una vez creado este fichero ya procedemos a generar el RPM:
# rpmbuild -bb SPECS/aspell-eu.spec
En este comando podemos especificar la arquitectura para la que se crea el paquete con –target (pe. noarch, i386,…). Si no se específica se usará la del servidor donde se construye el paquete.
Y ya tenemos nuestro RPM en ~/misrpms/RPMS/noarch/aspell-eu-20081029-1.el5.noarch.rpm

Hola tocayo, antes que todo dejame felicitarte, estamos pasando tiempos criticos donde la informacion en Linux cada ves es obsoleta, en mis busquedas sobre como hacer un rpm, encontrè varia documentacion de Fedora, algo compleja y que no satisface las necesidades de todos, en mi caso no que nunca he creado un rpm, pero si tengo conocimiento de bash. tu guia me gusto y es la unica que he visto sin requerir un ./configure el cual mi programa escrito en bash+zenity+yad no lo incluye porque no lo necesita. Solo tengo algunas dudas, estoy trabajando un proyecto de un programa de instalacion en Fedora, nunca he creado un rpm, lo unico que tengo es el programa en si con la estructura con directorios con cada archivo que ejecutara el programa, algo asi /usr/local/bin/my programa y subprogramas /usr/share/icons/todos mis iconos /usr/share/applications/my acceso directo.dektop , podria utilizar la estructura de tu ejemplo? ¿podrias ayudarme? no he encontrado la ayuda que necesito en ningun lado, todos me mandan a la documentacion
Si lo único que quieres es distribuir unos ficheros que no hace falta compilar, las instrucciones te deberían servir. Eso si, estas instrucciones están probadas sobre Red Hat 5, que seguramente ejecutará una versión anterior de RPM que las últimas versiones de Fedora por lo que puede que algunas cosas hayan cambiado.