Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #las variables usadas aquí corresponde al archivo macros de su distribución pueden ver una tabla de #conversión acá http://www.zarb.org/~jasonc/macros.php
- Name: framework
- #nombre de la aplicación
- Version: 1.0
- #versión de la aplicación
- Release: %{mkrel 01}
- #Este es el número de release, en caso que por alguna razón debamos re-empaquetar, ya sea porque lo hemos #hecho mal, o porque agregamos un patch (Actualización), lo que hacemos es aumentarle un dígito, a "02" #quedando %{mkrel 02}, esto indicaría al sistema que es un update del anterior release. Se pueden usar dos #dígitos como en este caso "01" o solo uno "1" quedando a elección del empaquetador
- Summary: Framework
- #Esto es la descripción corta, pueden tomarla del sitio o del "README" en el tarball.
- #También se puede agregar varias tags Summary para cada idioma, por ejemplo "Summary(es):", una debajo de #la otra.
- License: GPL
- #La licencia, generalmente esta explicitada en el "README" o "copying" que vienen en el tarball.
- URL: http://www.xxx.com/
- #El sitio del proyecto
- Group: Development/Other
- #Grupo en el cual va a aparecer el programa gui de la respectiva distribución
- Source0: %{name}-%{version}.tar.gz
- #Especificar el nombre y extensión del archivo, puede ser .zip, .tar, etc, va a tomar el nombre y versión #que están definidas al principio.
- #Este archivo si lo ocupan de forma local debe estar ubicado en ~/rpm/SOURCES/ , en caso contrario pueden #añadir la url del programa por ejemplo:
- #http://packages.zendframework.com/releases/ZendFramework-2.0.0/ZendFramework-2.0.0.tgz
- BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
- #Esta linea siempre es igual, no hay que cambiarla. Aca prepara en donde se va a trabajar para crear el #paquete
- BuildRequires: php
- BuildRequires: php-gd
- #Acá ponemos los programas que se requiere para funcionar o ser compilado (en caso de que se requiera)
- #pueden ir varios como acá o ninguno
- Requires: php >= 4
- #En este caso son las dependencias o librerías y versión que pide para ser ejecutado el programa
- #por ejemplo para una librería %{_lib}gtk+2.0_0-devel >= 2.6
- BuildArch: noarch
- # La arquitectura del paquete puede ser noarch, i386, i586, i686, x86-64. Esta especificado el programa
- %description
- Framework-php.
- #Descripción completa del programa
- %prep
- %setup -q
- # Aquí es donde se desempaqueta el tarball. Se pueden añadir otro tipo de flags aparte del -q (silencioso)
- %build
- #Esta es una de las partes que mas genera confusión por lo que explicare de dos maneras, la primera para #un tarball que requiere compilarse y la segunda para la cual solo necesitaremos copiar los archivos al #sistema
- #En esta parte se coloca todo lo que sea compilación y configuración, los "./configure" y "make".
- %{__mkdir_p} build
- cd build
- export CFLAGS='%{optflags}'
- export CXXFLAGS='%{optflags}'
- cmake -DCMAKE_INSTALL_PREFIX=%{buildroot}/usr -DLIB_SUFFIX=$(echo %{_lib} | cut -b4-) ..
- %make
- #No explicare con detalle ya que cada tarball es diferente. Ahora aca simplemente se creo la carpeta build #entramos en ella y compilamos. En el caso de que no requerimos compilar se deja vacio
- %install
- #para un tarball que requiere compilarse
- %{__rm} -rf %{buildroot}
- #Limpieza, borrado de temporales.
- cd build
- %makeinstall
- #para simple copia de archivos
- %{__rm} -rf %{buildroot}
- #Limpieza, borrado de temporales.
- %{__mkdir_p} %{buildroot}%{_datadir}/php
- #Creamos las carpetas en donde ira la aplicación, %{_datadir} corresponde a /usr/share
- %{__cp} -pr %{name}-%{version} %{buildroot}%{_datadir}/php/zend
- #copiamos el contenido del tarball a la carpeta destino
- %clean
- %{__rm} -rf %{buildroot}
- #Limpieza, borrado de temporales.
- %files
- #En esta parte se listan los archivos a copiarse estos deben ser escritos uno por uno, algo simple si #estamos trabajando solamente con el tarball ya que practicamente no copiamos ningun archivo, sin embargo #en el caso de que solo estemos copiando una aplicacion al sistema es bastante tedioso.
- #NOTA: para hacer este trabajo queda prohibido hacer uso de find y similares
- %defattr(-,root,root)
- #se definen los permisos de los archivos - (para dejar igual que en el tarball), user y group
- %{_datadir}/php/Application.php
- %{_datadir}/php/Autoload.php
- %{_datadir}/php/Config.php
- %{_datadir}/php/Controller.php
- %{_datadir}/php/Controller/Action.php
- %{_datadir}/php/Controller/Exception.php
- #TIP: Si tienen demasiados archivos pueden dejar solo la linea %defattr(-,root,root) y empaquetar en el #momento que creen el .rpm les arrojara la ruta y los archivos que no fueron escritos acá, recuerden que #estos deben reemplazarlos con su respectiva variable para no causar problemas.
- %changelog
- * Wed Sep 12 2012 nombre <email> version
- - first public release
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement