2011-04-26 21:39:44 +02:00
.TH AUTOSPEC "9" "@date_my@" "@package@ @version@" "User Commands"
.SH NOME
\fB @package@\fR - script di frontend per la creazione e l'aggiornamento e la verifica di pacchetti rpm.
.br
2012-05-18 16:16:51 +02:00
\fB config-getvar\fR - plugin per la visualizzazione di variabili presenti nei file di configurazione.
2011-04-26 21:39:44 +02:00
.br
\fB pck-extract\fR - plugin per l'estrazione di file da archivi srpm.
.br
\fB pck-update\fR - plugin per l'aggiornamento di archivi rpm.
.br
\fB spec-create\fR - plugin per la creazione di archivi rpm.
.br
\fB @pck_lib@\fR - libreria di funzioni per l'analisi degli specfile.
.SH VERSIONE
2012-05-18 16:16:51 +02:00
Questo documento e' aggiornato alla versione 1.12.0 di
.B @package@.
2011-04-26 21:39:44 +02:00
.SH DESCRIZIONE
2012-05-18 16:16:51 +02:00
.B @package@
e' una suite di script che permette di \fI velocizzare\fP ed \fI automatizzare\fP una parte
2011-04-26 21:39:44 +02:00
delle operazioni necessarie alla creazione, al mantenimento (aggiornamento) dei pacchetti
rpm di una intera distribuzione ed al controllo di comuni errori e vulnerabilita'.
2012-05-18 16:16:51 +02:00
.B @package@
e' modulare ed altamente \fI configurabile\fP e quindi facilmente adattabile alle
2011-04-26 21:39:44 +02:00
particolarita' specifiche di ogni distribuzione basata su pacchetti rpm.
2012-05-18 16:16:51 +02:00
.B @package@
fornisce inoltre la libreria \fB @pck_lib@\fR , utilizzabile anche da script di shell
2011-04-26 21:39:44 +02:00
esterni per ricavare in modo semplice informazioni su un qualsiasi specfile dato in input.
2012-05-18 16:16:51 +02:00
.B @package@
e' stato utilizzato con successo dagli sviluppatori della distribuzione
.B QiLinux
(\fI http://www.qilinux.org\fP ), permettendo la creazione di specfile standard e
2012-05-15 23:42:21 +02:00
l'aggiornamento (semi)automatico dei pacchetti.
2012-05-18 16:16:51 +02:00
E' utilizzato attualmente nello sviluppo di
.B openmamba GNU/Linux
(\fI http://www.openmamba.org\fP ) per creare specfile, per aggiornare i pacchetti dei branch
2012-05-15 23:42:21 +02:00
di sviluppo e dei contributors e per effettuare il porting (amche in cross-compilazione)
dei pacchetti in architetture diverse.
2011-04-26 21:39:44 +02:00
.SH FILE DI CONFIGURAZIONE
2012-05-18 16:16:51 +02:00
.B @package@
legge all'avvio i file globali \fI @sysconfdir@/@package@.conf\fR
2012-05-15 22:18:36 +02:00
e \fI @sysconfdir@/@package@.d/*.conf\fR e quindi i file privati dell'utente:
\fI ~/.@package@\fR e/o \fI ~/.@package@.d/*.conf\fR .
2012-05-18 16:16:51 +02:00
2012-05-15 22:18:36 +02:00
E' buona norma non modificare direttamente i file globali.
Utilizzare i file privati per ridefinire variabili oppure modularizzare la configurazione.
2012-05-15 23:42:21 +02:00
.TP
2012-05-18 16:16:51 +02:00
Qui di seguito e' presentato un esempio di file di configurazione utente per \fB @package@\fR che potra' essere utilizzato da un contributore come fac-simile per creare il proprio file di configurazione personale.
.if t .sp 0 .5
.if n .sp 1
.RS
.PD 0
.TP
2012-05-15 23:42:21 +02:00
[~/.@package@]
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
# [configuration file for `@package@']
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
proxy=
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
proxy_user=
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
packager_fullname="<Your Name>"
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
packager_email="<email>@openmamba.org"
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
ftp_rw_user[1]="<user>"
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
ftp_rw_passwd[1]="<passwd>"
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
arch_list=(i586 ppc arm x86_64)
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
curl_opts_netlink="--connect-timeout 15 --retry 3 --limit-rate 250k"
2012-05-18 16:16:51 +02:00
.PD
.RE
2012-05-15 23:42:21 +02:00
.TP
Ecco un esempio di modularizzazione possibile:
2012-05-18 16:16:51 +02:00
.if t .sp 0 .5
.if n .sp 1
.RS
.PD 0
.TP
2012-05-15 23:42:21 +02:00
~/.@package@.d/00-devel.conf
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
~/.@package@.d/01-devel-my.conf
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
~/.@package@.d/02-devel-kde4.conf
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
~/.@package@.d/03-devel-makedist.conf
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
~/.@package@.d/04-devel-autodist.conf
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
~/.@package@.d/05-devel-future.conf
2012-05-18 16:16:51 +02:00
.PD
.RE
.TP
In ogni file vi sono le informazioni di connessione al \fI repository\fP specificato dal nome del file. Ad esempio (repository in sola lettura):
.if t .sp 0 .5
.if n .sp 1
.RS
.PD 0
.TP
$ cat ~/.@package@.d/05-devel-autodist.conf
2012-05-15 23:42:21 +02:00
.TP
ftp_alias[5]="autodist"
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
ftpurl_ro_rpms[5]="http://www.openmamba.org/pub/openmamba/devel-autodist/RPMS.@arch@"
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
ftpurl_ro_srpms[5]="http://www.openmamba.org/pub/openmamba/devel-autodist/SRPMS.base"
2012-05-18 16:16:51 +02:00
.TP
2012-05-15 23:42:21 +02:00
ftp_enable[5]="1"
2012-05-18 16:16:51 +02:00
.PD
.RE
.TP
e (repository personale in lettura e scrittura):
.if t .sp 0 .5
.if n .sp 1
.RS
.PD 0
.TP
$ cat ~/.@package@.d/01-devel-my.conf
.TP
ftp_alias[2]="\fI <myrepos>\fP "
.TP
ftpurl_ro_rpms[2]="http://www.openmamba.org/pub/openmamba/devel-\fI <my_alias>\fP /RPMS.@arch@"
.TP
ftpurl_ro_srpms[2]="http://www.openmamba.org/pub/openmamba/devel-\fI <my_alias>\fP /SRPMS.base"
.TP
ftp_rw_server[2]="ftp://ftpaccounts.openmamba.org"
.TP
ftp_rw_passive_mode[2]=on
.TP
ftp_rw_user[2]="\fI <my_repository_alias>\fP "
.TP
ftp_rw_passwd[2]="\fI <passwd>\fP "
.TP
ftp_rw_rpms_dir[2]="/RPMS.@arch@"
.TP
ftp_rw_srpms_dir[2]="/SRPMS.base"
.TP
arch_list[2]="i586"
.TP
arch_noarch_upload[2]="@arch@"
.TP
ftp_enable[2]="1"
.PD
.RE
2011-04-26 21:39:44 +02:00
.SH SINTASSI
2012-05-18 16:16:51 +02:00
\fB @package@\fR e' lo script principale ed ha funzione di \fI frontend\fP per una serie di script e
2011-04-26 21:39:44 +02:00
librerie specializzate.
Per questo motivo sono possibili differenti modalita' distinte di utilizzo.
Si ricorda che le opzioni indicate tra parentesi quadre sono opzionali.
.SS "Creazione di specfile"
\fB @package@\fR \
\fB \- s\fR \fI tarball\fR \
[\fB \- n\fR \fI name\fR ] \
[\fB \- v\fR \fI ver\fR ] \
[\fB \- t\fR \fI type\fR ] \
[\fB \- o\fR \fI outfile\fR ]
.TP
\fB \- s\fR , \fB \- \- source\fR
cerca di creare uno specfile per il \fI tarball\fR indicato
.TP
\fB \- n\fR , \fB \- \- pck\- name\fR
nome del pacchetto (default: ricavato dal nome del tarball)
.TP
\fB \- v\fR , \fB \- \- pck\- version\fR
versione del pacchetto (default: ricavato dal nome del tarball)
.TP
\fB \- t\fR , \fB \- \- type\fR
categoria dello specfile da generare:
.br
\fI standard\fR : specfile standard (default)
.br
\fI gnome\fR : specfile per pacchetti gnome
.br
\fI kde3\fR : specfile per pacchetti kde3
.br
\fI kde4\fR : specfile per pacchetti kde4
.br
\fI library\fR : specfile per librerie
.br
\fI perl\fR : specfile per singoli moduli perl
.br
\fI python\fR : specfile per moduli python
.br
\fI standard-daemon\fR : specfile per servizi di sistema/rete
.TP
\fB \- o\fR , \fB \- \- output\fR
redirige lo standard output sul file \fI outfile\fR
2012-05-15 23:42:21 +02:00
.TP
2012-05-18 16:16:51 +02:00
\fI Esempi\fR
.TP
.PD 0
\fB @package@\fR \fB \- s\fR ~/software/@package@-@version@.tar.bz2 \fB \- t\fR standard \fB \- o\fR @package@.spec
.TP
\fB @package@\fR \fB \- s\fR ftp://ftp.gnu.org/pub/gnu/bash/bash-4.2.tar.gz
.TP
\fB @package@\fR \fB \- s\fR \\
.TP
2012-05-15 23:42:21 +02:00
http://ovh.dl.sourceforge.net/sourceforge/avifile/avifile-0.7-0.7.45.tar.bz2 \\
2012-05-18 16:16:51 +02:00
\fB \- t\fR library \fB \- n\fR libavifile \fB \- v\fR 0.7.45 \\
\fB \- o\fR /usr/src/RPM/SPECS/libavifile.spec
.TP
\fB @package@\fR \fB \- s\fR \fB \- \- help\fR
.PD
.RE
2011-04-26 21:39:44 +02:00
.SS "Aggiornamento di pacchetti rpm"
\fB @package@\fR \
2012-05-18 16:16:51 +02:00
\fB \- u\fR \fI pck\fR \fB \- a\fR \fI azioni\fR [\fI ver\fR ] [\fI rel\fR ] \
2011-04-26 21:39:44 +02:00
[\fB \- d\fR \fI v1=r1\fR [,\fI v2=r2\fR ,...]] \
[\fB \- \- server\- download\fR \fI int\fR ] \
[\fB \- \- server\- upload\fR \fI int\fR ] \
2012-05-18 16:16:51 +02:00
[\fB \- l\fR \fI utente\fR :\fI passwd\fR ] \
2011-04-26 21:39:44 +02:00
[\fB \- S\fR \fI specfile\fR ] \
[\fB \- A\fR \fI arch\fR ] \
[\fB \- \- changelog\fR "\fI msg\fR " ] \
[\fB \- \- nosrpm\fR |\fB \- \- norpm\fR ] \
[\fB \- \- force-update\fR ] [\fB \- \- force-build\fR ] [\fB \- \- force-install\fR ] \
[\fB \- \- ignore-test \fI t1\fR [,\fI t2\fR ,...]\fR ] \
[\fB \- c\fR ] [\fB \- f\fR ] [\fB \- L\fR ] [\fB \- R\fR ]
.TP
\fB \- u\fR , \fB \- \- update\fR
2012-05-18 16:16:51 +02:00
aggiorna il pacchetto \fI pck\fR , versione \fI ver\fR ,
2011-04-26 21:39:44 +02:00
release \fI rel\fR
.TP
\fB \- a\fR , \fB \- \- action\fR
2012-05-18 16:16:51 +02:00
Esegue la lista di azioni separate da virgole \fI azioni\fR :
2011-04-26 21:39:44 +02:00
.br
\fI 0\fR . indica le versioni del pacchetto disponibili nei repository
.br
\fI 1\fR . download ed installazione del pacchetto srpm
.br
\fI 2\fR . controlla se e' disponibile un aggiornamento
.br
\fI 3\fR . download dei nuovi file sorgente
.br
\fI 4\fR . aggiornamento e controllo dello specfile
.br
\fI 5\fR . creazione dei pacchetti rpm e srpm
.br
\fI 6\fR . creazione della lista dei build requirement
.br
\fI 7\fR . simulazione dell'installazione dei pacchetti rpm
.br
\fI 8\fR . esecuzione dei test di qualita' e sicurezza
.br
\fI 9\fR . calcolo dei valori di hashing md5 e sha1
.br
\fI 10\fR . upload dei nuovi pacchetti sul sito ftp,
rimozione dei vecchi pacchetti dal sito ftp
(backup in `$ftp_rw_old_dir', se la variabile e' definita)
.br
\fI 11\fR . installazione dei nuovi pacchetti rpm
.TP
\fB \- \- force-update\fR
forza l'aggiornamento dei pacchetti rpm e srpm
.TP
\fB \- \- force-build\fR
ricrea comunque i pacchetti rpm e srpm
.TP
\fB \- \- force-install\fR
installa i nuovi pacchetti anche in caso di errori rpm
.TP
\fB \- \- force\- download
scarica i file sorgente anche se presenti in SOURCE
.TP
\fB \- \- force\fR
cerca di eseguire comunque le azioni specificate
.TP
\fB \- \- ignore-test
non esegue i test indicati (\fI t1\fR , \fI t2\fR ,...)
.TP
\fB \- d\fR , \fB \- \- define\fR
assegna alle variabili \fI v1\fR , \fI v2\fR ,... i valori \fI r1\fR , \fI r2\fR ,...
.TP
\fB \- \- server\- download\fR
server da utilizzare nel download dei pacchetti
.TP
\fB \- \- server-upload\fR
server dove effettuare l'upload dei pacchetti
.TP
\fB \- \- server\fR
server per l'upload e il download dei pacchetti
.TP
\fB \- l\fR , \fB \- \- login\fR
2012-05-18 16:16:51 +02:00
user \fI utente\fR e password \fI passwd\fR per effettuare l'upload sul sito FTP
2011-04-26 21:39:44 +02:00
.TP
\fB \- S\fR , \fB \- \- specfile\fR
nome dello specfile (default: \fI name\fR .spec)
.TP
\fB \- A\fR , \fB \- \- arch\fR
forza un valore per l'architettura
.TP
\fB \- \- changelog\fR
scrive il messaggio \fI msg\fR nel changelog del pacchetto
(utilizzare `\e n' come terminatore di linea in caso di messaggi multilinea)
.TP
\fB \- \- nosrpm\fR
crea soltanto i pacchetti rpm (azione 5)
.br
non effettua l'upload del pacchetto srpm (azione 10)
.TP
\fB \- \- norpm\fR
crea soltanto il pacchetto srpm (azione 5)
.br
non effettua l'upload dei pacchetti rpm (azione 10)
.TP
2012-05-15 22:18:36 +02:00
\fB \- \- list-check\fR
esegue un controllo dei file non pacchettizzati (azione 5)
.TP
2011-04-26 21:39:44 +02:00
\fB \- c\fR , \fB \- \- clear\fR
rimuove tutti i file temporanei
.TP
\fB \- f\fR , \fB \- \- format\fR
abilita la riformattazione dello specfile
.TP
\fB \- L\fR , \fB \- \- log\fR
abilita il log su file (nella directory: `$logging_dir')
.TP
\fB \- R\fR , \fB \- \- rebuild\fR
attiva modalita' ed impostazioni di rebuild (azione 4)
.TP
\fB \- R\fR , \fB \- \- root\fR
definisce una root directory alternativa per rpm
2012-05-18 16:16:51 +02:00
.TP
\fI Esempi\fR
.TP
.PD 0
\fB @package@\fR \fB \- u\fR @package@ @version@ \fB \- a\fR 4 \fB \- \- changelog\fR "update to @version@"
.TP
\fB @package@\fR \fB \- u\fR @package@ \fB \- a\fR 4 \fB \- \- rebuild\fR
.TP
\fB @package@\fR \fB \- u\fR @package@ \fB \- \- log\fR \fB \- a\fR 5,6:9 \fB \- \- define\fR addons_ver=0.9
.TP
\fB @package@\fR \fB \- u\fR @package@ \fB \- r\fR \fB \- a\fR 5 \fB \- \- force-build\fR
.TP
\fB @package@\fR \fB \- u\fR @package@ \fB \- a\fR 1,4,5,8 \fB \- \- arch\fR =noarch \fB \- \- rebuild\fR
.TP
\fB @package@\fR \fB \- u\fR @package@ \fB \- a\fR 6
.TP
\fB @package@\fR \fB \- u\fR \fB \- c\fR \fB \- l\fR usr:pswd @package@ @version@ \fB \- a\fR 10 \fB --server-upload\fR =0
.TP
\fB @package@\fR \fB \- u\fR @package@ @version@ \fB \- a\fR 10 \fB --server-upload\fR =myrepos
.TP
\fB @package@\fR \fB \- u\fR @package@ \fB \- a\fR 10 \fB \- \- norpm\fR \fB \- S\fR /var/tmp/specs/@package@.spec
.TP
\fB @package@\fR \fB \- u\fR @package@ \fB \- a\fR 11 \fB \- \- force\fR
.TP
\fB @package@\fR \fB \- u\fR \fB \- \- help\fR
.PD
.RE
2011-04-26 21:39:44 +02:00
.SS "Estrazione di file da pacchetti srpm"
\fB @package@\fR \
\fB \- x\fR \fB \- F\fR \fI file(s)\fR [\fB \- \- destdir\fR =\fI dir\fR ] \fI srpm_pck\fR
.TP
\fB \- x\fR , \fB \- \- extract\fR
estrae dal pacchetto srpm \fI srpm_pck\fR ...
.TP
\fB \- F\fR , \fB \- \- files\fR
\& ...il file o la lista di file \fI file(s)\fR
.TP
\fB \- \- destdir\fR
salva i file estratti nella cartella \fI dir\fR
2012-05-18 16:16:51 +02:00
.TP
\fI Esempi\fR
.TP
.PD 0
\fB @package@\fR \fB \- x\fR @package@\- @version@\- 1mamba.src.rpm \fB \- \- destdir=\fR /tmp/
.TP
\fB @package@\fR \fB \- x\fR @package@\- @version@\- 1mamba.src.rpm \fB \- F\fR \e *.spec \fB \- \- destdir=\fR /tmp/
.TP
\fB @package@\fR \fB \- x\fR \fB \- \- help\fR
.PD
.RE
2011-04-26 21:39:44 +02:00
.SS "Richiesta del valore di variabili presenti nei file di configurazione"
\fB @package@\fR \
[\fB \- C\fR \fI conf_file\fR ] \fB \- \- eval\fR =\fI var\fR
.TP
\fB \- C\fR , \fB \- \- config\fR
utilizza un file di configurazione alternativo \fI conf_file\fR
.br
2012-05-18 16:16:51 +02:00
file di default: vedere alla sezione \fB FILE DI CONFIGURAZIONE\fR
2011-04-26 21:39:44 +02:00
.TP
\fB \- \- eval\fR
stampa il valore che \fI var\fR assume nei file di configurazione
2012-05-18 16:16:51 +02:00
.TP
\fI Esempi\fR
.TP
.PD 0
\fB @package@\fR \fB \- q\fR \fB \- \- eval\fR ="logging_dir"
.TP
\fB @package@\fR -C /etc/@package@.d/02-specfile-rpm-groups.conf \fB \- \- eval\fR =rpm_allowed_groups
.TP
\fB @package@\fR \fB \- \- eval\fR \fB \- \- help\fR
.PD
.RE
2011-04-26 21:39:44 +02:00
.SS "Modalita' operative"
Sono inoltre disponibili alcune opzioni standard ed alcune opzioni di uso generale
che influenzano il tipo di output generato.
.TP
\fB \- h\fR , \fB \- \- help\fR
stampa una schermata di aiuto e termina il programma
.TP
\fB \- V\fR , \fB \- \- version\fR
stampa il numero di versione e termina il programma
.TP
\fB \- q\fR , \fB \- \- quiet\fR
non stampa alcun dettaglio delle operazioni in esecuzione
.TP
\fB \- r\fR , \fB \- \- colorize\fR
abilita l'output colorato
.TP
\fB \- D\fR , \fB \- \- debug\fR
attiva la modalita' di debugging (output prolisso)
.SH AUTORI
Davide Madrisan <davide.madrisan@gmail.com>
.br
Creatore e sviluppatore principale di @package@ (frontend, plugin, libspec.lib, documentazione).
Stefano Cotta Ramusino (whitone) <stefano.cotta@openmamba.org>
.br
Patch varie. Controllo delle licenze indicati negli specfile.
Modulo \fI APSE\fR (Autospec Package Search Engine).
Modularizzare dei file di configurazione personali di @package@.
Silvan Calarco <silvan.calarco@mambasoft.it>
.br
Diverse patch, attivita' diffusa di beta testing.
Codice per la generazione automatica della lista dei build requirements.
Mofiche per permettere l'utilizzo di autospec in multi-architettura.
.SH "BACHI"
Inviare patch, segnalazioni di bachi, richieste di funzionalita' a <davide.madrisan@gmail.com>.
.br
2012-05-18 16:16:51 +02:00
Nel caso di bachi riscontrati, effettuarne una descrizione accurata e possibilmente un modo per
riprodurli.
Per il debugging di un problema e' spesso utile il log completo dell'esecuzione
di \fB autospec\fR con l'opzione \fB \- \- debug\fR , disattivando anche la traduzione dei messaggi,
cioe' eseguendo:
\fB LC_ALL=C autospec\fR ...
2011-04-26 21:39:44 +02:00
.SH COPYRIGHT
2012-01-02 22:26:19 +01:00
Copyright (C) 2004\- 2012 Davide Madrisan <davide.madrisan@gmail.com>
2011-04-26 21:39:44 +02:00
.br
.br
Questo e' software libero. E' possibile redistribuirlo e/o modificarlo nei termini
della GNU General Public License versione 2 cosi' come pubblicata dalla
Free Software Foundation.
Non e' fornita ALCUNA garanzia, neppure di NEGOZIABILITA' o di APPLICABILITA'
PER UN PARTICOLARE SCOPO.