Ubuntu iepakojuma rokasgrāmata

Dokumentācija

Iepakojums ar Debhelper


[Svarīgs]

Prasības: Prasības no sadaļas "Iepakojums no ieskrāpēšanas" plus debhelper un dh-make

Kā iepakotājs, jūs reti izveidojat pakas no nulles, kā mēs to izdarījām iepriekšējā sadaļā. Kā jūs varat iedomāties, piemēram, daudzi no uzdevumiem un informācijai, kas ietverti noteikumu failos, ir kopējas pakotnēm. Lai padarītu iepakojumu vieglāku un efektīvāku, varat izmantot debhelper, lai palīdzētu šiem uzdevumiem. Debhelper ir Perl skriptu kopums (prefikss ar dh_ ), kas automatizē pakešu veidošanas procesu. Ar šiem skriptiem Debian paketes veidošana kļūst pavisam vienkārša.

Šajā piemērā mēs atkal izveidosim GNU Hello paketi, taču šoreiz mēs salīdzināsim savu darbu ar Ubuntu hello-debhelper pakotni. Atkal izveidojiet direktoriju, kurā jūs strādājat:

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

Tad iegūstiet Ubuntu pirmkodu:

apt-get source hello-debhelper cd ..

Tāpat kā iepriekšējais piemērs, pirmā lieta, kas mums jādara, ir izpakot oriģinālu (augšpus straumi).

tar -xzvf hello-2.1.1.tar.gz

Tā vietā, lai augšupielādes rīkjoslu kopētu uz hello_2.1.1.orig.tar.gz kā mēs to izdarījām iepriekšējā piemērā, mēs ļausim dh_make paveikt darbu mums. Vienīgais, kas jums jādara, ir pārdēvēt avota mapi tā, lai tas būtu - formā, kur packagename ir mazais. Šajā gadījumā, vienkārši iztukšojot lietojumprogrammu, tiek izveidots pareizi nosauktais avota katalogs, lai mēs varētu to pārvietot:

cd hello-2.1.1

Lai izveidotu sākotnējo "debianization" no avota mēs izmantosim dh_make .

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

Dh_make tad jautās jums virkni jautājumu:

Pakotnes veids: viena bināra, vairāku bināro, bibliotēka, kodola modulis vai cdbs? [s / m / l / k / b] s
Uzturētāja nosaukums: Captain Packager e-pasta adrese: packager@coolness.com Datums: trešdiena, 2006. gada 6. aprīlis 10:07:19 -0700 Iepakojuma nosaukums: hello Versija: 2.1.1 Licence: tukšs Iepakojuma veids: vienreizējais uz apstipriniet: ievadiet


[Uzmanību]

Tikai palaist dh_make -e vienu reizi. Ja jūs to atkal palaidīsit pēc pirmās reizes, tas nedarbosies pareizi. Ja vēlaties to mainīt vai kļūdījies, noņemiet avota direktoriju un no jauna noņemiet augšupielādes lietderību. Tad jūs varat migrēt avota direktorijā un mēģināt vēlreiz.

Darbojas dh_make - tas ir divas lietas:

Programma Hello nav ļoti sarežģīta, un, kā mēs to redzējām sadaļā "Iepakojums no ieskrāpēt", iepakojumam nav nepieciešami daudz vairāk nekā pamata faili. Tādēļ ļaujiet mums noņemt .ex failus:

cd debian rm * .ex * .EX

Par sveiks , jūs arī ne

* Licence

* Ubuntu iepakojuma rokasgrāmatas indekss

nepieciešams README.Debian (README fails konkrētiem Debian izdevumiem, nevis programmas README), dirs (izmanto dh_installdirs, lai izveidotu nepieciešamos direktorijus), docs (ko izmanto dh_installdocs, lai instalētu programmas dokumentāciju) vai info (ko izmanto dh_installinfo, lai instalētu informāciju failu) failus debijas direktorijā. Plašāku informāciju par šiem failiem skatiet sadaļā "dh_make example files".

Šajā brīdī debijas direktorijā jums vajadzētu būt tikai changelog , compat , kontroles , autortiesību un noteikumu failiem. No sadaļas "Packaging From Scratch" vienīgais jaunais fails ir compat , kas ir fails, kurā ir izmantota debhelper versija (šajā gadījumā 4).

Šajā gadījumā jums būs nepieciešams nedaudz koriģēt izmaiņu sarakstu, lai atspoguļotu to, ka šī pakete ir nosaukta hello-debhelper, nevis tikai sveika :

hello-debhelper (2.1.1-1) dapper; steidzamība = zems * Sākotnējais atbrīvojums - Captain Packager Thu, 6 Apr 2006 10:07:19 -0700

Izmantojot debhelper , vienīgās lietas, kas mums jāmaina kontrolē, ir nosaukums (aizstājot hello par hello-debhelper ) un debhelper (> = 4.0.0) pievienojot avota pakotnes laukam Build-Depends . Ubuntu pakete hello-debhelper izskatās šādi:

Mēs varam kopēt autortiesību failu un postinst un prerm skriptus no Ubuntu hello-debhelper pakotnes, jo tie nav mainījušies kopš sadaļas "Packaging From Scratch". Mēs arī kopēsim noteikumu failu, lai mēs varētu to pārbaudīt.

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.

Pēdējais fails, kas mums jāaplūko, ir noteikumi , kur redzama debhelper skriptu jauda. Noteikumu debhelper versija ir nedaudz mazāka (54 rindiņas pretēji 72 rindām versijā no sadaļas "noteikumi").

Atbalsta versijas versija ir šāda:

#! / usr / bin / make -f paketes = hello-debhelper CC = gcc CFLAGS = -g -Wall ifeq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS)))) CFLAGS + = -O2 endif #export DH_VERBOSE = 1 tīrs : dh_testdir dh_clean rm -f build-$ (MAKE) -i distclean instalēt: build dh_clean dh_installdirs $ (MAKE) prefikss = $ (CURDIR) / debian / $ (package) / usr \ mandir = $ (CURDIR) / debian / $ (pakete) / usr / share / man \ infodir = $ (CURDIR) / debian / $ (package) / usr / share / info \ install build: ./configure --prefix = / usr $ (MAKE) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

pieskarieties veidot bināro indepu: instalēt # Šajā paketē nav no arhitektūras neatkarīgu augšupielādējamu failu. Ja būtu kāds, tad šeit tos ierakstīs #. binary-arch: instalējiet 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 binārā: binārā-indep binārā- arch .PHONY: binārā binārā arka binārā-indep tīra checkroot

Ievērojiet, ka uzdevumi, piemēram, testēšana, ja esat pareizajā direktorijā ( dh_testdir ), pārliecinoties, ka jūs veidojat paketi ar root privilēģijām ( dh_testroot ), instalējot dokumentāciju ( dh_installdocs un dh_installchangelogg ) un tīrīšana pēc tam, kad bāze ( dh_clean ) tiek apstrādāta automātiski . Daudzas pakotnes ir daudz sarežģītākas nekā sveiki, jo noteikumi failiem nav lielāki, jo debhelper skripti izpilda lielāko daļu uzdevumu. Lai iegūtu pilnu sarakstu ar debhelper skriptiem, lūdzu, skatiet sadaļu " Debhelper scripts saraksts". Tie ir arī labi dokumentēti to attiecīgajās vīriešu lapās. Tas ir noderīgs uzdevums, lai izlasītu vīriešu lapu (tie ir labi uzrakstīti un nav garš) par katru palīgs skriptu, kas izmantots iepriekš minēto noteikumu failā.