Gwida għall-Ippakkjar tal-Ubuntu

Dokumentazzjoni

Imballaġġ ma 'Debhelper


[Importanti]

Rekwiżiti: Ir-rekwiżiti mis-sezzjoni msejħa "Ippakkjar mill-Bidu" flimkien ma 'debhelper u dh-make

Bħala pakkjatur, rarament toħloq pakketti mill-bidu kif għamilna fit-taqsima ta 'qabel. Kif tista 'timmaġina, ħafna mill-kompiti u l-informazzjoni fil-fajl tar - regoli , per eżempju, huma komuni għall-pakketti. Biex l-ippakkjar isir eħfef u aktar effiċjenti, tista 'tuża d- debhelper biex tgħin dawn ix-xogħolijiet. Debhelper huwa sett ta 'skripts Perl (prefissat b'dh_ ) li awtomatizza l-proċess tal-bini ta' pakketti. B'dawn il-kitbiet, il-bini ta 'pakkett ta' Debian isir pjuttost sempliċi.

F'dan l-eżempju, aħna nibnu mill-ġdid il-pakkett GNU Hello, iżda din id-darba se nkunu nqabblu l-ħidma tagħna mal-pakkett ta 'l -hello-debhelper ta' Ubuntu. Għal darb'oħra, toħloq direttorju fejn tkun taħdem:

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

Imbagħad, niżżel il-pakkett tas-sors ta 'Ubuntu:

apt-get source hello-debhelper cd ..

Bħall-eżempju ta 'qabel, l-ewwel ħaġa li rridu nagħmlu hija l-ippakkjar tarball oriġinali (upstream).

tar-xzvf hello-2.1.1.tar.gz

Minflok ma kkopja l-tarball upstream għal hello_2.1.1.orig.tar.gz kif għamilna fl-eżempju ta 'qabel, aħna nħallu dh_make jagħmlu x-xogħol għalina. L-unika ħaġa li għandek tagħmel hu li tibdel isem il-folder tas-sors u għalhekk huwa fil-forma ta ' - fejn il-grupp tal-pakketti huwa żgħir. F'dan il-każ, ftit li xejn it-tarball jipproduċi direttorju tas-sors imsejjaħ sew hekk nistgħu nidħlu fih:

cd hello-2.1.1

Biex tinħoloq l-inizjali "debianization" tas-sors, nużaw dh_make .

dh_make-u tiegħek.maintainer@address -f ../hello-2.1.1.tar.gz

dh_make mbagħad nitolbok serje ta 'mistoqsijiet:

Tip ta 'pakkett: binarju wieħed, binarju multiplu, librerija, modulu tal-qalba jew cdbs? [s / m / l / k / b] s
Isem tal-manutenzjoni: Kaptan Packager Email-Address: packager@coolness.com Data: Thu, 6 Apr 2006 10:07:19 -0700 Isem tal-pakkett: hello Verżjoni: 2.1.1 Liċenzja: vojta Tip ta 'Pakkett: Single Hit ikkonferma: Daħħal


[Attenzjoni]

Ħaddem biss dh_make -e darba. Jekk inti tmexxiha mill-ġdid wara li tagħmel dan l-ewwel darba, mhux se taħdem kif suppost. Jekk trid tibdelha jew tkun għamilt żball, neħħi d-direttorju tas-sors u aqlaq it-tarball upstream mill-ġdid. Imbagħad int tista 'tiddawwar fid-direttorju tas-sors u erġa' pprova.

Running dh_make -e ma żewġ affarijiet:

Il-programm Hello mhuwiex ikkumplikat ħafna, u kif rajna fis-sezzjoni imsejħa "Ippakkjar mill-Bidu", l-imballaġġ ma jeħtieġx ħafna aktar mill-fajls bażiċi. Għalhekk, ejjew ineħħu l-fajls .ex :

cd debian rm * .ex * .EX

Għall- bonjour , intom ukoll mhux

* Liċenzja

* Indiċi tal-Gwida għall-Ippakkjar tal-Ubuntu

bżonn README.Debian (fajl README għal kwistjonijiet speċifiċi ta 'Debian, mhux README tal-programm), dirs (użati minn dh_installdirs biex jinħolqu direttorji meħtieġa), doks (użati minn dh_installdocs biex tinstalla dokumentazzjoni ta' programm), jew info (użat minn dh_installinfo biex tinstalla l-info fajl) fil-direttorju ta ' debian . Għal aktar informazzjoni dwar dawn il-fajls, ara t-taqsima msejħa "dh_make example files".

F'dan il-punt, għandu jkollok biss fajls changelog , compat , kontroll , copyright , u regoli fid-direttorju ta ' debian . Mit-taqsima msejħa "Ippakkjar mill-Ftuħ", l-uniku fajl li huwa ġdid huwa kompat , li huwa fajl li fih il-verżjoni debhelper (f'dan il-każ 4) li tintuża.

Ikollok bżonn taġġusta t- changelog ftit f'dan il-każ biex tirrifletti li dan il-pakkett huwa msemmi hello-debhelper aktar milli sempliċement bonjour :

hello-debhelper (2.1.1-1) dapper; urġenza = baxxa * Rilaxx inizjali - Kaptan Packager ĠU, 6 Apr 2006 10:07:19 -0700

Bl-użu tad- debhelper , l-uniċi affarijiet li għandna bżonn li nibdlu fil- kontroll huma l-isem (li tissostitwixxi bonjour għal hello-debhelper ) u żżid debhelper (> = 4.0.0) fil-qasam Build-Depends għall-pakkett tas-sors. Il-pakkett ta 'Ubuntu għall- hello-debhelper tidher qiesha:

Nistgħu nipproteġu l -fajl tad - drittijiet tal - awtur u l-iskripts postinst u prerm mill-pakkett ta ' Hello Debhelper ta' Ubuntu, peress li ma nbidlux minn mindu saret is-sezzjoni imsejħa "Ippakkjar minn Scratch". Se nkitbu wkoll il-fajl tar - regoli sabiex nistgħu nispezzjonaw.

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.

L-aħħar fajl li għandna nħarsu lejn huwa r-regoli , fejn tista 'tidher il-qawwa ta' skripts debhelper . Il-verżjoni tad- debhelper tar- regoli hija pjuttost iżgħar (54 linja minflok 72 linja fil-verżjoni mis-sezzjoni msejħa "regoli").

Il-verżjoni debhelper tidher qiesha:

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

touch build binary-indep: install # M'hemm l-ebda arkivju-fajls indipendenti li għandhom jittellgħu # ġenerati minn dan il-pakkett. Jekk kien hemm xi wħud ikunu # magħmula hawn. binarju-ark: 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 binarju: binary-indep binary- arch .PHONY: binarju binarju-arch binarju-indep checkroot nadif

Avviż li ħidmiet bħall-ittestjar jekk int qiegħed fid-direttorju dritt ( dh_testdir ), u aċċerta ruħek li qed tibni l-pakkett b'fergeriji ta ' għeruq ( dh_testroot ), billi tinstalla dokumentazzjoni ( dh_installdocs u dh_installchangelogs ) u tindif wara l-binja ( dh_clean ) . Bosta pakketti ħafna aktar ikkumplikati minn bonjour għandhom regoli fajls mhux akbar minħabba li l-iskripts debhelper jimmaniġġjaw ħafna mill-kompiti. Għal lista kompluta ta 'skripts debhelper , jekk jogħġbok ara t-taqsima msejħa "Lista ta' skripts debhelper ". Huma wkoll dokumentati tajjeb fil-paġni manwali rispettivi tagħhom. Huwa eżerċizzju utli biex taqra l-paġna tal-bniedem (huma miktuba sew u mhux twal) għal kull skrittura ta 'helper użata fil-fajl tar-regoli ta' hawn fuq.