Giya sa Pagpangulo sa Ubuntu

Dokumentasyon

Pagputos uban sa Debelper


[Importante]

Mga kinahanglanon: Ang mga gikinahanglan gikan sa seksyon nga gitawag og "Packaging From Scratch" plus debhelper ug dh-make

Isip usa ka tigpamilya, panagsa ra ka makahimo og mga pakete gikan sa sinulat ingon sa among nahimo sa miaging seksyon. Sama sa imong mahanduraw, daghan sa mga buluhaton ug impormasyon sa mga lagda nga pananglitan, pananglitan, komon sa mga pakete. Aron masayon ​​ang pagputos ug mas epektibo, mahimo nimong gamiton ang debelper aron makatabang sa mga buluhaton. Ang Debhelper usa ka hugpong sa mga script nga Perl (prefixed with dh_ ) nga nag-automate sa proseso sa pagtukod og package. Uban niini nga mga script, ang pagtukod sa usa ka Debian nga pakete mahimong yano.

Sa kini nga panig-ingnan, kita pag-usab pagtukod sa GNU Hello package, apan niining panahona atong gitandi ang atong trabaho sa Ubuntu hello-debhelper nga pakete. Pag-usab, paghimo og usa ka direktoryo diin ikaw magtrabaho:

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

Dayon, kuhaa ang pakete sa tinubdan sa Ubuntu:

apt-get source hello-debhelper cd ..

Sama sa miaging pananglitan, ang unang butang nga kinahanglan natong buhaton mao ang pag-unpack sa orihinal nga (upstream) tarball.

tar -xzvf hello-2.1.1.tar.gz

Imbis nga kopyahon ang upstream tarball sa hello_2.1.1.orig.tar.gz sama sa gibuhat sa miaging panig-ingnan, atong tugotan ang dh_make sa pagbuhat alang kanato. Ang bugtong butang nga imong buhaton mao ang pag-usab sa tinubdan nga tinubdan aron kini anaa sa porma sa - diin ang packagename mao ang lowercase. Sa niini nga kaso, ang pagbuntog lamang sa tarball ang naggama sa usa ka husto nga gingalan nga direktoryo aron makalihok kita niini:

cd hello-2.1.1

Sa paghimo sa inisyal nga "debianization" sa tinubdan nga atong gamiton dh_make .

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

Ang dh_make unya mangutana kanimo sa usa ka serye sa mga pangutana:

Uri sa pakete: single binary, multiple binary, library, kernel module o cdbs? [s / m / l / k / b] s
Gitawag nga: Captain Packager Email-Address: packager@coolness.com Date: Thu, 6 Apr 2006 10:07:19 -0700 Package Name: hello Version: 2.1.1 License: blangko Type of Package: Single Hit to pamatud-i: Pagsulod


[Pag-amping]

Pagdalagan lamang dh_make -e kausa. Kon ikaw modagan kini pag-usab human nimo buhaton kini sa unang higayon, kini dili magtrabaho sa husto. Kung gusto nimong usbon kini o masayop, kuhaa ang direktoryo sa source ug ibalhin ang upstream nga tarball. Dayon mahimo ka nga moadto sa direktoryo sa source ug sulayan pag-usab.

Ang nagdagan nga dh_make -e adunay duha ka mga butang:

Ang Hello program dili kaayo komplikado, ug sumala sa atong nakita sa seksyon nga gitawag og "Packaging From Scratch", ang pag-packaging wala kini magkinahanglan og labaw pa kay sa mga nag-unang mga file. Busa, atong kuhaon ang mga file sa .ex :

cd debian rm * .ex * .EX

Alang sa hello , ikaw dili usab

* Lisensya

* Ang Ubuntu Packaging Guide Index

kinahanglan README.Debian (README file alang sa piho nga mga isyu sa Debian, dili sa README sa programa), dirs (gigamit sa dh_installdirs sa paghimo sa gikinahanglan nga mga direktoryo), docs (gigamit sa dh_installdocs sa pag-instalar sa dokumentasyon sa programa), o impormasyon (gigamit sa dh_installinfo aron i-install ang info file) nga mga file ngadto sa debian directory. Alang sa dugang kasayuran mahitungod niini nga mga file, tan-awa ang seksiyon nga gitawag og "dh_make sample files".

Niini nga punto, ikaw kinahanglan nga adunay changelog , compat , pagkontrol , copyright , ug rules files sa debian directory. Gikan sa seksyon nga gitawag og "Packaging From Scratch", ang bugtong file nga bag-o mao ang compat , nga usa ka file nga naglangkob sa bersyon sa debhelper (sa niini nga kaso 4) nga gigamit.

Kinahanglan nimo nga usbon ang changelog nga gamay sa kini nga kaso aron sa pagpakita nga kini nga package ginganlan nga hello-debhelper inay kay sa hello lamang:

hello-debhelper (2.1.1-1) dapper; awhag = gamay nga * Inisyal nga pagpagawas - Captain Packager Thu, 6 Apr 2006 10:07:19 -0700

Pinaagi sa paggamit sa debelper , ang mga butang lamang nga kinahanglan natong usbon mao ang ngalan (ilisan ang hello-debhelper ) ug idugang ang debelper (> = 4.0.0) ngadto sa field nga Build-Depends alang sa source nga pakete. Ang pakete sa Ubuntu alang sa hello-debhelper sama sa:

Mahimo natong kopyahon ang file sa copyright ug ang postinst ug prerm script gikan sa Ubuntu hello-debhelper nga pakete, tungod kay kini wala mausab sukad ang seksyon nga gitawag og "Packaging From Scratch". Gikopyaan usab nato ang mga lagda sa balaod aron atong masusi kini.

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.

Ang katapusan nga file nga kinahanglan naton tan-awon mao ang mga lagda , diin ang gahum sa mga script sa debhelper makita. Ang bersyon sa debelper sa mga lagda medyo gamay (54 mga linya nga sukwahi sa 72 ka linya sa bersyon gikan sa seksyon nga gitawag og "mga lagda").

Ang bersyon sa debelper sama sa:

#! / 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 distclean install: build dh_clean dh_installdirs $ (MAKE) prefix = $ (CURDIR) / debian / $ (package) / usr \ mandir = $ (CURDIR) / debian / $ (package) / usr / share / man \ infodir = $ (CURDIR) / debian / $ (package) / usr / share / info \ install build: ./configure --prefix = / usr $ (MAKE) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

paghikap sa pagtukod sa binary-indep: i-install # Walay mga arkitekto-independent nga mga file nga i-upload # nga namugna sa kini nga pakete. Kung adunay bisan unsa nga ilang mahimo # nga gibuhat dinhi. binary-arch: i-install 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 binary: binary-indep binary- arko .PHONY: binary binary - arch binary - indep clean checkroot

Hinumdomi nga ang mga buluhaton sama sa pagsulay kung anaa ka sa hustong direktoryo ( dh_testdir ), nga sigurado nga imong gitukod ang package nga may mga root privileges ( dh_testroot ), pag-instalar sa dokumentasyon ( dh_installdocs ug dh_installchangelogs ), ug paglimpyo human sa pagtukod ( dh_clean ) . Daghang mga pakete labi ka komplikado kay sa hello nga adunay mga lagda nga walay file nga mas dako tungod kay ang mga script sa debhelper maoy kasagaran sa mga buluhaton. Alang sa kompleto nga listahan sa mga script sa debelper , palihug tan-awa ang seksyon nga gitawag og "Lista sa mga script nga debelper ". Maayo usab kini nga dokumentado sa ilang tagsa ka mga pahina sa tawo . Kini usa ka mapuslanon nga pag-ehersisyo sa pagbasa sa panid sa tawo (sila gisulat nga maayo ug dili taas) alang sa matag tigtabang nga tala nga gigamit sa nahisgutang mga lagda sa ibabaw.