[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ A ] [ successivo ]
A questo punto, dovresti essere pronto a creare il pacchetto.
Spostati nella directory principale del programma e lancia il comando:
dpkg-buildpackage -rfakeroot
Questo farà tutto il necessario per te.
pulirà l'albero dei sorgenti (debian/rules clean), usando fakeroot
costuirà il pacchetto sorgente (dpkg-source -b)
costruirà il programma (debian/rules build)
costruirà il pacchetto binario (debian/rules binary), usando
fakeroot
firmerà il file sorgente .dsc, usando gnupg
creerà e firmerà il file di upload .changes usando
dpkg-genchanges
e gnupg
Il solo input da te richiesto è tua chiave PGP segreta, due volte.
Fatto ciò, vedrai quattro nuovi file nella directory di cui sopra (~/debian/):
gentoo_0.9.12.orig.tar.gz
Questo è il codice sorgente originale, semplicemente rinominato in questo modo
in modo da aderire allo standard Debian. Osserva che questo è stato creato
usando l'opzione `-f' per dh_make
quando è stato inizialmente
lanciato.
gentoo_0.9.12-1.dsc
È un sommario del contenuto del codice sorgente. Questo file è generato dal
tuo file `control', ed è usato quando si scompatta il sorgente con
dpkg-source(1)
. Questo file è firmato con GPG, in modo che si
possa essere sicuri che effettivamente è fatto da te.
gentoo_0.9.12-1.diff.gz
Questo file compresso contiene ogni singola modifica fatta al codice sorgente
originale, in una forma nota come "diff unificata". Viene creata e
usata da dpkg-source(1)
. Attenzione: se non chiami il file di
distribuzione originale packagename_version.orig.tar.gz,
dpkg-source
non riuscirà a creare il file .diff.gz correttamente!
Se qualcun altro volesse ri-creare il tuo pacchetto da zero, potrebbe farlo facilmente usando i suddetti tre file. La procedura di estrazione è banale: copiare semplicemente i tre file da qualche parte e lanciare dpkg-source -x gentoo_0.9.12-1.dsc.
gentoo_0.9.12-1_i386.deb
Questo è il pacchetto binario completo. Puoi usare dpkg
per
installarlo e rimuoverlo, come per ogni altro pacchetto.
gentoo_0.9.12-1_i386.changes
Questo file descrive tutte le modifiche fatte nella revisione corrente del pacchetto, ed è usata dai programmi di mantenimento dell'archivio FTP di Debian per installare i pacchetti binari e sorgenti. È parzialmente generato dal contenuto del file `changelog' e dal file .dsc. Questo file è firmato con GPG, in modo che si possa essere sicuri che è effettivamente tuo.
Quando lavori sul pacchetto, cambieranno le modalità di funzionamento e nuove funzionalità potranno essere aggiunte. Quelli che scaricano il tuo pacchetto, possono quardare questo file per vedere velocemente quali sono i cambiamenti. I programmi di mantenimento dell'archivio Debian invieranno anche i contenuti di questo file alla mailing list debian-devel-changes.
Le lunghe stringhe di numeri nei file .dsc e .changes sono codici di controllo
MD5 per i file menzionati. Chi scarica questi file, può controllarli con
md5sum(1)
e se i numeri non corrispondessero saprebbe che il file
relativo è corrotto, o è stato alterato.
Con un grosso pacchetto, potresti non voler ricostruire tutto da zero, ogni volte che modifichi un dettaglio in debian/rules. Per motivi di testing puoi creare un file .deb, ricostruendo i sorgenti upstream come segue:
fakeroot debian/rules binary
Una volta finito con i tuoi aggiustamenti, ricorda di ricostruire usando la giusta procedura. Potresti non essere in grado di caricare il pacchetto correttamente se provi con dei file .deb creati in questo modo.
debuild
Puoi automatizzare il processo di creazione di un package ulteriormente con il
comando debuild
. Vedi debuild(1)
.
La configurazione del comando debuild può essere fatta usando
/etc/devscripts.conf
o ~/.devscripts
. Suggerisco
almeno le seguenti impostazioni:
DEBSIGN_KEYID="Your_GPG_keyID" DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -ICVS -I.svn"
Con tali opzioni, puoi creare i pacchetti sempre usando la tua chiave GPG ed evitare di includere componenti non richieste. (Questo è utile anche per le sponsorizzazioni.) Per esempio, ripulire i sorgenti e ricreare il pacchetto da un account utente si fa semplicemente con:
debuild clean debuild
dpatch
Il semplice impiego dei comandi dh_make
e
dpkg-buildpackage
crea un singolo grosso file diff.gz
che contiene i file di mantenimento in debian/
e i file di patch
ai sorgenti. Un file così fatto è ingombrante da esaminare e comprendere per
ogni successiva modifica successiva all'albero dei sorgenti. Questo non è
bello. [1]
Diversi metodi man il mantenimento di insiemi di patch sono stati proposti e
sono in uso nei pacchetti Debian. Il sistema dpatch
è uno dei più
semplici di tali sistemi di mantenimento delle patch. Altri sono dbs, cdbs,
ecc.
Un pacchetto che sia pacchettizzato in modo appropriato con dpatch
ha modifiche al sorgente chiaramente documentate come file di insiemi di patch
in debian/patches/
mentre l'albero dei sorgenti non e' modificato
al di fuori della directory debian/
. Se chiedi a uno sponsor di
caricare il tuo package, questo tipo di chiara separazione e documentazione
delle tue modifiche è molto importante per rendere veloce l'analisi da parte
del tuo sponsor. Il metodo di uso di dpatch
è spiegato in
dpatch(1)
.
Quando qualcuno (incluso te stesso) ti fornisce una patch per il sorgente successivamente, la modifica del pacchetto sotto dpatch è alquanto semplice:
Edita la patch per renderla una patch di tipo -p1 per il sorgente.
Aggiungi una intestazione usando il programma dpatch
patch-template
.
Mettila in debian/patches
Aggiungi il nome della patch all'elenco nel file
debian/patches/00list
Inoltre, dpatch
ha la capacità di rendere le patch dipendenti da
architettura, usando macro CPP.
orig.tar.gz
per il caricamento.
Quando inserisci per la prima volta il pacchetto nell'archivio, devi includere
il file dei sorgenti originali orig.tar.gz
. Se la versione del
pacchetto non ha una revisione Debian -0 o -1, devi
aggiungere al comando dpkg-buildpackage
l'opzione
"-sa". Al contrario, l'opzione
"-sd" forzerà l'esclusione del sorgente originale
orig.tar.gz
.
[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ A ] [ successivo ]
Guida per il nuovo Maintainer
versione 1.2.3, 18 January 2005.joy-mg@debian.org
frankie@debian.org