Creando PBIs

De WikiGlib

Tabla de contenidos

Introducción

PC-BSD proporciona un sistema de empaquetar aplicaciones denominado PBI(Push Button Installer), el cual permite a los usuarios de una forma muy fácil instalar y eliminar aplicaciones. El formato es fácil de usar y permite a los desarrolladores definir menús,iconos,registrar tipos mime. Este documento pretende ayudar a los desarrolladores a empaquetar sus aplicaciones bajo PBI.

Descarga de mi primer PBI

http://www.4shared.com/file/38728700/4ba49643/cabextract1_2_PV01_pbi.html

http://mx.geocities.com/jacoblinux/cabextract1_2_PV01_pbi.zip

Pre Inicio

Primero hay que descargar el port del sitio oficial de cabextract para FreeBSD.

A continuación en la pagina oficial de búsqueda de ports para FreeBSD:

http://www.freebsd.org/cgi/ports.cgi?query=cabextract&stype=all

Descargar el port:

http://cvsweb.freebsd.org/ports/archivers/cabextract/cabextract.tar.gz?tarball=1

En una terminal descomprimir y teclear el comando make.

Inicio

El primer paso es descargar una copia del programa PBI Creator e instalarlo en PC-BSD.

Después de instalarlo, accede al programa como se muestra en la siguiente imagen:

Imagen:Pbicreatormenu.png

Enseguida aparecerá la ventana principal del empaquetador de PBIs, simplemente haz clic sobre el botón "next" para iniciar.

Configuración del directorio de la aplicación a empaquetar

La aplicación que desees empaquetar para PC-BSD tiene que seguir la siguiente estructura:

En este ejemplo vamos a empaquetar la utilidad cabextract-1.2.

El formato PBI esta diseñado para contener todo,dependencias,imágenes..etc,el mismo paquete.cualquier archivo colocando en el directorio de la aplicación que se va empaquetar sera instalado en /Programs/<ProgramName + ProgramVersion>/, el cual para este ejemplo es: /Programs/Cabextract1.2

El directorio bin es donde normalmente copias todos los archivos binarios o ejecutables.Cuando un usuario ejecuta tu programa el directorio bin es puesto como una ruta primaria para la búsqueda de tu aplicación.

El directorio autolibs es donde el programa PBI Creator copia todas las librerías requeridas a tiempo de ejecución por nuestra aplicación a empaquetar. Todo los programas que se copien en el directorio bin es consultado por el comando ldd para determinar sus requerimientos de librerías y a su vez estas librerías se copiaran al directorio autolibs, de esta forma las aplicaciones tienen todas las librerías necesarias para su uso a tiempo de ejecución.

En este ejemplo también hemos creado varios directorios mas por ejemplo:

  • share, que contiene la documentación de la aplicación.
  • libs, contiene librerías extraordinarias para su uso independiente de la aplicación.

Crear el archivo PBI

Información del programa

Una vez que configuraste todos los archivos que necesitas para tu aplicación, es tiempo de iniciar el programa para empaquetar tu aplicación.

Después que carga el empaquetador, la primera pantalla sera como se muestra en la siguiente imagen:

En este pantalla necesitas especificar información acerca de tu PBI.El nombre y versión que especifiques sera el nombre de tu aplicación durante la instalación por ejemplo: /Programs/Cabextract1.2 .

también el numero de versión del PBI se puede especificar y el cual sera usado en la cadena "PV" del nombre del archivo PBI generado como por ejemplo: Cabextract1.2-PV01.pbi.Esto sirve de mucho para situar las actualizaciones del PBI en ese programa en particular.

El botón que tiene la etiqueta "Load saved preset" permite cargar un archivo "*.pbc" el cual contiene una configuración previa del PBI, al final del proceso se dará opción a crear este archivo PBC.

A continuación haz clic en el botón etiquetado "Next".

Información sobre la licencia de la aplicación

aquí puedes especificar si quieres que el usuario este de acuerdo con la licencia especificada antes de instalar la aplicación.

Simplemente copia y pega el texto de la licencia y escoge "Yes" to "Display License".

A continuación haz clic en el botón etiquetado "Next".

Configuración del directorio del programa y librerías

Ahora es tiempo de seleccionar la ubicación donde se encuentra el directorio que vas a empaquetar.

Después hay que especificar las opciones de las librerías. la opción por omisión es Auto populate library directory en la cual se usara el directorio autolibs. esto ejecutara el comando ldd sobre todos los binarios que están en el directorio bin y posteriormente copia todos los archivos de librería en el directorio autolibs. también si lo deseas puedes copiar las librerías que tu creas necesarias seleccionado la opción: "Specify library directory" y usar otro directorio en tu estructura de directorio.

En la misma pantalla se encuentran 3 botones para configurar 3 scripts que se quieran ejecutar durante el proceso de instalación y eliminación de los PBIs y son usados de la siguiente forma:

  • PBI.FirstRun.sh - se ejecuta después de que el usuario inicia el proceso de instalación(pero antes de que se instalen los archivos en tu sistema) lo cual es de mucha ayuda cuando quieres eliminar previas instalaciones de la misma aplicación o verificar opciones de compatibilidad.
  • PBI.SetupScript.sh - se ejecuta después de que se instalo tu aplicación y es usado para un proceso de "post-instalación" como por ejemplo crear ligas simbólicas, preguntar por opciones adicionales de configuración.
  • PBI.RemoveScript.sh - Este script se ejecuta cuando tu aplicación esta siendo eliminada por el usuario y permite eliminar cualquier dato que tu aplicación pueda dejar en el espacio en disco duro.

revisión del primer script PBI.FirstRun.sh:

El script es muy sencillo para este ejemplo ya que solo se asegura que el programa cabextract no este instalado en el sistema del usuario. una salida con un estado de 2 indica al instalador PBI que NO debe continuar con la instalación y debe terminar. hay algunas variables importante a tener en cuenta y que puedes usar en este script:

  • $PROGDIR - Es el nombre del directorio de tu aplicación, la cual esta siendo instalada a por ejemplo: /Programs/${PROGDIR}, la cual debería ser /Programs/Cabextract1.2 para nuestro caso.
  • $USERNAME - Es el nombre/usuario de quien este ejecutando la instalación.
  • $INSTALLMODE - Establece a interfaz en modo texto o interfaz gráfica, dependiendo de como tu instalación se llevara a cabo. algunos desarrolladores desean una instalación en modo texto y esto permite determinar que tipo de instalación se esta usando.

revisión del segundo script PBI.SetupScript.sh:

Este script hace uso de la variable ${PROGDIR} para asegurarnos de que los programas estarán disponibles para todos los usuarios del sistema. Primero se crean las ligas del directorio oculto .sbin/, el cual es un directorio especial que el programa PBI crea durante la instalación.cualquier programa que especifiques en la siguiente imagen como menú tendrá un script creado con el mismo nombre en el directorio .sbin/ situado en el directorio de aplicaciones. este script establece el acceso al directorio autolibs y habilita la utilidad CrashHandler a ejecutar tu aplicación.

revisión del tercer script PBI.RemoveScript.sh:

Este script es similar a los 2 anteriores scripts y en este caso solo necesitamos eliminar las ligas que se crearon en el segundo script.

Menús e iconos para el escritorio

Después de terminar con los scripts, hay que configurar las opciones para los menús, iconos y algunas características mas.

En esta pantalla hay varias opciones para tu menú, por ejemplo puedes cambiar el icono para tu programa, puedes establecer el nombre de tu programa asi como la ruta donde se encuentra el programa que va empaquetar.

También puedes omitir el icono de tu programa, si va tener un menú de acceso en el menú principal de KDE o configurarlo como submenu, en fin hay una serie de opciones que te permiten personalizar el tipo de instalación para tu paquete PBI.

Tipos MIME

Si necesitamos registrar por ejemplo las extensiones *.cab y que cabextract automáticamente abra esos archivos.

Crear el archivo PBI y Preset

A continuación creamos el PBI y esperamos que termine.quizá te interese guardar la configuración(preset) que se hizo para este paquete, si es así solo haz clic en el botón save preset y si vuelves a empaquetar cabextract u otra aplicación pues te puedes valer de la configuración guardada en el archivo preset y listo.

Imagen:Pbicreate12.png

Herramientas personales