Canllaw Pecynnu Ubuntu

Dogfennaeth

Pecynnu gyda Debhelper


[Pwysig]

Gofynion: Y gofynion o'r adran o'r enw "Packaging From Scratch" ynghyd â dillad debel a dh-make

Fel pecyn pacio, anaml y byddwch yn creu pecynnau o'r dechrau fel yr ydym wedi'i wneud yn yr adran flaenorol. Fel y gallwch chi ddychmygu, mae llawer o'r tasgau a'r wybodaeth yn y ffeil rheolau , er enghraifft, yn gyffredin i becynnau. Er mwyn gwneud pacio yn haws ac yn fwy effeithlon, gallwch ddefnyddio dillad golchi i helpu gyda'r tasgau hyn. Mae Debhelper yn set o sgriptiau Perl (wedi'i rhagnodi â dh_ ) sy'n awtomeiddio'r broses o adeiladu pecynnau. Gyda'r sgriptiau hyn, bydd adeiladu pecyn Debian yn eithaf syml.

Yn yr enghraifft hon, fe wnawn ni eto adeiladu pecyn GNU Hello, ond y tro hwn byddwn yn cymharu ein gwaith i'r pecyn Hello-Debhelper Ubuntu. Eto, creu cyfeiriadur lle byddwch chi'n gweithio:

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

Yna, cewch becyn ffynhonnell Ubuntu:

cd helo-debhelper ffynhonnell apt-get ..

Fel yr enghraifft flaenorol, y peth cyntaf y mae angen i ni ei wneud yw dadbacio'r tarball gwreiddiol (i fyny'r afon).

tar -xzvf hello-2.1.1.tar.gz

Yn hytrach na chopïo'r tarball i fyny'r afon i hello_2.1.1.orig.tar.gz fel y gwnaethom yn yr enghraifft flaenorol, byddwn yn gadael i dd_make wneud y gwaith i ni. Yr unig beth y mae'n rhaid i chi ei wneud yw ail-enwi'r ffolder ffynhonnell felly mae ar ffurf - lle mae pecynameg yn is. Yn yr achos hwn, dim ond untarring the tarball sy'n cynhyrchu cyfeirlyfr ffynhonnell a enwir yn gywir fel y gallwn symud i mewn iddo:

cd hello-2.1.1

Er mwyn creu "debianization" cychwynnol y ffynhonnell byddwn yn defnyddio dh_make .

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

Bydd dh_make wedyn yn gofyn cyfres o gwestiynau i chi:

Math o becyn: deuaidd unigol, lluosog deuaidd, llyfrgell, modiwl cnewyllyn neu cdbs? [s / m / l / k / b] s
Enw Cynnal: Capten Packager Cyfeiriad E-bost: packager@coolness.com Dyddiad: Dydd Iau, 6 Ebr 2006 10:07:19 -0700 Enw Pecyn: hello Fersiwn: 2.1.1 Trwydded: gwag Math o Pecyn: Hit Unigol i Cadarnhewch: Rhowch


[Rhybuddiad]

Dim ond redeg dh_make -e unwaith. Os ydych chi'n ei redeg eto ar ôl i chi ei wneud y tro cyntaf, ni fydd yn gweithio'n iawn. Os ydych chi am ei newid neu wedi gwneud camgymeriad, tynnwch y cyfeirlyfr ffynhonnell a thynnwch y pêl fas uwch i fyny'r afon yn ddiweddar. Yna gallwch chi symud i'r cyfeiriadur ffynhonnell a cheisio eto.

Rhedeg dh_make -ew dau beth:

Nid yw'r rhaglen Hello yn gymhleth iawn, ac fel y gwelsom yn yr adran o'r enw "Packaging From Scratch", nid oes angen llawer mwy na'r pecynnau sylfaenol ar gyfer pecynnu. Felly, gadewch i ni gael gwared ar y ffeiliau .ex :

cd debian rm * .ex * .EX

I helo , ni fyddwch hefyd

* Trwydded

* Mynegai Canllaw Pecynnu Ubuntu

mae angen README.Debian (ffeil README ar gyfer materion penodol Debian, nid README y rhaglen), dirs (a ddefnyddir gan dh_installdirs i greu cyfeiriaduron angenrheidiol), dogfennau (a ddefnyddir gan dh_installdocs i osod dogfennaeth rhaglen), neu wybodaeth (a ddefnyddir gan dh_installinfo i osod y wybodaeth ffeil) i mewn i'r cyfeiriadur debiaidd . Am ragor o wybodaeth am y ffeiliau hyn, gweler yr adran o'r enw "dh_make example files".

Ar y pwynt hwn, dylech gael dim ond changelog , cydwedd , rheolaeth , hawlfraint , a ffeiliau rheolau yn y cyfeiriadur debiaidd . O'r adran o'r enw "Packaging From Scratch", yr unig ffeil sy'n newydd yw cydweddyn , sef ffeil sy'n cynnwys y fersiwn debelper (yn yr achos hwn 4) a ddefnyddir.

Bydd angen i chi addasu'r changelog ychydig yn yr achos hwn i adlewyrchu bod y pecyn hwn yn cael ei enwi heliw dyled yn hytrach na dim ond helo :

dapper helo-debelper (2.1.1-1); brys = isel * Datganiad cychwynnol - Capten Packager Thu, 6 Apr 2006 10:07:19 -0700

Drwy ddefnyddio debhelper , yr unig bethau y mae angen i ni newid mewn rheolaeth yw'r enw (amnewid helo ar gyfer helfa-debhelper ) ac ychwanegu debelper (> = 4.0.0) i'r maes Adeiladu-Ddibynyddion ar gyfer y pecyn ffynhonnell. Mae'r pecyn Ubuntu ar gyfer hello-debhelper yn edrych fel:

Gallwn gopïo'r ffeil hawlfraint a'r sgriptiau postinst a prerm o'r pecyn Hello-debhelper Ubuntu, gan nad ydynt wedi newid ers yr adran o'r enw "Packaging From Scratch". Byddwn hefyd yn copïo'r ffeil rheolau fel y gallwn ei archwilio.

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.

Y ffeil olaf y mae angen i ni edrych arno yw rheolau , lle gellir gweld y sgriptiau pŵer dadlau . Mae'r fersiwn ddiwethaf o reolau ychydig yn llai (54 llinellau yn hytrach na 72 o linellau yn y fersiwn o'r adran o'r enw "rheolau").

Mae'r fersiwn debhelper yn edrych fel:

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

cyffwrdd adeiladu binary-indep: install # Does dim ffeiliau pensaernïol annibynnol i'w llwytho i fyny # a gynhyrchir gan y pecyn hwn. Os oedd unrhyw beth byddent yn cael eu gwneud # yma. arch binary: gosod 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 binario: binary-indep binary- arch .PHONI: archwiliad glan llyn ddeuaidd deiffer ddeuaidd

Rhowch wybod bod tasgau fel profion os ydych yn y cyfeiriadur cywir ( dh_testdir ), gan sicrhau eich bod yn adeiladu'r pecyn gyda breintiau gwraidd ( dh_testroot ), gosod dogfennau ( dh_installdocs a dh_installchangelogs ), a glanhau ar ôl yr adeilad ( dh_clean ) yn cael eu trin yn awtomatig . Mae llawer o becynnau llawer mwy cymhleth na helo yn cael rheolau ffeiliau yn fwy oherwydd bod y sgriptiau dadlwytho yn ymdrin â'r rhan fwyaf o'r tasgau. Am restr lawn o sgriptiau debhelper , gweler yr adran o'r enw "Rhestr o sgriptiau dyledwr ". Maent hefyd wedi'u dogfennu'n dda yn eu tudalennau dyn priodol. Mae'n ymarferiad defnyddiol i ddarllen y dudalen dyn (maent wedi'u hysgrifennu'n dda ac nid yn hir) ar gyfer pob sgript cynorthwyol a ddefnyddir yn y ffeil rheolau uchod.