Ho voluto impacchettare in un opk gli script per la gestione gpio e cos? ho visto come sono organizzati e gestiti.
Forse ? una banalit? ma forse a qualcuno pu? servire... riporto quindi l'esempio.
un pacchetto opk, come un ipk, ? un file archivio che contiene altri file compressi...
nel mio caso i file (script, configurazioni, eseguibili) erano destinati alle seguenti directory
/etc/centralina/
/etc/centralina/log/
/usr/lib/webif/
/usr/sbin/
/bin/centralina/
/www/
/www/images/
/www/themes/clubman/
/www/cgi-bin/
/www/cgi-bin/webif/
/www/cgi-bin/webif/centralina/
ho quindi creato una directory e nominata "webif-gpio" e dentro le cartelle sopranominate con tutti i file da installare.
Nella stessa directory "webif-gpio" va creata la directory "CONTROL" e all'interno il file "control" cos? composto (nel mio caso):
Package: webif-gpio
Priority: optional
Section: Misc
Version: 0.1
Architecture: all
Maintainer: Truthan vonkosta@gmail.com
Depends:
Source:
http://www.bingobongo.nl/control-gpio.tgzDescription: Centralina GPIO Xwrt8.09.2 - wrt54gl.
Credo sia intuitivo... l'architettura va compilata in base alla stessa, all definisce, naturalmente, che va bene per tutte.
le dipendenze vanno, in questo caso non ce ne sono, elencate separate da virgola.
Poi, sempre nella stessa directory "webif-gpio" va dato un
echo "2" > debian-binary"
per creare tale file.
Ora la struttura ? pronta. Le operazioni vanno fatte da root e i file devono essere di propriet? dello stesso. se si impacchetta da user poi gli script o gli applicativi non vengono eseguiti sul router. Ora tgziamo le dir che contendono i nostri file.
tar cvzf data.tar.gz ./usr/ ./etc/ ./bin/ ./www/
e il file che contiene le informazioni
cd CONTROL
tar cvzf ../control.tar.gz .
cd ..
e mettiamo il tutto dentro all'opk
ar -crf webif-gpio_0.1_all.opk debian-binary data.tar.gz control.tar.gz
per l'ipk invece
tar cvzf webif-gpio_0.1_all.tar.gz debian-binary data.tar.gz control.tar.gz
mv cvzf webif-gpio_0.1_all.tar.gz cvzf webif-gpio_0.1_all.ipk
dove nome_versione_archittettura devono corrispondere a quelli dichiarati nel file "control".
e cosi ci troviamo il nostro opk o ipk pronto per l'installazione.
per estrarre un file opk basta un "ar -x nome_pacchetto.opk"