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.
fakeroot
fakeroot
gnupg
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/):
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.
È 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 PGP, in modo che si
possa essere sicuri che effettivamente è fatto da te.
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.
Questo è il pacchetto binario completo. Puoi usare dpkg
per
installarlo e rimuoverlo, come per ogni altro pacchetto.
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 PGP, 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.
Lancia lintian(1)
sul tuo file .changes; questo programma fa una
verifica in merito a molti comuni errori di pacchettizzazione. Il comando è:
lintian -i gentoo_0.9.12-1_i386.changes
Ovviamente, sostituisci il nome del file con il nome del file changes generato per il tuo pacchetto. Se sembra che ci siano errori (le righe che iniziano con E:), leggi la spiegazione (le righe con N:), correggi e ricostruisci come descritto in Costruzione completa, Sezione 6.1. Se ci sono righe che iniziano con W:, si tratta di warning, per cui aggiusta il pacchetto o verifica che i warning siano spuri (e crea gli ovverrides per Lintian; vedi la documentazione per i dettagli)
Osserva che puoi costruire il pacchetto con dpkg-buildpackage
e
lintian
in un unico comando con debuild(1)
.
Guarda all'interno del pacchetto usando un file manager come
mc(1)
, o spacchettalo in una posizione temporanea usando
dpkg-deb(1)
. Stai in guardia per file extra non necessari nel
pacchetto binario e sorgente. Spesso un po' di robaccia non viene cancellata
propriamente; modifica le tue regole per compensare questa cosa. Suggerimento:
`zgrep ^+++ ../gentoo_0.9.12-1.diff.gz' ti darà una lista di modifiche/aggiunte
ai file sorgenti, e `dpkg-deb -c gentoo_0.9.12-1_i386.deb' elencherà tutti i
file nel pacchetto.
Installa il pacchetto per testarlo tu stesso, per esempio usando il comando
debi(1)
come root. Prova a installarlo e lanciarlo su una
macchina che non sia la tua, e verifica qualsiasi errore o warning durante
l'installazione o l'esecuzione.
Una volta testato il nuovo pacchetto approfonditamente, sarai pronto a partire
con il processo di candidatura come nuovo maintainer Debian, come descritto in
http://www.debian.org/devel/join/newmaint
.
Una volta diventato uno sviluppatore ufficiale, avrai necessità di caricare il
pacchetto nell'archivio Debian. Potresti farlo a mano, ma è più semplice usare
i tool automatici forniti, come dupload(1)
o dput(1)
.
Descriveremo come puoi farlo con dupload
.
Per prima cosa devi creare il file di configurazione di dupload. Puoi
modificare il file di sistema /etc/dupload.conf
o averne uno tuo
personale ~/.dupload.conf
che fornisce le poche cose da
modificare. Scrivici dentro qualcosa come:
package config; $default_host = "ftp-master"; $cfg{"ftp-master"}{"login"} = "yourdebianusername"; $cfg{"non-us"}{"login"} = "yourdebianusername"; 1;
Ovviamente, modifica le mie informazini personali con le tue, e leggi la pagina
man dupload.conf(5)
per capire cosa significa ciascuna opzione.
L'opzione $default_host è la più particolare -- stabilisce quale coda di
caricamento sarà usata per default. "ftp-master" è la primaria, ma è
possibile che tu voglia usarne un'altra, più veloce. Per maggiori informazioni
sulle code, leggi la Guida di Riferimento per lo Sviluppatore, nella sezione
"Caricare un pacchetto", su
/usr/share/doc/developers-reference/developers-reference.html/ch-upload.en.html#s-uploading
A questo punto connettiti al tuo provider Internet, e scrivi questo comando:
dupload --to master gentoo_0.9.12-1_i386.changes
dupload
verifica che i codici di controllo MD5 dei file siano
coerenti con quelli del file .changes, per cui ti avvertirà di ricreare il
pacchetto come descritto in Costruzione completa,
Sezione 6.1, per caricare appropriatamente il pacchetto.
Se carichi su "ftp-master", dupload
ti chiederà la tua
password per le macchine Debian, e quindi caricherà il pacchetto.
Guida per il nuovo Maintainer
versione 1.2, 6 Aprile 2002.joy-mg@debian.org
frankie@debian.org