Pues algo más de info googleando...
http://blogantastico.blogspot.com/2006/12/creando-paquetes-ipk-para-la-fonera.html
Creando paquetes ipk para la fonera
Extracto biogénico de la mente de Nitz a las 17:55
Bueno, pues aún no teniéndola leo todo lo que pillo sobre el tema.
Para empezar, podemos decir que la fonera tiene un procesador de 32bits MIPS de clase R4Kc (fuente) y un Linux 2.4.32 compilado especialmente para ese procesador. Por eso mismo no podemos usar programas compilados en una plataforma x86, sino que hay que compilarlos para la fonera (de eso hablaré otro día . Lo que sí que podemos hacer por el momento es crear bash scripts y ejecutarlos.
El problema viene a la hora de crear scripts que dependan de otros archivos (como por ejemplo mi
fpt, que dependía de que el directorio
/var/cache/fpt y el archivo /etc/fpt/sources.list estubieran creados). O tambien cuando intentamos instalar una libreria
¿Dónde la dejamos?. Para eso existen los paquetes ipk
¿Como podemos hacer un paquete con todo lo necesario? Pues siguiedo estos pasos...
Para mi practica voy a empaquetar mi propio script, con los directorios y los archivos necesarios.
Empecemos preparando el entorno
Creamos un directorio que será nuestra raiz de trabajo. Por ejemplo, en ~/paquete-fpt:
$ cd ~
$ mkdir paquete-fpt
$ cd paquete-fpt/
$ pwd
/home/user/paquete-fpt
Ahora creamos dos directorios: control y data
$ mkdir control
$ mkdir data
En data meteremos todos los archivos que hagan referencia a nuestro programa, pero siempre en una estructura de directorios como la de la fonera (osea, que si el archivo X va en el directorio /var/run/ de la fonera, crearemos el directorio
~/paquete-fpt/data/var/run/ y lo meteremos ahí).
Por otra parte, en el directorio control introduciremos toda la información que haga referencia a nuestro paquete (version, dependencias, autor...).
Finalmente debemos crear un ultimo archivo llamado debian-binary que contenga "2.0". Veamos como se crea:
$ echo 2.0 > debian-binary
Hecho
Rellenando el directorio data
Bien, para empezar nos metemos en el directorio data:
$ cd data
Ahora creamos los directorios donde metermos nuestros archivos. En total serán:
bin/ - Aquí meteremos el script
var/cache/fpt/ - Aquí no meteremos nada, ya que el script usa ese directorio solo para depositar los ipk descargados
etc/fpt/ - En este directorio meteremos el sources.list con la lista de directorios.
Procedamos:
$ mkdir bin
$ mkdir -p var/cache/fpt
$ mkdir -p etc/fpt
Con todos los directorios creados, vamos a crear ahora el sources.list. ¿Qué url's quereis poner? Yo pondre las mias, que son casi las únicas que conozco por el momento (origen de porqué las conozco) (pensad que aún no tengo la fonera
$ cd etc/fpt
$ echo http://fon.rogue.be/lafonera-experimental > sources.list
$ echo http://fon.rogue.be/lafonera/ >> sources.list
$ echo http://olsrexperiment.de/sven-ola/fonera >> sources.list
(Lo sé, estos tres "echo" podiamos haberlos evitado con echo -e
http://fon.rogue.be/lafonera-experimental&...a/fonera").
¡Archivo de repositorios creado! Ahora copiamos el script a su respectivo directorio (bin/):
(suponiendo que esté en ~/codes/fpt el original)
$ cd ../..
$ pwd
/home/user/paquete-fpt
$ cd bin
$ cp ~/codes/fpt .
Hecho
El archivo control
Esta parte es la más dificil (comparada con las dos tonterias que hemos hecho antes). Aquí tenemos que definir todo nuestro paquete. Empecemos entrando en el directorio control:
$ cd ../..
$ pwd
/home/user/paquete-fpt
$ cd control
Ahora hay que crear un archivo con todo lo necesario. Iremos por partes.
1) El nombre del paquete. Vamos a llamarlo "fpt", así que creamos la primera linea del archivo:
$ echo Package: fpt > control
2) La versión. En el momento de escribir este articulo andaba por la 0.1.2, así que la introducimos en la siguiente linea:
$ echo Version: 0.1.2 >> control
3) Dependencias. Mmm... como mucho depende de wget y de ipkg (pero poner que depende de ipkg en un paquete ipk que se abre con ipkg es una paradoja, así que solo ponemos wget)
$ echo Depends: wget >> control
ATENCION: Aunque nuestro script no dependa de nada, tenemos que poner almenos una linea Depends vacia, por ejemplo:
$ echo Depends: >> control
4) El código fuente. Esto es opcional, pero si queremos aportar al software libre un granito de arena podemos poner una url o algo. Yo no pongo nada (más que nada porque el mismo script es el código).
$ echo Source: >> control
5) Sección. ¿A qué rama pertenece tu programa? ¿Es una aplicación? ¿Una libreria?. Mi script es una aplicación, así que la pondré en apps.
$ echo Section: apps >> control
6) Prioridad. Le podemos poner "opcional":
$ echo Priority: optional >> control
7) Mantenimiento. ¿Quien mantiene tu script? El mio lo mantiene Nitz, de OpenFon Team, un tio algo feo, pero bueno, supongo que servirá para el cargo.
$ echo Maintainer: Nitz, OpenFon Team >> control

La arquitectura. Todo lo que hagamos para la fonera debe tener una arquitectura mips, por lo tanto:
$ echo Architecture: mips >> control
9) Descripción del programa. Algo así como "Utilidad para instalar paquetes precompilados".
$ echo Description: Utilidad para instalar paquetes precompilados. >> control
Fin
Empaquetando y sirviendo al cliente
Ahora toca comprimir todo y finalmente crear el .ipk.
Empezamos comprimiento el directorio data:
$ cd ..
$ pwd
/home/user/paquete-fpt
$ cd data
$ tar -cvf data.tar.gz bin/ etc/ var/
Ya tenemos un archivo data.tar.gz listo, a por el control.tar.gz
$ cd ..
$ pwd
/home/user/paquete-fpt
$ cd control
$ tar -cvf control.tar.gz control
Y por último creamos el paquete que luego renombraremos a .ipk
$ cd ..
$ pwd
/home/user/paquete-fpt
$ tar -cvf fpt_0.1.2_mips.tar.gz debian-binary data/data.tar.gz control/control.tar.gz
$ mv fpt_0.1.2_mips.tar.gz fpt_0.1.2_mips.ipk
Y ¡zas! ¡En toda la boca! Ya tenemos nuestro paquete