Vodič za pakiranje Ubuntu

Dokumentacija

Ambalaža s Debhelperom


[Važno]

Zahtjevi: Zahtjevi iz odjeljka "Pakiranje od nule" plus debhelper i dh-make

Kao čitač, rijetko ćete stvoriti pakete od nule kao što smo to učinili u prethodnom odjeljku. Kao što možete zamisliti, mnoge zadatke i informacije u datoteci pravila , primjerice, su zajedničke paketima. Da bi se pakiranje olakšalo i učinkovitije, možete koristiti debhelper kako biste pomogli tim zadacima. Debhelper je skup Perl skripti (prefiksiran s dh_ ) koji automatizira proces izgradnje paketa. S ovim skriptama, izgradnja Debian paketa postaje vrlo jednostavna.

U ovom ćemo primjeru ponovno izgraditi paket GNU Hello, ali ovaj put ćemo uspoređivati ​​naš rad s Ubuntu hello-debhelper paketom. Opet, stvorite direktorij gdje ćete raditi:

mkdir ~ / hello-debhelper cd ~ / hello-debhelper wget http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz mkdir ubuntu cd ubuntu

Zatim dobijte Ubuntu izvorni paket:

apt-get izvor hello-debhelper cd ..

Kao i prethodni primjer, prva stvar koju trebamo učiniti je otpakirati originalni (upstream) tarball.

tar -xzvf hello-2.1.1.tar.gz

Umjesto kopiranja upstream tarball na hello_2.1.1.orig.tar.gz kao što smo učinili u prethodnom primjeru, dopustit ćemo dh_make napraviti posao za nas. Jedina stvar koju morate učiniti jest preimenovati izvornu mapu tako da je u obliku - gdje je packagename mala slova. U ovom slučaju, jednostavno zanemarivanje tarballa proizvodi pravilno nazvan izvorni direktorij kako bismo se mogli preseliti u njega:

cd hello-2.1.1

Za izradu početne "debianizacije" izvora koristit ćemo dh_make .

dh_make -e your.maintainer@address -f ../hello-2.1.1.tar.gz

dh_make će vas zatim postaviti niz pitanja:

Vrsta paketa: pojedinačni binarni, višestruki binarni, knjižnica, modul kernela ili cdbs? [s / m / l / k / b] s
Ime voditelja: kapetan Packager Adresa e-pošte: packager@coolness.com Datum: čet, 6. travnja 2006 10:07:19 -0700 Naziv paketa: hello Verzija: 2.1.1 Licenca: prazno Vrsta paketa: Jedan hit to potvrdite: Unesite


[Oprez]

Samo pokrenite dh_make -e jednom. Ako ga ponovo pokrenete nakon što to učinite prvi put, neće raditi ispravno. Ako ga želite izmijeniti ili ste pogriješili, uklonite izvorni direktorij i ponovo pokrenite naredbeni redak. Zatim se možete prebaciti u izvorni direktorij i pokušati ponovno.

Trčanje dh_make- ima dvije stvari:

Program Hello nije vrlo kompliciran, a kao što smo vidjeli u odjeljku pod nazivom "Pakiranje od nule", pakiranje ne zahtijeva puno više od osnovnih datoteka. Zbog toga uklonimo .ex datoteke:

cd debian rm * .ex * .EX

Za pozdrav , također nećete

* Licenca

* Indeks Ubuntu pakiranja vodiča

trebate README.Debian (README datoteku za specifična Debian pitanja, a ne README programa), dirs (koristi ga dh_installdirs za stvaranje potrebnih direktorija), dokumente (koje koristi dh_installdocs za instalaciju programske dokumentacije) ili info (koristi dh_installinfo za instalaciju info datoteke) u debian imenik. Za više informacija o tim datotekama pogledajte odjeljak pod nazivom "dh_make example files".

U ovom trenutku, trebali biste imati samo changelog , compat , kontrolu , autorska prava i pravila datoteka u debian katalog. Od odjeljka pod nazivom "Pakiranje od nule", jedina je datoteka koja je nova kompat , što je datoteka koja sadrži debhelper verziju (u ovom slučaju 4) koja se koristi.

U ovom slučaju trebat ćete malo podesiti changelog kako bi odrazili da se ovaj paket zove hello-debhelper a ne samo hello :

hello-debhelper (2.1.1-1) dapper; urgency = low * Početno izdanje - Captain Packager Thu, 6 Apr 2006 10:07:19 -0700

Koristeći debhelper , jedine stvari koje trebamo promijeniti u kontroli su ime (zamjenjujući hello za hello-debhelper ) i dodavanje debhelper (> = 4.0.0) u polje Build- Depends za izvorni paket. Ubuntu paket za hello-debhelper izgleda kao:

Možemo kopirati datoteku za autorska prava i postinst i prerm skripte iz Ubuntu hello-debhelper paketa, jer se nisu promijenile od sekcije pod nazivom "Pakiranje od nule". Također ćemo kopirati datoteku pravila kako bismo ga mogli pregledati.

cp ../../ubuntu/hello-debhelper-2.1.1/debian/copyright. cp ../../ubuntu/hello-debhelper-2.1.1/debian/postinst. cp ../../ubuntu/hello-debhelper-2.1.1/debian/prerm. cp ../../ubuntu/hello-debhelper-2.1.1/debian/rules.

Zadnja datoteka koju trebamo pogledati su pravila , gdje se moľe vidjeti moć debelih skripti. Pravilna verzija pravila je nešto manja (54 redaka za razliku od 72 redaka u verziji iz odjeljka pod nazivom "pravila").

Čista verzija izgleda kao:

# CFLAGS + = -O2 endif #export DH_VERBOSE = 1 čist! #! / usr / bin / make -f paketa = hello-debhelper CC = gcc CFLAGS = -g -Wall ifeq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS) : dh_testdir dh_clean rm -f build - $ (MAKE) -i distclean instaliraj: izradi dh_clean dh_installdirs $ (MAKE) predbroj = $ (CURDIR) / debian / $ (paket) / usr \ mandir = $ (CURDIR) / debian / $ (paket) / usr / share / man \ infodir = $ (CURDIR) / debian / $ (paket) / usr / share / info \ instaliraj graditi: ./configure --prefix = / usr $ (MAKE) CC = (CC) "CFLAGS =" $ (CFLAGS) "

dodir graditi binarnu-indep: instalirati # Ne postoje arhitekture neovisne datoteke za učitavanje # generated by ovaj paket. Ako ih ima bilo bi napravljeno ovdje. binarni-arh: instaliraj dh_testdir -a dh_testroot -a dh_installdocs -a VIJESTI 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 binarni: binarno-indep binarno- arch. PHONY: binarni binarni-luk binarni-indep čisti kontrolni niz

Imajte na umu da se zadaci poput testiranja nalaze u pravom direktoriju ( dh_testdir ), pazeći da gradite paket s privilegijama root ( dh_testroot ), instalirate dokumentaciju ( dh_installdocs i dh_installchangelogs ) i čišćenje nakon izgradnje ( dh_clean ) , Mnogi paketi mnogo složeniji od hella imaju pravila koja nisu veća, jer se debhelper skripte obrađuju većinu zadataka. Za potpuni popis debhelper skripti, pogledajte odjeljak pod nazivom "Popis debhelper skripti". Oni su također dobro dokumentirani na svojim stranicama čovjeka . Korisna je vježba da pročitate stranicu za muškarce (dobro su pisane i ne traju) za svaku pomoćnu skriptu koja se koristi u gore navedenim datotekama pravila .