Home > Dai forum, Debian, Debianizzazione, Gnome, Guide, Linux, LQH, Pacchetti, Ubuntu > Debianizzare un programma Python #14

Debianizzare un programma Python #14

20 giugno 2010

Questa guida a puntate riporterà i passaggi necessari dalla pacchettizzazione fino all’inclusione ufficiale di un software scritto in Python (Gespeaker) su Debian e più avanti su Ubuntu. Ogni giorno per circa un mese sarà descritto un passaggio da seguire per poter debianizzare così un proprio software.

#14 Configurazione della directory debian (file watch)

Tutti i files indicati in precedenza dovranno essere compilati nella maniera corretta per consentire la creazione del file deb, li analizzeremo uno per volta.

watch
Il file watch non è obbligatorio ma fortemente raccomandato in quanto è utilizzato da uscan e da altri sistemi Debian per rilevare quando sono disponibili nuove versioni del pacchetto di origine.

Si tratta di un file contenente espressioni regolari (regex) per la ricerca online dei pacchetti originali (upstream) contenenti le nuove versioni dell’applicazione, in modo da notificare la presenza di una nuova versione dell’applicazione.

La sua sintassi è abbastanza articolata, per una migliore descrizione si rimanda alla manpage di uscan.
In linea generale contiene una prima riga con la versione da utilizzare (attualmente 3) e la seconda riga contiene la regex che indica dove si trovano i pacchetti sorgente originali dell’applicazione.

Se i files sono direttamente accessibili (ad esempio in una directory via ftp) è possibile indicare l’indirizzo direttamente con:

http://URL/PACCHETTO_(.*)_all\.tar\.gz

Qualora i files non fossero direttamente accessibili ma fosse necessario accedere prima a una pagina web e recuperare i links da lì è possibile indicare prima la pagina da aprire e poi la regex da usare per la ricerca degli indirizzi nella pagina con:

http://URL/pagina http://URL/PACCHETTO_(.*)_all\.tar\.gz

Naturalmente la regex da utilizzare dipende da come sono forniti i pacchetti di origine. Una riga eccessivamente lunga può essere interrotta andando a capo col simbolo \.

Nel mio caso i pacchetti si trovano ospitati su Google Code e l’elenco dei download è accessibile mediante la pagina http://code.google.com/p/gespeaker/downloads/list che conterrà al suo interno i links ai singoli files col nome gespeaker_VERSIONE_all.tar.gz.

Per questo scopo il mio watch file sarà il seguente:

# watch control file for uscan
version=3
http://code.google.com/p/gespeaker/downloads/list \
 http://gespeaker.googlecode.com/files/gespeaker_(.*)_all\.tar\.gz

Ricordare che il punto ha un significato preciso nelle regex e se si vuol indicare il punto nell’indirizzo è necessario precederlo da \ (così \.)

Aggiornamento: Google Code ha aggiornato il suo sito, alterando anche i collegamenti ai files. Il nuovo file watch sarà il seguente:

# watch control file for uscan
version=3
opts=downloadurlmangle=s#.*(gespeaker-([\d.]+)\.tar\.gz).*#\
http://gespeaker.googlecode.com/files/$1#,\
filenamemangle=s#.*(gespeaker_([\d.]+)_all\.tar\.gz).*#$1# \
 http://code.google.com/p/gespeaker/downloads/list \
 ^.*detail\?name=gespeaker_([\d.]+)_all\.tar\.gz.*

E’ disponibile anche un nuovo servizio Debian: http://googlecode.debian.net:

# watch control file for uscan
version=3
http://googlecode.debian.net/p/gespeaker \
 /p/gespeaker/gespeaker_(.*)_all\.tar\.gz
%d blogger cliccano Mi Piace per questo: