Dupload per l'upload dei pacchetti Debian: differenze tra le versioni

m
rimosso lo stub
m (rimosso lo stub)
Riga 1: Riga 1:
{{stub}}
=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 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).
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 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''.
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, presente in Debian:
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 getibile tramite il file '''/etc/dupload.conf'''. Il file in questione pu� essere suddiviso in 2 sezioni:
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 seguente:
La sintassi è la seguente:
<pre>
<pre>
$quando{'a_cosa'} = 'comando';
$quando{'a_cosa'} = 'comando';
</pre>
</pre>


'''quando''' pu� assumere due valori:
'''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 (abbinabile solo a ''$postupload''). Parametro disponibile: nome del 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''' possibile avere a disposizione uno o due parametri ('''%1''' per il primo e '''%2''' per il secondo, se disponibile).
'''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 semplice ed immediata. Analizziamo un esempio:
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 ''anonymous'', usato molto spesso nelle directory di incoming pubbliche.
; 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 modalit� passiva nel trasferimento tramite il protocollo ftp.
; passive : Attiva la modalità passiva nel trasferimento tramite il protocollo ftp.
; 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()''].
; 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 seguir� la ''@'' nell'indirizzo email usato come mittente delle email [Default: il valore ricavato dall'MTA installato sul proprio computer].
; 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 semplicissimo: il programma accetta, come input, i file ''.changes'', seguendo la sintassi:
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 pi� usate sono le seguenti:
Le opzioni più usate sono le seguenti:
; --no : esegue solo un test, mostrando quello che farebbe in modalit� normale.
; --no : esegue solo un test, mostrando quello che farebbe in modalità normale.
; --nomail : non invia l'annuncio per l'upload che verr� eseguito.
; --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). possibile usare l'impostazione '''default_host''' nel file di configurazione per indicare quale server utilizzare se ''--to'' non indicato.
; -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 possibile usare dupload per caricare i pacchetti nella directory ''incoming'' del proprio repository.
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, d'obbligo visitare [http://www.debian.org/devel/join/newmaint L'angolo del nuovo Manutentore 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].
1 487

contributi