Ubuntu Packaging Gid

Dokimantasyon

Anbalaj ak Debhelper


[Enpòtan]

Kondisyon: Kondisyon ki nan seksyon ki rele "Packaging From Scratch" plis debhelper ak dh-make

Kòm yon pake, ou pral raman kreye pakè nan grafouyen jan nou te fè nan seksyon anvan an. Kòm ou ka imajine, anpil nan travay yo ak enfòmasyon nan dosye a règ , pou egzanp, yo komen nan pakè. Pou fè anbalaj pi fasil epi pi efikas, ou ka itilize debhelper pou ede avèk travay sa yo. Debhelper se yon seri Perl Scripts (prefiks ak dh_ ) ki otomatize pwosesis la nan bilding pake. Avèk sa yo Scripts, bati yon pake Debian vin byen senp.

Nan egzanp sa a, nou pral ankò bati GNU Bonjou pake a, men fwa sa a nou pral konpare travay nou yo nan pake Ubuntu hello-debhelper la . Ankò, kreye yon anyè kote w ap travay:

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

Lè sa a, jwenn pakè a sous Ubuntu:

Apt-jwenn sous hello-debhelper cd ..

Tankou egzanp lan anvan, premye bagay nou bezwen fè se dépasse orijinal la (en) tarball.

tar -xzvf hello-2.1.1.tar.gz

Olye pou yo kopye tarball en nan hello_2.1.1.orig.tar.gz jan nou te fè nan egzanp lan anvan, nou pral kite dh_make fè travay la pou nou. Bagay la sèlman ou dwe fè se chanje katab la sous kidonk li se nan fòm lan nan - kote packagename se miniskil. Nan ka sa a, jis rannman tarball a pwodui yon anyè sous kòrèkteman yo te rele pou nou ka deplase nan li:

cd hello-2.1.1

Pou kreye premye "debianization" sous la nou pral sèvi ak dh_make .

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

dh_make pral Lè sa a, mande ou yon seri de kesyon:

Kalite pake: sèl binè, miltip binè, bibliyotèk, modil Kernel oswa cdbs? [s / m / l / k / b] s
Non Maintainer: Kapitèn Packager Imèl-Adrès: Packager@coolness.com Dat: Thu, 6 Apr 2006 10:07:19 -0700 Non pake: hello Version: 2.1.1 Lisansi: vid Kalite pake: Single frape a konfime: Mete


[Atansyon]

Sèlman kouri dh_make -e yon fwa. Si ou kouri l 'ankò apre ou fè li premye fwa, li pa pral travay byen. Si ou vle chanje li oswa li te fè yon erè, retire anyè a sous ak untar revèy an dènye tarball. Lè sa a, ou ka emigre nan anyè a sous epi eseye ankò.

Kouri dh_make -e fè de bagay:

Pwogram nan Hello se pa bagay ki konplike anpil, ak jan nou te wè nan seksyon ki rele "Packaging nan grafouyen", anbalaj li pa mande pou pi plis pase dosye debaz yo. Se poutèt sa, se pou nou retire dosye yo .ex :

cd debian rm * .ex * .EX

Pou alo , ou pral tou pa

* Lisansye

* Ubuntu Packaging Gid Index

bezwen README.Debian (README dosye pou pwoblèm Debian espesifik, pa README pwogram nan), dirs (itilize pa dh_installdirs yo kreye repèrtwar bezwen), doc (itilize pa dh_installdocs yo enstale dokiman pwogram), oswa info (itilize pa dh_installinfo enstale enfòmasyon an dosye) dosye nan anyè a debian . Pou plis enfòmasyon sou dosye sa yo, gade seksyon ki rele "dh_make egzanp dosye".

Nan pwen sa a, ou ta dwe gen sèlman changelog , konpatri , kontwòl , copyright , ak règ dosye nan anyè a debian . Soti nan seksyon ki rele "Packaging From Scratch", dosye a sèlman ki se nouvo se konpatib , ki se yon dosye ki gen vèsyon an debhelper (nan ka sa a 4) ki itilize.

Ou pral bezwen ajiste changelog la yon ti kras nan ka sa a yo reflete ke sa a se pake rele alo-debhelper olye ke jis alo :

alo-debhelper (2.1.1-1) dapper; ijans = ba * Inisyal lage - Kapitèn Packager Thu, 6 Apr 2006 10:07:19 -0700

Lè l sèvi avèk debhelper , bagay sa yo sèlman nou bezwen chanje nan kontwòl yo se non an (ranplase hello pou alo-debhelper ) ak ajoute debhelper (> = 4.0.0) nan jaden an bati-depann pou pake a sous. Pake a Ubuntu pou alo-debhelper sanble:

Nou ka kopye dosye copyright an ak Scripts postinst ak prerm soti nan pake Ubuntu hello-debhelper la , menm jan yo pa te chanje depi seksyon ki rele "Packaging nan grate". Nou pral kopye dosye règ la tou pou nou ka enspekte li.

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.

Dosye a dènye nou bezwen gade nan se règleman , kote pouvwa a nan Scripts debhelper ka wè. Vèsyon an debhelper nan règleman se yon ti jan pi piti (54 liy kòm opoze a 72 liy nan vèsyon an nan seksyon an ki rele "règleman").

Vèsyon an debhelper sanble:

#! / usr / bin / fè -f pake = hello-debhelper CC = GCC CFLAGS = -g -Wal sieq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS))) CFLAGS = = OO endif # ekspòte DH_VERBOSE = 1 pwòp : dh_testdir dh_clean rm -f bati - $ (MAKE) -i enstale detclean: bati dh_clean dh_installdirs $ (make) prefix = $ (CURDIR) / debian / $ (pake) / usr \ mandir = $ (CURDIR) / debian / $ (pake) / usr / share / man \ infodir = $ (CURDIR) / debian / $ (pake) / usr / share / info \ enstale bati: ./configure --prefix = / usr $ (FÈ) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

manyen bati binè-indep: enstale # Pa gen okenn achitekti-endepandan dosye yo dwe Uploaded # ki te pwodwi pa pake sa a. Si te gen nenpòt ki yo ta dwe # te fè isit la. binè-vout: enstale 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è: binè-endep binè- ark .PHONY: binè binè-vout binè-endep pwòp chèk

Avi ke travay tankou tès si ou se nan anyè a dwa ( dh_testdir ), fè sèten ou ap bati pake a ak privilèj rasin ( dh_testroot ), enstale dokiman ( dh_installdocs ak dh_installchangelogs ), ak netwaye apre bati a ( dh_clean ) yo okipe otomatikman . Pakè Anpil pi plis konplike pase hello gen règ dosye pi gwo paske Scripts yo debhelper manyen pi fò nan travay yo. Pou yon lis konplè nan Scripts debhelper , tanpri al gade seksyon ki rele "Lis Scripts Scrihlper ". Yo byen dokimante tou nan paj respektif yo. Li se yon egzèsis itil li paj la nonm (yo byen ekri epi yo pa long) pou chak script siksè itilize nan dosye a pi wo a règ .