Emballage med Debhelper
Vigtig Krav: Kravene i afsnittet "Packaging From Scratch" plus debhelper og dh-make Som pakker vil du sjældent oprette pakker fra bunden som vi har gjort i det foregående afsnit. Som du kan forestille dig, mange af opgaverne og oplysningerne i regler Fil, for eksempel, er fælles for pakker. For at gøre emballagen nemmere og mere effektiv, kan du bruge debhelper at hjælpe med disse opgaver. Debhelper er et sæt Perl-scripts (præfikset med dh_), der automatiserer processen med pakkeopbygning. Med disse scripts bliver det helt simpelt at opbygge en Debian-pakke. I dette eksempel vil vi igen bygge GNU Hello-pakken, men denne gang vil vi sammenligne vores arbejde med Ubuntu hej-debhelper pakke. Igen opretter du en mappe, hvor du vil arbejde: Så få Ubuntu source pakken: Som det forrige eksempel er det første, vi skal gøre, at pakke den oprindelige (opstrøms) tarball. I stedet for at kopiere upstream tarball til hello_2.1.1.orig.tar.gz som vi gjorde i det foregående eksempel, vil vi lade dh_make gør arbejdet for os. Det eneste du skal gøre er at omdøbe kildemappen, så den er i form af
For at oprette den oprindelige "debianization" af kilden, vil vi bruge dh_make. dh_make vil så stille dig en række spørgsmål: Advarsel Kør kun dh_make -e enkelt gang. Hvis du kører det igen, når du gør det første gang, fungerer det ikke korrekt. Hvis du vil ændre det eller begå en fejl, skal du fjerne kildekatalogen og oprettere den opadgående tarball igen. Derefter kan du overføre til kildemappen og prøve igen. Løb dh_make -e gør to ting: Det Hej Programmet er ikke meget kompliceret, og som vi har set i afsnittet "Packaging From Scratch", pakker det ikke meget mere end de grundlæggende filer. Lad os derfor fjerne .ex filer: Til Hej, det vil du heller ikke * Licens * Ubuntu Packaging Guide Index brug for README.Debian (README-fil til specifikke Debian-problemer, ikke programmets README), dirs (brugt af dh_installdirs at oprette nødvendige mapper) docs (brugt af dh_installdocs at installere programdokumentation), eller info (brugt af dh_installinfo for at installere infofilen) filer i Debian vejviser. For mere information om disse filer, se afsnittet "dh_make example files". På dette tidspunkt bør du kun have changelog, compat, kontrollere, ophavsret, og regler filer i Debian vejviser. Fra afsnittet "Packaging From Scratch" er den eneste fil der er ny compat, som er en fil, der indeholder debhelper version (i dette tilfælde 4), der bruges. Du bliver nødt til at justere changeloglidt i dette tilfælde for at afspejle, at denne pakke er opkaldt hej-debhelper snarere end bare Hej: Ved hjælp af debhelper, de eneste ting, vi skal ændre i kontrollere er navnet (erstatter Hej til hej-debhelper) og tilføje debhelper (> = 4.0.0) til Build-Depends feltet til kildepakken. Ubuntu pakken til hej-debhelper ligner: Vi kan kopiere ophavsret fil og postinst og prerm scripts fra Ubuntu hej-debhelper pakke, da de ikke er ændret siden afsnittet "Packaging From Scratch". Vi vil også kopiere regler fil, så vi kan inspicere det. Den sidste fil vi skal se på er regler, hvor kraften af debhelper scripts kan ses. Det debhelper version af regler er noget mindre (54 linjer i modsætning til 72 linjer i versionen fra afsnittet "regler"). Det debhelper versionen ser ud som: touch build binær-indep: installer # Der er ingen arkitektoniske uafhængige filer, der skal uploades # genereret af denne pakke. Hvis der var nogen, ville de være # lavet her. binære-arch: installere dh_testdir -a dh_testroot -a dh_installdocs -a NYHEDER 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- arch .PHONY: binær binær-arch binær-indep ren checkroot Bemærk, at opgaver som test, hvis du er i det rigtige bibliotek (dh_testdir), så du sørger for at opbygge pakken med rodrettigheder (dh_testroot), installation af dokumentation (dh_installdocs og dh_installchangelogs) og rydde op efter bygningen (dh_clean) håndteres automatisk. Mange pakker er meget mere komplicerede end Hej har regler filer ikke større fordi debhelper scripts håndterer de fleste opgaver. For en komplet liste over debhelper scripts, se afsnittet "List of debhelper scripts ". De er også veldokumenterede i deres respektive mand sider. Det er en nyttig øvelse at læse mandsiden (de er velskrevne og ikke lange) for hvert hjælpescript, der anvendes i ovenstående regler fil.




