• Hola Invitado, nos gustaría recordarte que mantener este sitio en línea conlleva unos gastos mensuales y anuales.

    Sin vuestra ayuda mensual no es posible seguir en pie, no hay mucho más que contar.

    Si quieres colaborar para que sea posible por lo menos seguir en pie como comunidad, puedes hacerlo mediante alguno de los métodos disponibles en esta página: https://www.lonasdigital.com/donaciones/

    Recuerda que si necesitas invitación para acceder al foro, puedes solicitarla en nuestro Grupo de Telegram


Creacion ipk enigma2 con nautilus

[Tutorial] 

††LUCIFER††

En este manual vamos a tratar como crear un ipk facilmente con ubuntu 14.04 a traves de nautilus.

1. PREPARACION DE LOS ARCHIVOS

En este caso lo vamos a realizar por ejemplo para crear un ipk de una emuladora por ejemplo CCcam.2.1.3., y en este caso utilizando LBpanel, por lo que tendriamos que tener en cuenta que en nuestro receptor:

* El binario de la emulador o sea CCcam.2.1.3 se ubica en /usr/bin

* Su archivo de configuracion se ubica en /etc

* El script para arrancar la emuladora se ubica en /usr/CamEmu.

* El ipk que vamos a crear queremos que se llame enigma2-plugin-lbcam-CCcam_2.1.3_all

Bueno pues sabiendo esto:

a/ creamos por ejemplo una carpeta llamada paquetes-ipk

ip1.png


b/ En el interior de esta creamos una carpeta con el nombre que deseamos que se llame el ipk como dijimos enigma2-plugin-lbcam-CCcam_2.1.3_all, pues creamos dicha carpeta:

ip2.png



2. ESTRUCTURA CONTENIDO CARPETA IPK

Tras los pasos anteriores ahora vamos a crear la estructura de archivos que van en el interior de la carpeta enigma2-plugin-lbcam-CCcam_2.1.3_all:

a/ Creamos en el interior una carpeta llamada DEBIAN, dentro de esta carpeta iran ubicados los archivos control del ipk, o sea los encargados de los procesos de instalacion de los archivos:

ip3.png


* Los archivos que iran en el interior de esta carpeta DEBIAN para este ejemplo simple serian:

- archivo llamado control que estaria compuesto:

Código:
Package: enigma2-plugin-lbcam-CCcam
Version:2.1.3
Section: base
Priority: optional
Architecture: all
Maintainer: linuxbox
Description: CCcam.2.1.3
Source: n/a
Homepage: linuxbox

Lo mas importante a tener en cuenta que si la carpeta que hemos creado, que es el nombre del ipk en este caso es: enigma2-plugin-lbcam-CCcam_2.1.3_all

Pues como vemos en el archivo control:

Package debe ser enigma2-plugin-lbcam-CCcam
version debe ser 2.1.3
Arhitecture debe ser all

Este archivo seria el indispensable que deber ir, luego dentro de la carpeta DEBIAN junto control podemos añadir otros archivos complementarios, en este caso pues vamos añadir:

archivo llamado preinst

Este archivo se utiliza para ejecutar una accion antes de instalar los archivos de nuestro paquete ipk, en este caso lo vamos a utilizar para que antes de instalar los archivos pues compruebe si existe la emuladora ya instalada CCcam.2.1.3 y en caso de que existe pues la borre, para ellos el archivo seria:

Código:
#!/bin/sh
echo "Se va a comprobar si existe el Fichero CCcam.2.1.3"
if [ -f /usr/bin/CCcam.2.1.3 ]
then
rm /usr/bin/CCcam.2.1.3> /dev/null 2>&1
echo "Fichero CCcam.2.1.3 ha sido borrado"
echo "Se procede instalacion IPK......."
else
echo "El fichero CCcam.2.1.3 no existe"
echo "Se procede instalacion IPK......."
fi
exit 0

archivo llamado conffiles

Este archivo se utiliza para no sobreescribir archivo en caso de que ya exista en el receptor de esta manera, si nosotros ya previamente tenemos en nuestro receptor por ejemplo el archivo CCcam.cfg con nuestras lineas, pues que al introducir IPK pues no lo sobreescriba, para ello el archivo seria:

Código:
/etc/CCcam.cfg

archivo llamado postinst

Este archivo se utiliza para ejecutar un proceso despues de que se hallan instalado los archivos del ipk, por ejemplo para reiniciar el receptor o cualquier otra ejecucion que deseemos, por ejemplo nosotros vamos hacer que despues de la instalacion a la emuladora CCcam.2.1.3 y al script de arranque del panel en CamEmu se le de permisos 755, y que nos muestre que el ipk se ha instalado correctamente, pues para ello:

Código:
#!/bin/sh
chmod 755 /usr/bin/CCcam.2.1.3
chmod 755 /usr/CamEmu/camemu.CCcam.2.1.3
echo "postinst: El paquete CCcam.2.1.3 se ha instalado correctamente"

Pues por lo tanto el interior de la carpeta DEBIAN quedaria:

ip4.png


c/ Bien, una vez hemos terminado la carpeta DEBIAN, pues vamos a crear en el interior de la carpeta enigma2-plugin-lbcam-CCcam_2.1.3_all lo siguiente:

* Introduciremos los archivos tal como iran en el deco, por lo tanto como vimos al principio pues crearemos:

- Carpeta usr y dentro de esta carpeta bin donde introduciremos la emuladora CCcam.2.1.3 y carpeta CamEmu donde introduciremos script de arranque del lbpanel llamado camemu.CCcam.2.1.3.

- Carpeta etc y dentro introduciremos archivo CCcam.cfg

- archivo llamado debian-binary que le podemos poner en el interior 2.0 por ejemplo.

Y estas unas capturas de como quedaria:

ip5.png


ip6.png


ip7.png


ip8.png


ip9.png



3. CREAR SCRIPT LANZADOR NAUTILUS

a/ Para ello nos vamos a situar en ubuntu 14.04 en una carpeta oculta que existe cuya ubicacion es Carpeta Personal/.local/share/nautilus/scripts y en el interior vamos a crear un script que sera el encargado de empaquetarnos lo que hemos preparado anteriormente.

b/ Abrimos la consola terminal y ejecutamos:

Código:
sudo nautilus

ip10.png


c/ Se nos abrira nuestra carpeta personal, pues seleccionamos mostrar archivos ocultos.

ip11.png


d/ Observaremos la carpeta .local

ip12.png


e/ entramos en .local y share

ip13.png


f/ luego en nautilus

ip14.png


g/ luego en scripts

ip15.png


h/ raton boton derecho crear nuevo documento y creamos este script y lo llamamos por ejemplo ipkcreador:

Código:
#!/bin/bash

BASENAME=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
DIRNAME=`dirname $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
 
cd $DIRNAME && fakeroot -- dpkg-deb --build ./$BASENAME "$BASENAME.ipk"
 
if [ ! -f $DIRNAME/$BASENAME.ipk ]; then
        zenity --error --title "ERROR.: ipkg not created!" --text " Don't creat it.!\n Please check it."
        exit 0
else
        zenity --info --title "OK.: ipkg created successfully." --text " ipkg file created successfully..\n File path: $DIRNAME/$BASENAME.ipk"
fi
exit 0

ip16.png


i/ Ahora vamos a consola terminal y le vamos a dar permisos para ello ejecutamos:

Código:
chmod +x .local/share/nautilus/scripts/ipkcreador


Y ya lo tendriamos listo.

4. CREACION IPK

Bien pues a continuacion cerramos todo lo que tuvieramos abierto para no liarnos.

a/ Nos situamos sobre la carpeta que creemos en los pasos anteriores y pulsamos boton derecho sobre ella.

b/ Observaremos que nos aparece la opcion script y en ella pues el script que habiamos creado pues pulsamos sobre el.

ip20.png


c/ Si todo fue bien pues nos lanzara el siguiente mensaje:

ip21.png


d/ Y ya tendremos nuestro paquete IPK listo.

ip22.png
 
el script generador del ipk utilizar este en caso que el receptor no use tar.xz ya que no descomprimiria los datos al instalar el ipk en el receptor:

Código:
#!/bin/bash

BASENAME=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
DIRNAME=`dirname $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
 
cd $DIRNAME && fakeroot -- dpkg-deb --build -Z gzip ./$BASENAME "$BASENAME.ipk"
 
if [ ! -f $DIRNAME/$BASENAME.ipk ]; then
        zenity --error --title "ERROR.: ipkg not created!" --text " Don't creat it.!\n Please check it."
        exit 0
else
        zenity --info --title "OK.: ipkg created successfully." --text " ipkg file created successfully..\n File path: $DIRNAME/$BASENAME.ipk"
fi
exit 0

la diferencia es que en esta ocasion selecciono el formato para comprimir con -Z gzip de esta manera comprimira en tar.gz
 
Gracias por el buen trabajo que desarrollas, sigue así
 
Buen manual lucifer


Enviado desde mi iPhone 4S
con Tapatalk
 
Muy buen manual.

Estaba buscando esto y aquí esta, Muy bien explicado.

Gracias.

Edito.

Para que me funcione tengo que darle permisos 555 a los archivos "preinst" y "postinst".
 
Última edición:

Temas similares

leolfer
Respuestas
0
Visitas
639
leolfer
leolfer
Respuestas
1
Visitas
2K
tiomoro
tiomoro
porte
Respuestas
0
Visitas
844
porte
porte
txelu
Respuestas
2
Visitas
840
porte
porte
J
Respuestas
36
Visitas
7K
josagi
J
Atrás
Arriba