Imballaggio con Debhelper
Importante Requisiti: I requisiti della sezione chiamata "Packaging From Scratch" più debhelper e dh-make Come packager, raramente creerai pacchetti da zero come abbiamo fatto nella sezione precedente. Come puoi immaginare, molti dei compiti e delle informazioni nel regole il file, ad esempio, è comune ai pacchetti. Per rendere l'imballaggio più semplice ed efficiente, puoi usare debhelper per aiutare con questi compiti. Debhelper è un insieme di script Perl (con prefisso dh_) che automatizzano il processo di creazione di pacchetti. Con questi script, creare un pacchetto Debian diventa abbastanza semplice. In questo esempio, costruiremo di nuovo il pacchetto GNU Hello, ma questa volta confronteremo il nostro lavoro con Ubuntu ciao-debhelper pacchetto. Ancora una volta, crea una directory in cui lavorerai: Quindi, ottieni il pacchetto sorgente di Ubuntu: Come nell'esempio precedente, la prima cosa che dobbiamo fare è decomprimere il tarball originale (upstream). Invece di copiare il tarball upstream in hello_2.1.1.orig.tar.gz come abbiamo fatto nell'esempio precedente, lo faremo dh_make fai il lavoro per noi L'unica cosa che devi fare è rinominare la cartella sorgente in modo che sia sotto forma di
Per creare la "debianizzazione" iniziale della fonte che useremo dh_make. dh_make ti farà quindi una serie di domande: Attenzione Corri solo dh_make -e una volta. Se lo si esegue nuovamente dopo averlo fatto la prima volta, non funzionerà correttamente. Se si desidera cambiarlo o commettere un errore, rimuovere la directory di origine e decomprimere nuovamente il tarball upstream. Quindi è possibile migrare nella directory di origine e riprovare. In esecuzione dh_make -e fa due cose: Il Ciao il programma non è molto complicato e, come abbiamo visto nella sezione chiamata "Packaging From Scratch", il packaging non richiede molto più dei file di base. Pertanto, cerchiamo di rimuovere il .ex File: Per Ciaoanche tu no * Licenza * Indice della guida al packaging di Ubuntu bisogno README.Debian (File README per problemi specifici di Debian, non il README del programma), dirs (usato da dh_installdirs per creare le directory necessarie), docs (usato da dh_installdocs per installare la documentazione del programma), o Informazioni (usato da il comando dh_installinfo per installare i file info) nel debian directory. Per ulteriori informazioni su questi file, consultare la sezione chiamata "file di esempio dh_make". A questo punto, dovresti avere solo changelog, compat, controllo, diritto d'autore, e regole file nel debian directory. Dalla sezione chiamata "Packaging From Scratch", l'unico file che è nuovo è compat, che è un file che contiene il debhelper versione (in questo caso 4) utilizzata. Avrai bisogno di regolare il changelogleggermente in questo caso per riflettere che questo pacchetto è chiamato ciao-debhelper piuttosto che solo Ciao: Usando debhelper, le uniche cose che dobbiamo cambiare controllo sono il nome (sostituendo Ciao per ciao-debhelper) e aggiungendo debhelper (> = 4.0.0) al Build-Depends campo per il pacchetto sorgente. Il pacchetto di Ubuntu per ciao-debhelper sembra: Possiamo copiare il diritto d'autore file e il postinst e prerm script da Ubuntu ciao-debhelper pacchetto, poiché non sono stati modificati dalla sezione chiamata "Packaging From Scratch". Copieremo anche il regole file in modo che possiamo ispezionarlo. L'ultimo file che dobbiamo vedere è regole, dove il potere di debhelper gli script possono essere visti. Il debhelper versione di regole è un po 'più piccolo (54 linee rispetto a 72 linee nella versione dalla sezione chiamata "regole"). Il debhelper la versione è simile a: touch build binary-indep: install # Non ci sono file indipendenti dall'architettura da caricare # generato da questo pacchetto. Se ce ne fossero sarebbero # fatti qui. binary-arch: installa dh_testdir -a dh_testroot -a dh_installdocs -a NEWS dh_installchangelogs -a ChangeLog dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binario: binario-indep binario- arch .PHONY: binary-arch binario-indep clean checkroot Si noti che attività come test se si è nella directory giusta (dh_testdir), assicurandosi di creare il pacchetto con i privilegi di root (dh_testroot), installazione della documentazione (dh_installdocs e dh_installchangelogs) e dopo la pulizia (dh_clean) sono gestiti automaticamente. Molti pacchetti molto più complicati di Ciao avere regole file non più grandi perché il debhelper gli script gestiscono la maggior parte delle attività. Per un elenco completo di debhelper script, si prega di consultare la sezione chiamata "Elenco di debhelper script ". Sono anche ben documentati nei loro rispettivi uomo pagine. È un esercizio utile per leggere la pagina man (sono ben scritte e non lunghe) per ogni script di aiuto usato in precedenza regole file.