Emballasje med Debhelper
Viktig Krav: Kravene i seksjonen "Packaging From Scratch", pluss debhelper og dh-make Som pakker vil du sjelden opprette pakker fra bunnen av som vi har gjort i forrige avsnitt. Som du kan forestille deg, mange av oppgavene og informasjonen i regler Fil, for eksempel, er vanlig for pakker. For å gjøre pakken enklere og mer effektiv, kan du bruke debhelper å hjelpe med disse oppgavene. Debhelper er et sett med Perl-skript (prefiks med dh_) som automatiserer prosessen med pakkebygging. Med disse skriptene blir det ganske enkelt å bygge en Debian-pakke. I dette eksemplet vil vi igjen bygge GNU Hello-pakken, men denne gangen vil vi sammenligne vårt arbeid med Ubuntu hallo-debhelper pakke. Igjen, opprett en katalog hvor du skal jobbe: Deretter får du Ubuntu-kildepakken: Som det forrige eksempelet, må vi pakke opp den opprinnelige (oppstrøms) tarball. I stedet for å kopiere oppstrøms tarball til hello_2.1.1.orig.tar.gz som vi gjorde i det forrige eksempelet, vil vi la dh_make gjør jobben for oss. Det eneste du må gjøre er å gi nytt navn til kildemappen slik at den er i form av
For å opprette den første "debianiseringen" av kilden vi skal bruke dh_make. dh_make vil da stille deg en rekke spørsmål: Forsiktighet Kjør bare dh_make -e en gang. Hvis du kjører det igjen etter at du har gjort det første gang, fungerer det ikke riktig. Hvis du vil endre det eller gjøre en feil, fjern kildekatalogen og ta opp oppstrøms tarball på nytt. Deretter kan du overføre til kildekatalogen og prøve igjen. Løping dh_make -e gjør to ting: De Hallo Programmet er ikke veldig komplisert, og som vi har sett i avsnittet "Packaging From Scratch", pakker det ikke mye mer enn de grunnleggende filene. Derfor, la oss fjerne .ex filer: Til Hallo, det vil du heller ikke * Tillatelse * Ubuntu Packaging Guide Index trenge README.Debian (README-fil for spesifikke Debian-problemer, ikke programmets README), kataloger (brukt av dh_installdirs å opprette nødvendige kataloger), docs (brukt av dh_installdocs for å installere programdokumentasjon), eller info (brukt av dh_installinfo å installere infofilen) filer i debian katalogen. For mer informasjon om disse filene, se delen "dh_make example files". På dette punktet bør du bare ha changelog, compat, styre, opphavsrett, og regler filer i debian katalogen. Fra delen "Packaging From Scratch", er den eneste filen som er ny compat, som er en fil som inneholder debhelper versjon (i dette tilfellet 4) som brukes. Du må justere changeloglitt i dette tilfellet for å gjenspeile at denne pakken er oppkalt hallo-debhelper heller enn bare Hallo: Ved bruk av debhelper, de eneste tingene vi trenger for å forandre seg i styre er navnet (erstatter Hallo til hallo-debhelper) og legge til debhelper (> = 4.0.0) til Build-Depends feltet for kildepakken. Ubuntu-pakken for hallo-debhelper ser ut som: Vi kan kopiere opphavsrett fil og postinst og prerm skript fra Ubuntu hallo-debhelper pakke, da de ikke er endret siden avsnittet "Packaging From Scratch". Vi vil også kopiere regler filen slik at vi kan inspisere den. Den siste filen vi trenger å se på er regler, hvor kraften til debhelper man kan se skript. De debhelper versjon av regler er noe mindre (54 linjer i motsetning til 72 linjer i versjonen fra avsnittet kalt "regler"). De debhelper versjonen ser ut som: touch build binær-indep: install # Det er ingen arkitektur-uavhengige filer som skal lastes opp # generert av denne pakken. Hvis det var noen ville de være # laget her. binærbue: installere dh_testdir -a dh_testroot -a dh_installdocs -a NYHETER 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 binær: binær-indep binær- bue. PHONY: binær binærbue binær-indep ren sjekk Legg merke til at oppgaver som testing hvis du er i riktig katalog (dh_testdir), sørg for at du bygger pakken med root-privilegier (dh_testroot), installere dokumentasjon (dh_installdocs og dh_installchangelogs), og rydde opp etter byggingen (dh_clean) håndteres automatisk. Mange pakker er mye mer kompliserte enn Hallo ha regler filer ikke større fordi debhelper Skript håndterer de fleste oppgavene. For en komplett liste over debhelper skript, se avsnittet "Liste over debhelper skript ". De er også godt dokumentert i deres respektive Mann sider. Det er en nyttig øvelse for å lese mannens side (de er velskrevne og ikke lange) for hvert hjelpeskript som brukes i det ovennevnte regler fil.