Provided by: dpkg-dev_1.17.5ubuntu5.8_all
NOME
dpkg-buildpackage - crea pacchetti binari o sorgente a partire dai sorgenti
SINTASSI
dpkg-buildpackage [opzione...]
DESCRIZIONE
dpkg-buildpackage è un programma che automatizza il processo di creazione di un pacchetto Debian. Effettua i seguenti passaggi: 1. Prepara l'ambiente di compilazione impostando diverse variabili d'ambiente (vedere ENVIRONMENT) e invoca dpkg-source --before-build (a meno che non sia stata usata -T o --target. 2. Controlla che le dipendenze di compilazione ed i conflitti di compilazione siano soddisfatti (a meno che non sia stata usata -d). 3. Se è stato selezionato un target specifico con l'opzione -T o --target, invoca quel target e si ferma a questo punto. Altrimenti invoca fakeroot debian/rules clean per pulire l'albero di compilazione (a meno che non sia stata usata -nc). 4. Invoca dpkg-source -b per generare il pacchetto sorgente (a meno che non sia stato richiesto di creare solo il pacchetto binario usando -b, -B o -A). 5. Invoca debian/rules target-compilazione seguito da fakeroot debian/rules target-binario (a meno che non sia stato richiesto di creare solo il pacchetto sorgente usando -S). Notare che target-compilazione e target-binario sono build e binary (in modo predefinito o se viene specificata -b) o build-arch e binary-arch (se viene specificata -B) oppure build-indep e binary-indep (se viene specificata -A). 6. It calls gpg2 or gpg to sign the .dsc file (if any, unless -us is specified or on UNRELEASED builds). 7. Invoca dpkg-genchanges per generare un file .changes. Molte opzioni di dpkg-buildpackage vengono inoltrate a dpkg-genchanges. 8. It calls gpg2 or gpg to sign the .changes file (unless -uc is specified or on UNRELEASED builds). 9. Se viene specificata l'opzione -tc, invoca nuovamente fakeroot debian/rules clean. Da ultimo invoca dpkg-source --after-build.
OPZIONI
-b Specifica una compilazione solo binaria, nessun file sorgente deve essere creato o distribuito. Passata a dpkg-genchanges. -B Specifica una compilazione solo binaria, limitata ai pacchetti che dipendono dall'architettura. Passata a dpkg-genchanges. -A Specifica una compilazione solo binaria, limitata ai pacchetti indipendenti dall'architettura. Passata a dpkg-genchanges. -S Specifica la creazione dei soli pacchetti sorgente, nessun pacchetto binario deve essere creato. Passata a dpkg-genchanges. -F Specifica una normale compilazione completa; verranno creati i pacchetti binari e sorgente. Questo è ciò che avviene in modo predefinito quando non viene specificata alcuna opzione riguardo la compilazione. --target=target --target target -Ttarget Invoca debian/rules target dopo aver impostato l'ambiente di compilazione e interrompe lì il processo di compilazione del pacchetto. Se viene usata anche l'opzione --as-root, allora il comando viene eseguito come utente root (vedere -r). Notare che questa opzione non è necessaria per i target ufficiali che devono essere eseguiti come root, secondo quanto stabilito nella Debian Policy. --as-root Ha significato solo insieme a --target. È necessario che il target venga eseguito con i permessi di root. -si -sa -sd -vversione -Cdescrizione-modifiche -mindirizzo-manutentore -eindirizzo-manutentore Passate inalterate a dpkg-genchanges. Vedere la sua pagina di manuale. -aarchitettura Specifica l'architettura Debian per cui compilare. L'architettura della macchina in cui viene fatta la compilazione viene determinata automaticamente ed è anche il valore predefinito per la macchina host. -tgnu-system-type Specifica il tipo di sistema GNU per cui compilare. Può essere usata al posto di -a o in aggiunta per scavalcare l'impostazione predefinita del tipo di sistema GNU dell'architettura Debian target. -Pprofile[,...] Specify the profile(s) we build, as a comma-separated list, without the "profile." namespace prefix. The default behavior is to build for no specific profile. Also adds them (as a space separated list) to the DEB_BUILD_PROFILES environment variable which allows, for example, debian/rules files to use this information for conditional builds. -jcompiti Number of jobs allowed to be run simultaneously, equivalent to the make(1) option of the same name. Will add itself to the MAKEFLAGS environment variable, which should cause all subsequent make invocations to inherit the option. Also adds parallel=jobs to the DEB_BUILD_OPTIONS environment variable which allows debian/rules files to use this information for their own purposes. The parallel=jobs in DEB_BUILD_OPTIONS environment variable will override the -j value if this option is given. -D Controlla le dipendenze e i conflitti di compilazione; si interrompe se non sono soddisfatti. Questo è il comportamento predefinito. -d Non controlla le dipendenze e i conflitti di compilazione. -nc Non pulisce l'albero dei sorgenti (implica -b se non è stata selezionata un'altra opzione tra -B, -A o -S). -tc Pulisce l'albero dei sorgenti (usando comando-per-diventare-root debian/rules clean) dopo che il pacchetto è stato creato. -rcomando-per-diventare-root Quando dpkg-buildpackage deve eseguire parte del processo di creazione dei pacchetti come utente root, antepone al comando che esegue comando-per-diventare-root, se è stato specificato. Altrimenti, se non è stato specificato, viene in modo predefinito usato fakeroot, se tale comando è presente. comando-per-diventare-root dovrebbe iniziare con il nome di un programma in PATH e accetta come argomenti il nome del vero comando da eseguire e gli argomenti per esso. comando-per-diventare-root può includere parametri (che devono essere separati da spazi) ma non metacaratteri della shell. comando-per-diventare-root tipicamente può essere fakeroot, sudo, super o really. su non è adatto perché può solo invocare la shell utente con -c invece di passare singoli argomenti al comando da eseguire. -Rfile-rules La creazione di un pacchetto Debian comporta solitamente l'invocazione di debian/rules come comando con svariati parametri standard. Con questa opzione è possibile usare un'altra invocazione del programma per creare il pacchetto (può includere parametri separati da spazi). In alternativa, può essere usato per eseguire il file rules standard con un altro programma make (per esempio usando /usr/local/bin/make -f debian/rules come file-rules). -pcomando-per-firmare When dpkg-buildpackage needs to execute GPG to sign a source control (.dsc) file or a .changes file it will run sign-command (searching the PATH if necessary) instead of gpg2 or gpg. sign-command will get all the arguments that gpg2 or gpg would have gotten. sign-command should not contain spaces or any other shell metacharacters. -kID-chiave Specifica l'ID della chiave da usare per firmare i pacchetti. -us Non firma il pacchetto sorgente. -uc Non firma il file .changes. --force-sign Force the signing of the resulting files (since dpkg 1.17.0), regardless of -us or -uc or other internal heuristics. -i[regex] -I[pattern] -s[nsAkurKUR] -z, -Z Passate inalterate a dpkg-source. Vedere la sua pagina di manuale. --source-option=opz Passa l'opzione opz a dpkg-source. --changes-option=opz Passa l'opzione opz a dpkg-genchanges. --admindir=dir --admindir dir Cambia la posizione del database di dpkg. La posizione predefinita è /var/lib/dpkg. -?, --help Show the usage message and exit. --version Show the version and exit.
AMBIENTE
DEB_SIGN_KEYID If set, it will be used to sign the .changes and .dsc files. Overridden by the -k option. DEB_BUILD_PROFILES If set, it will be used as the active build profile(s) for the package being built. It is a space separated list of profile names, without the "profile." namespace prefix. Overridden by the -P option. Reliance on exported environment flags Anche se dpkg-buildpackage esporta alcune variabili, debian/rules non dovrebbe fare affidamento sulla loro presenza e dovrebbe invece usare l'interfaccia apposita per recuperare i valori necessari. Variabili impostate da dpkg-architecture dpkg-architecture viene invocata inoltrando i parametri -a e -t. Qualsiasi variabile che è prodotta in output dalla sua opzione -s viene integrata nell'ambiente di compilazione.
NOTE
I flag di compilazione non sono più esportati Between dpkg 1.14.17 and 1.16.1, dpkg-buildpackage exported compiler flags (CFLAGS, CXXFLAGS, FFLAGS, CPPFLAGS and LDFLAGS) with values as returned by dpkg-buildflags. This is no longer the case. Default build targets dpkg-buildpackage is using the build-arch and build-indep targets since dpkg 1.16.2. Those targets are thus mandatory. But to avoid breakages of existing packages, and ease the transition, it will fallback to using the build target if make -f debian/rules -qn build-target returns 2 as exit code.
BUG
Dovrebbe essere possibile usare spazi e metacaratteri della shell e specificare argomenti iniziali quando si usa comando-per-diventare-root e comando-per-firmare.
VEDERE ANCHE
dpkg-source(1), dpkg-architecture(1), dpkg-buildflags(1), dpkg-genchanges(1), fakeroot(1), gpg2(1), gpg(1).