1 487
contributi
m (rimosso lo stub) |
|||
Riga 1: | Riga 1: | ||
=Introduzione= | =Introduzione= | ||
Quando si usano repository Debian che gestiscono in modo automatizzato i pacchetti, viene richiesto di seguire una ben determinata procedura per l'upload. | Quando si usano repository Debian che gestiscono in modo automatizzato i pacchetti, viene richiesto di seguire una ben determinata procedura per l'upload. | ||
Questo | Questo è dovuto al fatto che è necessaria la presenza di un ''semaforo'' che indichi quando l'upload è avvenuto correttamente ed è stato completato. Sebbene la cosa può essere fatta tranquillamente a mano, esiste un tool molto utile: dupload (Debian UPLOAD). | ||
=Funzionamento= | =Funzionamento= | ||
Il funzionamento | Il funzionamento è semplice: il programma si occupa di eseguire l'upload, tramite i protocolli supportati, dei file, con l'accortezza di inviare per ultimo il file ''.changes'', che funge da ''semaforo''. | ||
=Installazione= | =Installazione= | ||
Il pacchetto, ovviamente, | Il pacchetto, ovviamente, è presente in Debian: | ||
<pre> | <pre> | ||
# apt-get install dupload | # apt-get install dupload | ||
Riga 16: | Riga 14: | ||
=Configurazione= | =Configurazione= | ||
La configurazione di dupload | La configurazione di dupload è getibile tramite il file '''/etc/dupload.conf'''. Il file in questione può essere suddiviso in 2 sezioni: | ||
==Impostazioni globali== | ==Impostazioni globali== | ||
Riga 47: | Riga 45: | ||
# Note: hooks can also be defined in a per-host basis | # Note: hooks can also be defined in a per-host basis | ||
</pre> | </pre> | ||
La sintassi | La sintassi è la seguente: | ||
<pre> | <pre> | ||
$quando{'a_cosa'} = 'comando'; | $quando{'a_cosa'} = 'comando'; | ||
</pre> | </pre> | ||
'''quando''' | '''quando''' può assumere due valori: | ||
* preupload: il comando viene eseguito prima di effettuare l'upload | * preupload: il comando viene eseguito prima di effettuare l'upload | ||
* postupload: il comando viene eseguito dopo aver effettuato l'upload | * postupload: il comando viene eseguito dopo aver effettuato l'upload | ||
Riga 58: | Riga 56: | ||
'''a_cosa''' indica il target dell'azione. L'azione, quindi, viene eseguita quando viene completato l'upload (o prima dell'upload) di: | '''a_cosa''' indica il target dell'azione. L'azione, quindi, viene eseguita quando viene completato l'upload (o prima dell'upload) di: | ||
:; sourcepackage : il pacchetto di sorgenti (quindi i file ''.diff.gz'' e ''orig.tar.gz''). Parametri disponibili: nome del file e versione. | :; sourcepackage : il pacchetto di sorgenti (quindi i file ''.diff.gz'' e ''orig.tar.gz''). Parametri disponibili: nome del file e versione. | ||
:; file : ogni singolo file ( | :; file : ogni singolo file (è abbinabile solo a ''$postupload''). Parametro disponibile: nome del file. | ||
:; changes : il file ''.changes''. Parametro disponibile: nome del file. | :; changes : il file ''.changes''. Parametro disponibile: nome del file. | ||
:; deb : i file ''.deb'', i pacchetti binari. Parametro disponibile: nome del file. | :; deb : i file ''.deb'', i pacchetti binari. Parametro disponibile: nome del file. | ||
:; package : ochi singolo pacchetto ''.deb'' . Parametri disponibili: nome del file e versione. | :; package : ochi singolo pacchetto ''.deb'' . Parametri disponibili: nome del file e versione. | ||
'''comando''' permette di indicare il comando da eseguire. in base a quanto specificato in '''a_cosa''' | '''comando''' permette di indicare il comando da eseguire. in base a quanto specificato in '''a_cosa''' è possibile avere a disposizione uno o due parametri ('''%1''' per il primo e '''%2''' per il secondo, se disponibile). | ||
===Default Host=== | ===Default Host=== | ||
Riga 73: | Riga 71: | ||
==Definizioni degli host== | ==Definizioni degli host== | ||
La definizione dell'host | La definizione dell'host è semplice ed immediata. Analizziamo un esempio: | ||
<pre> | <pre> | ||
$cfg{'mentors'} = { | $cfg{'mentors'} = { | ||
Riga 100: | Riga 98: | ||
:*scp | :*scp | ||
:*rsync | :*rsync | ||
; login : permette di impostare l'username con il quale accedere. Il valore di default | ; login : permette di impostare l'username con il quale accedere. Il valore di default è ''anonymous'', usato molto spesso nelle directory di incoming pubbliche. | ||
; incoming : Imposta la directory del server in cui devono essere copiati i file. | ; incoming : Imposta la directory del server in cui devono essere copiati i file. | ||
; mailto : dove inviare l'annuncio dell'invio di un pacchetto per ''stable''. | ; mailto : dove inviare l'annuncio dell'invio di un pacchetto per ''stable''. | ||
; mailtx : come sopra, ma riferito a ''unstable'' ed ''experimental''. | ; mailtx : come sopra, ma riferito a ''unstable'' ed ''experimental''. | ||
; passive : Attiva la | ; passive : Attiva la modalità passiva nel trasferimento tramite il protocollo ftp. | ||
; visibleuser : permette di impostare il nome dell'utente che | ; visibleuser : permette di impostare il nome dell'utente che comparirà come mittente nelle email generate dall'upload [default: l'username ricavato tramite la funzione ''getlogin()'']. | ||
; visiblename : permette di specificare il dominio che | ; visiblename : permette di specificare il dominio che seguirà la ''@'' nell'indirizzo email usato come mittente delle email [Default: il valore ricavato dall'MTA installato sul proprio computer]. | ||
; preupload : permette, tramite la definizione di un array (come fanno nell'esempio) di impostare delle azioni specifiche come precedentemente spiegato nella sezione ''hooks''. | ; preupload : permette, tramite la definizione di un array (come fanno nell'esempio) di impostare delle azioni specifiche come precedentemente spiegato nella sezione ''hooks''. | ||
=Utilizzo= | =Utilizzo= | ||
L'utilizzo | L'utilizzo è semplicissimo: il programma accetta, come input, i file ''.changes'', seguendo la sintassi: | ||
<pre> | <pre> | ||
$ dupload [opzioni] <file .change> [<altri file .change>] | $ dupload [opzioni] <file .change> [<altri file .change>] | ||
</pre> | </pre> | ||
Le opzioni | Le opzioni più usate sono le seguenti: | ||
; --no : esegue solo un test, mostrando quello che farebbe in | ; --no : esegue solo un test, mostrando quello che farebbe in modalità normale. | ||
; --nomail : non invia l'annuncio per l'upload che | ; --nomail : non invia l'annuncio per l'upload che verrà eseguito. | ||
; -t --to nome_del_server : utilizza ''nome_del_server'' come server su cui caricare i file (i server sono definiti nel file di configurazione). | ; -t --to nome_del_server : utilizza ''nome_del_server'' come server su cui caricare i file (i server sono definiti nel file di configurazione). È possibile usare l'impostazione '''default_host''' nel file di configurazione per indicare quale server utilizzare se ''--to'' non è indicato. | ||
=Dupload e Debarchiver= | =Dupload e Debarchiver= | ||
Nella guida [[Gestione di un repository con debarchiver]] si accennava al fatto che | Nella guida [[Gestione di un repository con debarchiver]] si accennava al fatto che è possibile usare dupload per caricare i pacchetti nella directory ''incoming'' del proprio repository. | ||
Ecco un esempio funzionante di come creare 3 destinazioni per caricare pacchetti nelle tre sezioni del proprio repository, mediante il protocollo ssh. | Ecco un esempio funzionante di come creare 3 destinazioni per caricare pacchetti nelle tre sezioni del proprio repository, mediante il protocollo ssh. | ||
Riga 157: | Riga 155: | ||
* gli utenti normali non hanno l'autorizzazione ad eseguire l'upload (il pacchetto viene scartato) | * gli utenti normali non hanno l'autorizzazione ad eseguire l'upload (il pacchetto viene scartato) | ||
* si rallenta il processo di analisi dei nuovi pacchetti | * si rallenta il processo di analisi dei nuovi pacchetti | ||
* se proprio si vuole avere un proprio pacchetto in Debian, | * se proprio si vuole avere un proprio pacchetto in Debian, è d'obbligo visitare [http://www.debian.org/devel/join/newmaint L'angolo del nuovo Manutentore Debian]. |
contributi