Como crear PBI para PC-BSD

Autor: PC-BSD-ES
ESPAÑA
ESPAÑA | 19-07-2006

Manual en castellano sobre la creacion de paquetes PBI

Información de www.pcbsd.es

1. Directorio del PBI con los binarios y archivos necesarios.
Antes de nada, necesitaremos crear nuestro espacio de trabajo. Yo cree mi espacio en /home/gon/
(mkdr /home/gon/pbi)

Despues tendremos que descargar el paquete tbz de los ports de FreeBSD en:
ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/
Hoy por hoy, packages-6.0-release packages-7-current son las dos posibilidades donde encontrar puertos actualizados.
En este ejemplo nos descargaremos el paquete del programa vlc:





Una vez descargado, extraemos el paquete con el programa que lo descomprime por defecto en PC-BSD, Ark. Descomprimelo en el directorio /home/gon/pbi y create un nuevo directorio con el nombre del programa. En este ejemplo hare el directorio vlc/
( mkdir /home/gon/pbi/vlc )
Veremos que en nuestro directorio se desempaquetara el archivo creando una serie de archivos y de directorios, en nuestro ejemplo veremos los directorios bin/ include/ lib/ man/ share/ y cuatro archivos mas.
El siguiente paso sera abrir el Ark y darle a archivo nuevo. Crearemos el archivo nuevo con la opcion Tar sin compresion, poniendo el nombre de base_changes. Ahora solo queda añadir los archivos a este nuevo .tar
Espero que no de a confusion este paso...Se deben añadir todos los archivos y carpetas que antes se han descomprimido excepto la carpeta bin/
En el ejemplo vemos como se añade al base_changes.tar la carpeta include/ lib/ man/ share/ y los archivos comment,contents,desc y mtree_dirs.
Lo guardamos. Salimos del Ark y vemos que se ha creado el archivo comprimido base_changes. Este archivo ahora tenemos que moverlo a la carpeta bin que se creo en nuestra carpeta del paquete.





Ahora debemos crear los dos scripts para instalar/desinstalar el archivo:
Con el KWrite o el KEdit crearemos un archivo de texto y escribiremos lo siguiente:
#!/bin/sh
cd /usr/local/MyPrograms/$1
tar xvjpf base_changes.tar
rm base_changes.tar


Bajate el script cliqueando aqui!

Y luego lo guardamos en el directorio bin/ de nuestra carpeta creada para el programa, con el nombre de PBI.SetupScript.sh y con el boton derecho, en propiedades, se le da la opcion ejecutable (que no es chmod).


Con el KWrite o el KEdit crearemos otro archivo de texto y escribiremos lo siguiente:
#!/bin/sh
cd /usr/local/MyPrograms
rm -Rf $1



Bajate el script cliqueando aqui!

Y luego lo guardamos en el directorio bin/ de nuestra carpeta creada para el programa, con el nombre de PBI.RemoveScript.sh y con el boton derecho, en propiedades, se le da la opcion ejecutable (que no es chmod).
Acto seguido, vamos a por las librerias. Creamos dentro de nuestro bin/ el directorio lib/ ( mkdir /home/gon/pbi/vlc/bin/lib ).





Ahora desde la consola podremos usar el comando ldd para ver que librerias utiliza, las cuales debemos meter en el directorio que acabamos de crear ( ldd vlc ). Utiliza este comando con todos los binarios que haya en este escritorio, es decir, cuando empaquete el programa 3Ddesktop hice ldd tanto al binario 3ddesk como al 3ddeskd,los dos estaban en bin/ .
El resultado de nuestro ejemplo seria este:
PCBSD# ldd vlc
vlc:
libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x2813f000)
libintl.so.6 => /usr/local/lib/libintl.so.6 (0x2822c000)
libavformat.so => not found (0x0)
libz.so.2 => /lib/libz.so.2 (0x28235000)
libavcodec.so => not found (0x0)
libm.so.3 => /lib/libm.so.3 (0x28245000)
libstdc++.so.4 => /usr/lib/libstdc++.so.4 (0x28260000)
libpthread.so.1 => /usr/lib/libpthread.so.1 (0x28332000)
libc.so.6 => not found (0x0)


Esto nos muestra las librerias que usa.
Copiaremos una a una siguiendo la ruta que nos da para copiarla a nuestro directorio
/home/gon/pbi/vlc/bin/lib/ .
En este caso vemos tres librerias que no encuentra. Eso significa que tenemos que buscarlas ya sea via google o instalando un paquete que tenga esa libreria.
La descargamos y la copiamos en /home/gon/pbi/vlc/bin/lib/
Una vez copiadas todas las librerias, ya que si falta una no funcionara nuestro paquete, es la hora de nuestro paquete PBI Creator.

Podriamos crear un script que recoja el nombre del archivo binario, haga automaticamente el ldd, busque automaticamente las librerias en sus directorios y las copie. Este script te lo puedes bajar aqui!
La forma de usarlo seria con nuestro ejemplo asi:
/home/gon/pbi/vlc/bin/lib.sh vlc
Asi le pasas el parametro del/de los binario/s (vlc) al script,busca las librerias y las copia. Si tienes mas de un binario,tendras que hacerlo con todos y cada uno de ellos. Si te da algun tipo de error al copiar del tipo cp archivo no encontrado, significa q esas librerias donde ha fallado no las ha encontrado y habria q añadirselas manualmente a la carpeta ...../bin/lib

2. Informacion del paquete (Package Info).
Una vez hecho el paso 1. tenemos que abrir el programa PBC. Cuando lo cargas por primera vez el programa, la primera pantalla que saldra tiene unos campos para escribir la informacion sobre el paquete que estas apunto de crear: Package Name (Nombre del Paquete),Package Version (Version del Paquete a crear), Author (Autor del Paquete), Website (Pagina Web).

3. Texto sobre la Licencia de uso (License Text).
Despues de rellenar toda la informacion del paso 2. puedes escoger entre mostrar o no la Licencia mientras el paquete esta instalandose. Este paso no es necesario. Si quieres que la licencia se muestre, marca la casilla Yes (Si) y esta licencia se mostrara antes de instalarse el paquete,siendo necesaria la aceptacion del usuario de la licencia para instalar dicho paquete. Si seleccionas No, la pantalla de la licencia se quitara del instalador.

4. Configuracion del Directorio del Paquete (Directory).
Despues del paso 3. sobre la licencia del paquete, necesitaras configurar el programa para que apunte al directorio que contiene sus binarios y librerias. Seleccionas el directorio en Package Directory (Directorio del Paquete).
En nuestro ejemplo habria que seleccionar el directorio:/home/gon/pbi/vlc/bin/
Despues hay una serie de opciones para adherir las librerias necesarias para el funcionamiento del paquete:
Auto-populate: Es la mejor opcion para los binarios simples,aunque no debe ser usado para scripts de consola o programas que requieran librerias que no se muestren con un simple comando de ldd.
No es recomendado dejar el directorio de la libreria vacio, ya que podras crear el paquete pero no funcionara en otros ordenadores que no tengan tus mismas librerias.
Puedes apuntar a las librerias que necesitas metiendolas en el mismo directorio del paquete que estas haciendo y marcarlo con la opcion de Especificar libreria (Specify library directory).

En nuestro caso, tenemos que escoger la opcion Especificar Libreria y apuntaremos a la carpeta que creamos dentro de bin
( /home/ggon/pbi/vlc/bin/lib/).

5. Opciones del paquete (Package Options).
Despues necesitaras acoplar un icono representativo del paquete que estas haciendo.Este icono aparecera en el menu que controla los PBIs instalados PC-BSD (PCBSD Package Manager) y en el menu Programas del KDE. Una vez seleccionado el icono, selecciona el boton Incluir (Add) para mostrar al PBC que archivos seran ejecutables en el sistema. En la ventana de Incluir (Add), tendras la opcion de decir que el programa siempre se ejecuta como superusuario (root), que se ejecuta abriendo una ventana de la consola de comandos o tambien la opcion de crear o no un icono para el menu y para el escritorio.

6. Creando el paquete (Creating Package).
Una vez ya seleccionado los binarios e iconos del paquete, este programa creara el PBI sin problemas con el mensage Tu archivo ha sido creado en: /directorio/donde/se/creara/el/paquete.pbi (Your file has been created to:/home/.../.../xxx.pbi)



Comprobacion del paquete.
Una vez creado conviene instalarlo en un Sistema PCBSD limpio, para certificar que no tenemos las librerias en nuestro ordenador y que cuando se ejecuta el programa,son las librerias del programa las que son utilizadas.
Muchos fallos de los programas PBI se deben a problemas con las librerias ya que es facil perderse entre ellas.

Subir el paquete PCBSD.es o subirlo a PBIDIR.com
Si ya estamos medianamente seguros de que el paquete funciona, podeis subirlo a esta web y se subira automaticamente a pbidir.com
Si no, podeis subir directamente vosotros el pbi a la web oficial de paquetes, pbidir.com
Cliquear en el link Submit PBI package for approval (Subir un paquete PBI para ser aprobado)
Conectarse luego a este FTP:
ftp://pcbsd.homeunix.org
Username: anonymous
Password:
Y despues registrar el paquete enviado con su descripcion, Comentarios adicionales, Version de Programa y nombre...