Supponiamo che sia stato segnalato un bug del tuo pacchetto, il #54321, e che si riferisca a un problema che sei in grado di risolvere. Per creare una nuova revisione Debian del pacchetto, hai bisogno di:
Suggerimento: come ottenere la data facilmente nel formato richiesto? Usa `822-date`, or `date -R`.
Includi una breve descrizione del bug e la soluzione nella voce del changelog, seguita da: "Closes: #54321". In questo modo, la sottomissione del bug sarà automaticamente chiusa dal software di mantenimento, nel momento in cui il tuo pacchetto sarà accettato nell'archivio Debian.
Adesso consideriamo una situazione differente, un po' più complicata - una nuova versione upstream è stata rilasciata, e ovviamente vuoi pacchettizzarla. Avrai bisogno di fare quanto segue:
gentoo-0.9.13.tar.gz
') nella directory al di sopra del vecchio
albero di sorgenti (per es. ~/gentoo/
).
uupdate -u gentoo-0.9.13.tar.gz
Ovviamente, sostituisci questo nome di file con il nome dell'archivio dei
sorgenti del tuo programma. uupdate(1)
rinominerà in modo
appropriato quell'archivio, proverà ad applicare tutte le modifiche dal tuo
precedente file .diff.gz
, e aggiornerà il nuovo file
debian/changelog
.
../gentoo-0.9.13
', il nuovo albero di
sorgenti del pacchetto, e ripeti quanto fatto in Costruzione completa, Sezione 6.1,
Controllare il pacchetto per errori, Capitolo
7, e Caricamento del pacchetto, Capitolo 8.
Osserva che se hai configurato il file `debian/watch
' come
descritto in watch.ex, Sezione 5.10,
puoi lanciare uscan(1)
per cercare automaticamente i sorgenti
aggiornati, scaricarli e lanciare uupdate
.
Nel preparare pacchetti per il caricamento nell'archivio Debian, dovresti verificare i pacchetti risultanti in dettaglio. Di seguito, ecco un esempio più realistico di tal procedura.
changelog
, NEWS
, e ogni altra
documentazione che possa essere stata rilasciata con la nuova versione.
<packagename>-<upstream_version>/
quindi spostati
con `cd' in tale directory
<packagename>_<upstream_version>.orig.tar.gz
.
uupdate
' ,
debian/
dai vecchi sorgenti se
era pacchettizzata con dpatch
.
debian/changelog
. Per
esempio `dch -v 0.9.13-1'.
.rej
). Il più delle volte, il problema è che una patch da te
applicata al sorgente è stata integrata dall'upstream, e perciò non è più
rilevante.
dh_make
nella stessa directory, già
"debianizzata", con l'opzione -o . A quel punto
modificali in maniera appropriata.
debian/rules
e le dipendenze per la compilazione in
debian/control
se necessario.
debuild
, Sezione
6.3 o Il pacchetto
pbuilder
, Sezione 7.6. L'impiego di pbuilder
è
consigliato.
Sistema di
Gestione dei Bug Debian
.
orig.tar.gz
Se provi a creare il pacchetto solo a partire dal nuovo albero dei sorgenti,
con la directory debian/
ma senza il file orig.tar.gz
nella directory superiore, finirai per creare non intenzinalmente un pacchetto
sorgente nativo, che risulta privo di un file diff.gz
. Questo
tipo di pacchettizzazione è appropriato solo per pacchetti specifici di Debian,
che non saranno mai utili per un altra distribuzione. [5]
Per creare un pacchetto a sorgente non nativo, che consiste in una coppia di
file orig.tar.gz
e diff.gz
, devi copiare manualmente
l'archivio dell'upstream nella directory superiore con il nome del file
modificato in
<packagename>_<upstream_version>.orig.tar.gz
come
viene fatto dal comando dh_make
in La "debianizzazione" iniziale,
Sezione 2.4.
cvs-buildpackage
e similariDovresti prendere in considerazione l'eventualità di usare un sistema di gestione del codice per l'attività di pacchettizzazione. Ci sono diversi programmi di interfaccia adattati per usare i sistemi più comuni.
cvs-buildpackage
svn-buildpackage
tla-buildpackage
arch-buildpackage
Questi comandi possono anche automatizzare la pacchettizzazione di nuovi rilasci dell'upstream.
Quando crei una nuova versione del pacchetto, dovresti fare quanto segue per verificare che il pacchetto può essere aggiornato in modo sicuro:
Se il pacchetto fa un uso di script non banali di pre/post/inst/rm, assicurati di controllarli in aggiornamento.
Tieni a mente che se il pacchetto è stato in precedenza rilasciato in Debian, la gente vorrà spesso fare un aggiornamento dalla versione che era nell'ultima versione Debian. Ricorda di provare l'aggiornamento da tale versione, anche.
Prima di deciderti a fare una domanda in qualche area pubblica, sei pregato di
leggere i dannati manuali (RTFM). Questo include la documentazione in
/usr/share/doc/dpkg
, /usr/share/doc/debian
,
/usr/share/doc/autotools-dev/README.Debian.gz
i file
/usr/share/doc/package/*
e le pagine man/info di tutti i programmi
menzionati in questo documento. Vedi tutte le informazioni in http://nm.debian.org/
e http://people.debian.org/~mpalmer/debian-mentors_FAQ.html
.
Se hai domande sulla pacchettizzazione alle quale non trovi risposta nella
documentazione, puoi chiedere alla mailing list dei Debian Mentors su debian-mentors@lists.debian.org
.
Gli sviluppatori più esperti di Debian ti aiuteranno con piacere, ma leggi
almeno un po' di documentazione prima di chiedere!
Guarda http://lists.debian.org/debian-mentors/
per maggiori informazioni riguardo la mailing list.
Quando ricevi una segnalazione di bug (sì, effettive segnalazioni di bug!)
saprai che è il momento di fare fare riferimento al Sistema Debian di tracciamento dei
bug
e leggere la documentazione lì, per essere in grado di gestire
le segnalazioni in modo efficiente. Ti raccomando di leggere la Guida di
Riferimento dello Sviluppatore, al capitolo "Gestione dei Bug", su
/usr/share/doc/developers-reference/ch-pkgs.en-us.iso-8859-1.html#s-bug-handling
Se ancora hai delle domande, chiedi sulla mailing list degli sviuppatori Debian
all'indirizzo debian-devel@lists.debian.org
.
Guarda http://lists.debian.org/debian-devel/
per maggiori informazioni su questa mailing list.
Anche se tutto funziona bene, è venuto il momento di iniziare a pregare. Perché? Perché in poche ore (o giorni), gli utenti di tutto il mondo inizieranno a usare il pacchetto, e se hai commesso qualche errore critico, sarai bombardato dalle mail di numerosi utenti Debian arrabbiati... sto scherzando :-)
Rilassati e sii pronto per le segnalazioni dei bug, perché c'è molto lavoro da fare prima che il tuo pacchetto sia completamente in linea con le politiche Debian (ancora una volta, leggi la documentazione reale per i dettagli). Buona fortuna!
Guida per il nuovo Maintainer
versione 1.2.3, 18 January 2005.joy-mg@debian.org
frankie@debian.org