SlideShare una empresa de Scribd logo
PASOS ESENCIALES PARA GENERAR
EL RPM DE TU ELASTIX-ADDON
Dpto. Desarrollo Elastix
Luis Abarca
RPM
Dpto. Desarrollo Elastix
Un rpm es una forma de referirse al formato de archivos manejado
por el Administrador de Paquetes RPM, a los propios archivos con
este formato, a software empaquetado en estos archivos, y al propio
administrador de paquetes en si.
Nos referiremos en esta ocasión como rpms al software
empaquetado bajo este tipo de formato.
Estructura de un entorno
de Generación Básico
Dpto Desarrollo Elastix
Estructura de un Entorno
~/rpmbuild/SOURCES Paquete fuente prístina (Ej:, tarballs y
parches).
~/rpmbuild/BUILD Los archivos fuentes son desempaquetados y
compilados en un subdirectorio dentro de
este.
~/rpmbuild/BUILDROOT Los archivos son instalados bajo este directorio
durante la etapa %install.
~/rpmbuild/RPMS Los RPM binarios son creados y
almacenados bajo este directorio.
~/rpmbuild/SRPMS Los RPM fuente son creados y almacenados
bajo este directorio.
~/rpmbuild/SPECS Archivos de especificaciones RPM (.spec).
Dpto. Desarrollo Elastix
Generalidades al construir
un RPM
Dpto. Desarrollo Elastix
Visión General
El código fuente.
Parches.
Administrar el desempaquetado, la construcción y la
instalación.
Controla el paquete.
Dpto. Desarrollo Elastix
Archivo Spec
Todo lo que se hace con el paquete se encuentra
aquí.
Mantiene toda la información junta.
Provee de información.
Controla la construcción del paquete
Dpto. Desarrollo Elastix
Estructura RPM Elastix-
Addon
Dpto. Desarrollo Elastix
Estructura RPM-Elastix-Addon
El source debe tener la siguiente estructura:
Dpto. Desarrollo Elastix
NOMBREMODULO
-->modules
-->setup
-->menu.xml
Estructura RPM-Elastix-Addon
El source debe tener la siguiente estructura:
Dpto. Desarrollo Elastix
-->modules
-->moduloaddon
-->setup
-->delete
-->nombremoduloaddon
-->#number_nombremoduloaddon.sql
-->install
-->nombremoduloaddon
-->#number_schema.sql
-->update
-->nombremoduloaddon
-->version_sql
-->#number_#lastVersion_#newVersion.sql
-->db.info
-->menu.xml
Archivo: db.info
[myDBSqlite]
ignore_backup = no
engine = sqlite3
path = /var/www/db
deletable = no
[myDBMysql]
ignore_backup = no
engine = mysql
path = /var/lib/mysql
deletable = no
Dpto. Desarrollo Elastix
Archivo: menu.xml
<?xml version="1.0" encoding="UTF-8"?>
<module>
<menulist>
<menuitem menuid="userListTest"
desc="Users List Test"
parent="" module="no" link=""
order="8"></menuitem>
<menuitem menuid="user_list"
desc="User List"
parent="userListTest" module="yes"
link="" order="1">
<permissions>
<group id="1"
name="administrator" desc="total
access"></group>
</permissions>
</menuitem>
</menulist>
</module>
Dpto. Desarrollo Elastix
Ejemplo de Archivo SPEC.. (1/4)
%define modname usertest
Summary: Elastix Module Example
Name: elastix-%{modname}
Version: 2.4.0
Release: 1
License: GPL
Group: Applications/System
Source0: %{modname}_%{version}-%{release}.tgz
BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildArch: noarch
Prereq: elastix-framework >= 2.4.0-10
%description
Elastix Module Example
%prep
%setup -n %{modname}
%install
rm -rf $RPM_BUILD_ROOT
# Files provided by all Elastix modules
mkdir -p $RPM_BUILD_ROOT/var/www/html/
mv modules/$RPM_BUILD_ROOT/var/www/html/
# The following folder should contain all the data
that is required by the installer,
Dpto. Desarrollo Elastix
Ejemplo de Archivo SPEC.. (2/4)
# that cannot be handled by RPM.
mkdir -p
$RPM_BUILD_ROOT/usr/share/elastix/module_installer/%{
name}-%{version}-%{release}/
mv
setup/$RPM_BUILD_ROOT/usr/share/elastix/module_instal
ler/%{name}-%{version}-%{release}/
mv menu.xml
$RPM_BUILD_ROOT/usr/share/elastix/module_installer/%{
name}-%{version}-%{release}/
%pre
mkdir -p /usr/share/elastix/module_installer/%{name}-
%{version}-%{release}/
touch /usr/share/elastix/module_installer/%{name}-
%{version}-%{release}/preversion_%{modname}.info
if [ $1 -eq 2 ]; then
rpm -q --queryformat='%{VERSION}-%{RELEASE}'
%{name} >
/usr/share/elastix/module_installer/%{name}-
%{version}-%{release}/preversion_%{modname}.info
fi
%post
pathModule="/usr/share/elastix/module_installer/%{nam
e}-%{version}-%{release}"
# Run installer script to fix up ACLs and add module
to Elastix menus.
elastix-menumerge $pathModule/menu.xml
Dpto. Desarrollo Elastix
Ejemplo de Archivo SPEC.. (3/4)
pathSQLiteDB="/var/www/db"
mkdir -p $pathSQLiteDB
preversion=`cat
$pathModule/preversion_%{modname}.info`
if [ $1 -eq 1 ]; then #install
# The installer database
elastix-dbprocess "install"
"$pathModule/setup/db"
elif [ $1 -eq 2 ]; then #update
elastix-dbprocess "update"
"$pathModule/setup/db" "$preversion"
fi
%clean
rm -rf $RPM_BUILD_ROOT
%preun
if [ $1 -eq 0 ] ; then # Validation for desinstall
this rpm
echo "Delete example menus"
elastix-menuremove "%{modname}"
# Here you should call to elastix-dbprocess for
deleting, the same way that it was for install, just
that instead of word “install” goes word
#“delete”. But this is not often used due to
the databases usually are not deleted.
fi
Dpto. Desarrollo Elastix
Ejemplo de Archivo SPEC.. (4/4)
%files
%defattr(-, asterisk, asterisk)
%{_localstatedir}/www/html/*
/usr/share/elastix/module_installer/*
%changelog
* Wed Aug 27 2014 Luis Abarca Villacis
<labarca@palosanto.com> 2.4.0-1
Initial version.
Dpto. Desarrollo Elastix
Pasos Finales
Dpto. Desarrollo Elastix
Pasos Finales
Una vez elaborado el RPM debe enviarlo a nuestro
Departamento de Addons.
Para mas información visite http://addons.elastix.org/
Dpto. Desarrollo Elastix
Demostración
Dpto. Desarrollo Elastix
Gracias….
Dpto. Desarrollo Elastix

Más contenido relacionado

La actualidad más candente

Ms dos
Ms dosMs dos
Ms dos
Dilver Diaz
 
Llamadas al sistema de archivos y de ficheros
Llamadas al sistema de archivos y de ficherosLlamadas al sistema de archivos y de ficheros
Llamadas al sistema de archivos y de ficheros
Camilo Pacheco
 
Prueba edu lopez
Prueba edu lopezPrueba edu lopez
Prueba edu lopez
Eduardo Lopez
 
Prueba edu lopez
Prueba edu lopezPrueba edu lopez
Prueba edu lopez
Eduardo Lopez
 
Linux - Jerarquia de Directorios
Linux - Jerarquia de DirectoriosLinux - Jerarquia de Directorios
Linux - Jerarquia de Directorios
Sergio Sanchez
 
Estructura del sistema de archivos de linux
Estructura del sistema de archivos de linuxEstructura del sistema de archivos de linux
Estructura del sistema de archivos de linuxYolanda Mora
 
COMANDOS BASICOS UBUNTU LINUX
COMANDOS BASICOS UBUNTU LINUXCOMANDOS BASICOS UBUNTU LINUX
COMANDOS BASICOS UBUNTU LINUX
Harol Hernan Torres Neuta
 
tipos de archivos y directorios
tipos de archivos y directorios tipos de archivos y directorios
tipos de archivos y directorios
lola-stefy
 
2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol
Fernando Solis
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosPathy1254
 
4 file ownerships and permissions
4 file ownerships and permissions4 file ownerships and permissions
4 file ownerships and permissionscyberleon95
 
COMANDOS EXTERNOS
COMANDOS EXTERNOSCOMANDOS EXTERNOS
COMANDOS EXTERNOS
AlanOcampoRojas
 
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.comADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
{|::::::. ELDAVAN .:::::::|}
 

La actualidad más candente (17)

Ms dos
Ms dosMs dos
Ms dos
 
Llamadas al sistema de archivos y de ficheros
Llamadas al sistema de archivos y de ficherosLlamadas al sistema de archivos y de ficheros
Llamadas al sistema de archivos y de ficheros
 
Prueba edu lopez
Prueba edu lopezPrueba edu lopez
Prueba edu lopez
 
Prueba edu lopez
Prueba edu lopezPrueba edu lopez
Prueba edu lopez
 
Linux - Jerarquia de Directorios
Linux - Jerarquia de DirectoriosLinux - Jerarquia de Directorios
Linux - Jerarquia de Directorios
 
Estructura del sistema de archivos de linux
Estructura del sistema de archivos de linuxEstructura del sistema de archivos de linux
Estructura del sistema de archivos de linux
 
MS-DOS.
MS-DOS.MS-DOS.
MS-DOS.
 
COMANDOS BASICOS UBUNTU LINUX
COMANDOS BASICOS UBUNTU LINUXCOMANDOS BASICOS UBUNTU LINUX
COMANDOS BASICOS UBUNTU LINUX
 
tipos de archivos y directorios
tipos de archivos y directorios tipos de archivos y directorios
tipos de archivos y directorios
 
2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
4 file ownerships and permissions
4 file ownerships and permissions4 file ownerships and permissions
4 file ownerships and permissions
 
1 estructura del sistema de archivos
1  estructura del sistema de archivos1  estructura del sistema de archivos
1 estructura del sistema de archivos
 
Sistema de ficheros
Sistema de ficherosSistema de ficheros
Sistema de ficheros
 
COMANDOS EXTERNOS
COMANDOS EXTERNOSCOMANDOS EXTERNOS
COMANDOS EXTERNOS
 
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.comADMINISTRACION DE PAQUETES ::: http://leymebamba.com
ADMINISTRACION DE PAQUETES ::: http://leymebamba.com
 
Unix 3.4
Unix 3.4Unix 3.4
Unix 3.4
 

Similar a Pasos esenciales para generar el RPM de tu Elastix Addon

Curso Basico Ponencia 1
Curso Basico Ponencia 1Curso Basico Ponencia 1
Curso Basico Ponencia 1Antonio Durán
 
Rpm taller - Fudcon Córdoba 2015
Rpm taller - Fudcon Córdoba 2015Rpm taller - Fudcon Córdoba 2015
Rpm taller - Fudcon Córdoba 2015
Richzendy Contreras
 
Openldap
OpenldapOpenldap
Openldap
ZOniia ZOmare
 
1 estructura del sistema de archivos
1  estructura del sistema de archivos1  estructura del sistema de archivos
1 estructura del sistema de archivosAprende Viendo
 
Estructura de linux
Estructura de linuxEstructura de linux
Estructura de linux
garfo999
 
Empaquetamiento de RPM
Empaquetamiento de RPMEmpaquetamiento de RPM
Empaquetamiento de RPM
Richzendy Contreras
 
Madrid devops empaquetamientodeb_i
Madrid devops empaquetamientodeb_iMadrid devops empaquetamientodeb_i
Madrid devops empaquetamientodeb_i
Eduardo Ferro Aldama
 
Administracion de software en debian y derivados (comandos) taringa!
Administracion de software en debian y derivados (comandos)   taringa!Administracion de software en debian y derivados (comandos)   taringa!
Administracion de software en debian y derivados (comandos) taringa!
Frank Davila
 
Debian.pdf
Debian.pdfDebian.pdf
Debian.pdf
ssuser52a0c4
 
Clase3 (consola linux)
Clase3 (consola linux)Clase3 (consola linux)
Clase3 (consola linux)
Miguel Eduardo Luces
 
Estructura de directorios minix
Estructura de directorios minixEstructura de directorios minix
Estructura de directorios minix
Marco Antonio
 
Linux ud10 - gestion del software
Linux   ud10 - gestion del softwareLinux   ud10 - gestion del software
Linux ud10 - gestion del softwareJavier Muñoz
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUX
Jose Pla
 
Distribucion_aplicaciones
Distribucion_aplicacionesDistribucion_aplicaciones
Distribucion_aplicacionesJuanjo Marin
 
gestio de paquetes linux
gestio de paquetes linuxgestio de paquetes linux
gestio de paquetes linux
Pablo Mamani
 
Sistemas de ficheros
Sistemas de ficherosSistemas de ficheros
Sistemas de ficherosdaniimc
 
Ant tutorial
Ant tutorialAnt tutorial
Ant tutorial
Antonio Paiva
 

Similar a Pasos esenciales para generar el RPM de tu Elastix Addon (20)

Curso Basico Ponencia 1
Curso Basico Ponencia 1Curso Basico Ponencia 1
Curso Basico Ponencia 1
 
Rpm taller - Fudcon Córdoba 2015
Rpm taller - Fudcon Córdoba 2015Rpm taller - Fudcon Córdoba 2015
Rpm taller - Fudcon Córdoba 2015
 
Openldap
OpenldapOpenldap
Openldap
 
1 estructura del sistema de archivos
1  estructura del sistema de archivos1  estructura del sistema de archivos
1 estructura del sistema de archivos
 
Estructura de linux
Estructura de linuxEstructura de linux
Estructura de linux
 
Empaquetamiento de RPM
Empaquetamiento de RPMEmpaquetamiento de RPM
Empaquetamiento de RPM
 
Madrid devops empaquetamientodeb_i
Madrid devops empaquetamientodeb_iMadrid devops empaquetamientodeb_i
Madrid devops empaquetamientodeb_i
 
Administracion de software en debian y derivados (comandos) taringa!
Administracion de software en debian y derivados (comandos)   taringa!Administracion de software en debian y derivados (comandos)   taringa!
Administracion de software en debian y derivados (comandos) taringa!
 
Debian.pdf
Debian.pdfDebian.pdf
Debian.pdf
 
Clase3 (consola linux)
Clase3 (consola linux)Clase3 (consola linux)
Clase3 (consola linux)
 
16 fhsasoitson
16 fhsasoitson16 fhsasoitson
16 fhsasoitson
 
Estructura de directorios minix
Estructura de directorios minixEstructura de directorios minix
Estructura de directorios minix
 
Linux ud10 - gestion del software
Linux   ud10 - gestion del softwareLinux   ud10 - gestion del software
Linux ud10 - gestion del software
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUX
 
Distribucion_aplicaciones
Distribucion_aplicacionesDistribucion_aplicaciones
Distribucion_aplicaciones
 
Actividad3.4
Actividad3.4Actividad3.4
Actividad3.4
 
gestio de paquetes linux
gestio de paquetes linuxgestio de paquetes linux
gestio de paquetes linux
 
Sistemas de ficheros
Sistemas de ficherosSistemas de ficheros
Sistemas de ficheros
 
Ant tutorial
Ant tutorialAnt tutorial
Ant tutorial
 
Unix 3.4
Unix 3.4Unix 3.4
Unix 3.4
 

Más de PaloSanto Solutions

Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
PaloSanto Solutions
 
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
PaloSanto Solutions
 
Innovative technology for universal communication designed to involve the (he...
Innovative technology for universal communication designed to involve the (he...Innovative technology for universal communication designed to involve the (he...
Innovative technology for universal communication designed to involve the (he...
PaloSanto Solutions
 
Queuemetrics esencial, de la implementación a reportes avanzadas
Queuemetrics esencial, de la implementación a reportes avanzadasQueuemetrics esencial, de la implementación a reportes avanzadas
Queuemetrics esencial, de la implementación a reportes avanzadas
PaloSanto Solutions
 
La evolución de la telefonía IP a comunicaciones unificadas
La evolución de la telefonía IP a comunicaciones unificadasLa evolución de la telefonía IP a comunicaciones unificadas
La evolución de la telefonía IP a comunicaciones unificadas
PaloSanto Solutions
 
WebRTC … ¡vamos a discar!
WebRTC … ¡vamos a discar!WebRTC … ¡vamos a discar!
WebRTC … ¡vamos a discar!
PaloSanto Solutions
 
Integrando encuestas automáticas con iSurveyX
Integrando encuestas automáticas con iSurveyXIntegrando encuestas automáticas con iSurveyX
Integrando encuestas automáticas con iSurveyX
PaloSanto Solutions
 
Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MT
PaloSanto Solutions
 
Todo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBXTodo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBX
PaloSanto Solutions
 
Gestión de la Información de Desempeño con OpenNMS
Gestión de la Información de Desempeño con OpenNMSGestión de la Información de Desempeño con OpenNMS
Gestión de la Información de Desempeño con OpenNMS
PaloSanto Solutions
 
Escalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIPEscalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIP
PaloSanto Solutions
 
Elastix unified communications server cookbook
Elastix unified communications server cookbookElastix unified communications server cookbook
Elastix unified communications server cookbook
PaloSanto Solutions
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detallado
PaloSanto Solutions
 
Dynamic calls with Text To Speech
Dynamic calls with Text To SpeechDynamic calls with Text To Speech
Dynamic calls with Text To Speech
PaloSanto Solutions
 
Proceso de migración de telefonía tradicional a Elastix (Caso)
Proceso de migración de telefonía tradicional a Elastix (Caso)Proceso de migración de telefonía tradicional a Elastix (Caso)
Proceso de migración de telefonía tradicional a Elastix (Caso)
PaloSanto Solutions
 
Building a new ecosystem for interoperable communications
Building a new ecosystem for interoperable communicationsBuilding a new ecosystem for interoperable communications
Building a new ecosystem for interoperable communications
PaloSanto Solutions
 
Asterisk: the future is at REST
Asterisk: the future is at RESTAsterisk: the future is at REST
Asterisk: the future is at REST
PaloSanto Solutions
 
Presentacion Hardware Elastix 2015 - Colombia
Presentacion Hardware Elastix 2015 - Colombia Presentacion Hardware Elastix 2015 - Colombia
Presentacion Hardware Elastix 2015 - Colombia
PaloSanto Solutions
 
Voicemail Avanzado
Voicemail AvanzadoVoicemail Avanzado
Voicemail Avanzado
PaloSanto Solutions
 
Módulo de Alta Disponibilidad de Elastix
Módulo de Alta Disponibilidad de ElastixMódulo de Alta Disponibilidad de Elastix
Módulo de Alta Disponibilidad de Elastix
PaloSanto Solutions
 

Más de PaloSanto Solutions (20)

Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
Tres componentes fundamentales de un buen PBX IP: seguridad, alta disponibili...
 
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
 
Innovative technology for universal communication designed to involve the (he...
Innovative technology for universal communication designed to involve the (he...Innovative technology for universal communication designed to involve the (he...
Innovative technology for universal communication designed to involve the (he...
 
Queuemetrics esencial, de la implementación a reportes avanzadas
Queuemetrics esencial, de la implementación a reportes avanzadasQueuemetrics esencial, de la implementación a reportes avanzadas
Queuemetrics esencial, de la implementación a reportes avanzadas
 
La evolución de la telefonía IP a comunicaciones unificadas
La evolución de la telefonía IP a comunicaciones unificadasLa evolución de la telefonía IP a comunicaciones unificadas
La evolución de la telefonía IP a comunicaciones unificadas
 
WebRTC … ¡vamos a discar!
WebRTC … ¡vamos a discar!WebRTC … ¡vamos a discar!
WebRTC … ¡vamos a discar!
 
Integrando encuestas automáticas con iSurveyX
Integrando encuestas automáticas con iSurveyXIntegrando encuestas automáticas con iSurveyX
Integrando encuestas automáticas con iSurveyX
 
Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MT
 
Todo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBXTodo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBX
 
Gestión de la Información de Desempeño con OpenNMS
Gestión de la Información de Desempeño con OpenNMSGestión de la Información de Desempeño con OpenNMS
Gestión de la Información de Desempeño con OpenNMS
 
Escalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIPEscalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIP
 
Elastix unified communications server cookbook
Elastix unified communications server cookbookElastix unified communications server cookbook
Elastix unified communications server cookbook
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detallado
 
Dynamic calls with Text To Speech
Dynamic calls with Text To SpeechDynamic calls with Text To Speech
Dynamic calls with Text To Speech
 
Proceso de migración de telefonía tradicional a Elastix (Caso)
Proceso de migración de telefonía tradicional a Elastix (Caso)Proceso de migración de telefonía tradicional a Elastix (Caso)
Proceso de migración de telefonía tradicional a Elastix (Caso)
 
Building a new ecosystem for interoperable communications
Building a new ecosystem for interoperable communicationsBuilding a new ecosystem for interoperable communications
Building a new ecosystem for interoperable communications
 
Asterisk: the future is at REST
Asterisk: the future is at RESTAsterisk: the future is at REST
Asterisk: the future is at REST
 
Presentacion Hardware Elastix 2015 - Colombia
Presentacion Hardware Elastix 2015 - Colombia Presentacion Hardware Elastix 2015 - Colombia
Presentacion Hardware Elastix 2015 - Colombia
 
Voicemail Avanzado
Voicemail AvanzadoVoicemail Avanzado
Voicemail Avanzado
 
Módulo de Alta Disponibilidad de Elastix
Módulo de Alta Disponibilidad de ElastixMódulo de Alta Disponibilidad de Elastix
Módulo de Alta Disponibilidad de Elastix
 

Último

modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
Carlos Carlosnoemi
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
julio05042006
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 

Último (20)

modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
Todo sobre Minirobotica. Revista Saber Electronica
Todo sobre  Minirobotica. Revista Saber ElectronicaTodo sobre  Minirobotica. Revista Saber Electronica
Todo sobre Minirobotica. Revista Saber Electronica
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
herramientas de sitio web 3.0 2024
herramientas de sitio web 3.0  2024herramientas de sitio web 3.0  2024
herramientas de sitio web 3.0 2024
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 

Pasos esenciales para generar el RPM de tu Elastix Addon

  • 1. PASOS ESENCIALES PARA GENERAR EL RPM DE TU ELASTIX-ADDON Dpto. Desarrollo Elastix Luis Abarca
  • 2. RPM Dpto. Desarrollo Elastix Un rpm es una forma de referirse al formato de archivos manejado por el Administrador de Paquetes RPM, a los propios archivos con este formato, a software empaquetado en estos archivos, y al propio administrador de paquetes en si. Nos referiremos en esta ocasión como rpms al software empaquetado bajo este tipo de formato.
  • 3. Estructura de un entorno de Generación Básico Dpto Desarrollo Elastix
  • 4. Estructura de un Entorno ~/rpmbuild/SOURCES Paquete fuente prístina (Ej:, tarballs y parches). ~/rpmbuild/BUILD Los archivos fuentes son desempaquetados y compilados en un subdirectorio dentro de este. ~/rpmbuild/BUILDROOT Los archivos son instalados bajo este directorio durante la etapa %install. ~/rpmbuild/RPMS Los RPM binarios son creados y almacenados bajo este directorio. ~/rpmbuild/SRPMS Los RPM fuente son creados y almacenados bajo este directorio. ~/rpmbuild/SPECS Archivos de especificaciones RPM (.spec). Dpto. Desarrollo Elastix
  • 5. Generalidades al construir un RPM Dpto. Desarrollo Elastix
  • 6. Visión General El código fuente. Parches. Administrar el desempaquetado, la construcción y la instalación. Controla el paquete. Dpto. Desarrollo Elastix
  • 7. Archivo Spec Todo lo que se hace con el paquete se encuentra aquí. Mantiene toda la información junta. Provee de información. Controla la construcción del paquete Dpto. Desarrollo Elastix
  • 9. Estructura RPM-Elastix-Addon El source debe tener la siguiente estructura: Dpto. Desarrollo Elastix NOMBREMODULO -->modules -->setup -->menu.xml
  • 10. Estructura RPM-Elastix-Addon El source debe tener la siguiente estructura: Dpto. Desarrollo Elastix -->modules -->moduloaddon -->setup -->delete -->nombremoduloaddon -->#number_nombremoduloaddon.sql -->install -->nombremoduloaddon -->#number_schema.sql -->update -->nombremoduloaddon -->version_sql -->#number_#lastVersion_#newVersion.sql -->db.info -->menu.xml
  • 11. Archivo: db.info [myDBSqlite] ignore_backup = no engine = sqlite3 path = /var/www/db deletable = no [myDBMysql] ignore_backup = no engine = mysql path = /var/lib/mysql deletable = no Dpto. Desarrollo Elastix
  • 12. Archivo: menu.xml <?xml version="1.0" encoding="UTF-8"?> <module> <menulist> <menuitem menuid="userListTest" desc="Users List Test" parent="" module="no" link="" order="8"></menuitem> <menuitem menuid="user_list" desc="User List" parent="userListTest" module="yes" link="" order="1"> <permissions> <group id="1" name="administrator" desc="total access"></group> </permissions> </menuitem> </menulist> </module> Dpto. Desarrollo Elastix
  • 13. Ejemplo de Archivo SPEC.. (1/4) %define modname usertest Summary: Elastix Module Example Name: elastix-%{modname} Version: 2.4.0 Release: 1 License: GPL Group: Applications/System Source0: %{modname}_%{version}-%{release}.tgz BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildArch: noarch Prereq: elastix-framework >= 2.4.0-10 %description Elastix Module Example %prep %setup -n %{modname} %install rm -rf $RPM_BUILD_ROOT # Files provided by all Elastix modules mkdir -p $RPM_BUILD_ROOT/var/www/html/ mv modules/$RPM_BUILD_ROOT/var/www/html/ # The following folder should contain all the data that is required by the installer, Dpto. Desarrollo Elastix
  • 14. Ejemplo de Archivo SPEC.. (2/4) # that cannot be handled by RPM. mkdir -p $RPM_BUILD_ROOT/usr/share/elastix/module_installer/%{ name}-%{version}-%{release}/ mv setup/$RPM_BUILD_ROOT/usr/share/elastix/module_instal ler/%{name}-%{version}-%{release}/ mv menu.xml $RPM_BUILD_ROOT/usr/share/elastix/module_installer/%{ name}-%{version}-%{release}/ %pre mkdir -p /usr/share/elastix/module_installer/%{name}- %{version}-%{release}/ touch /usr/share/elastix/module_installer/%{name}- %{version}-%{release}/preversion_%{modname}.info if [ $1 -eq 2 ]; then rpm -q --queryformat='%{VERSION}-%{RELEASE}' %{name} > /usr/share/elastix/module_installer/%{name}- %{version}-%{release}/preversion_%{modname}.info fi %post pathModule="/usr/share/elastix/module_installer/%{nam e}-%{version}-%{release}" # Run installer script to fix up ACLs and add module to Elastix menus. elastix-menumerge $pathModule/menu.xml Dpto. Desarrollo Elastix
  • 15. Ejemplo de Archivo SPEC.. (3/4) pathSQLiteDB="/var/www/db" mkdir -p $pathSQLiteDB preversion=`cat $pathModule/preversion_%{modname}.info` if [ $1 -eq 1 ]; then #install # The installer database elastix-dbprocess "install" "$pathModule/setup/db" elif [ $1 -eq 2 ]; then #update elastix-dbprocess "update" "$pathModule/setup/db" "$preversion" fi %clean rm -rf $RPM_BUILD_ROOT %preun if [ $1 -eq 0 ] ; then # Validation for desinstall this rpm echo "Delete example menus" elastix-menuremove "%{modname}" # Here you should call to elastix-dbprocess for deleting, the same way that it was for install, just that instead of word “install” goes word #“delete”. But this is not often used due to the databases usually are not deleted. fi Dpto. Desarrollo Elastix
  • 16. Ejemplo de Archivo SPEC.. (4/4) %files %defattr(-, asterisk, asterisk) %{_localstatedir}/www/html/* /usr/share/elastix/module_installer/* %changelog * Wed Aug 27 2014 Luis Abarca Villacis <labarca@palosanto.com> 2.4.0-1 Initial version. Dpto. Desarrollo Elastix
  • 18. Pasos Finales Una vez elaborado el RPM debe enviarlo a nuestro Departamento de Addons. Para mas información visite http://addons.elastix.org/ Dpto. Desarrollo Elastix