Ubuntu Packaging Guide

Takardun

Ajiyayyen tare da Debhelper


[Mahimmanci]

Bukatun: Abubuwan da ake buƙata daga sashen da ake kira "Packaging From Scratch" da debhelper da dh-make

A matsayin buƙata, ba za ka iya ƙirƙirar kunshe-kunshe daga fashewa kamar yadda muka aikata a cikin sashe na baya ba. Kamar yadda zaku iya tunanin, yawancin ayyuka da bayanai a cikin fayiloli na dokoki , alal misali, suna da alaƙa ga kunshe. Don yin rubutun buƙata sauƙi kuma mafi inganci, zaku iya amfani da dillalan don taimakawa tare da waɗannan ɗawainiya. Debhelper yana da jerin rubutattun fayiloli na Perl (wanda aka riga aka kafa tare da dh_ ) wanda ke sarrafa tsarin ginin. Tare da waɗannan rubutun, gina wani ɓangaren Debian yana zama mai sauki.

A cikin wannan misali, za mu sake gina GNU Hello package, amma a wannan lokacin za mu gwada aikinmu ga kunshin sallo-debhelper Ubuntu. Bugu da ari, ƙirƙirar shugabanci inda kake aiki:

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

Bayan haka, samo kunshin tushe na Ubuntu:

Apt-Get source hello-debhelper cd ..

Kamar misalan da suka gabata, abu na farko da muke buƙatar mu yi shi ne kullun kwando na asali (zuwa sama).

tar -xzvf hello-2.1.1.tar.gz

Maimakon kwashe tarin tarwatsa zuwa hello_2.1.1.orig.tar.gz kamar yadda muka yi a misali na baya, za mu bari dh_make yi aikin a gare mu. Abinda ya kamata ka yi shi ne sake sunan babban fayil don haka yana cikin - inda packagename ne ƙananan. A wannan yanayin, kawai magance tarbijin ya samar da wani tasirin mai suna madaidaici domin mu iya shiga ciki:

cd hello-2.1.1

Don ƙirƙirar "debianization" na farko daga cikin tushen za muyi amfani da dh_make .

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

dh_make zai tambaye ku jerin tambayoyi:

Nau'in kunshin: binary binary, binary binary, ɗakin karatu, kernel module ko cdbs? [s / m / l / k / b] s
Sunan kulawa: Kyaftin Packager Email-Adireshin: packager@coolness.com Kwanan wata: Thu, 6 Afrilu 2006 10:07:19 -0700 Lambar Package: Sallo Shafin: 2.1.1 Lissafin: blank Nau'in Shirye-shirye: Single Hit zuwa tabbatar: Shigar


[Gargadi]

Kawai gudu dh_make -e sau ɗaya. Idan ka sake sake shi bayan ka yi shi a karo na farko, ba zai yi aiki yadda ya dace ba. Idan kana so ka canza shi ko kuma ka yi kuskure, cire shugabancin shugabanci kuma ka sake kwaskwarimar tarbiyya. Sa'an nan kuma za ku iya ƙaura zuwa cikin shugabanci na tushen kuma sake gwadawa.

Running dh_make -I na aikata abubuwa biyu:

Shirin Salula ba shi da matsala, kuma kamar yadda muka gani a cikin sashen da ake kira "Packaging From Scratch", marubuta shi ba ya buƙatar da yawa fiye da fayiloli na asali. Saboda haka, bari mu cire fayilolin .ex :

cd debian rm * .ex * .EX

Don sannu , za ku ma ba

* Lasisi

* Shafin Farfado na Ubuntu

suna buƙatar README.Debian (fayil na README don takamaiman Debian al'amurra, ba shirin README na shirin), dirs (amfani da dh_installdirs don ƙirƙirar kundayen adireshi da ake buƙata), takardun aiki (amfani da dh_installdocs don shigar da takardun shirin), ko bayanai (amfani da dh_installinfo don shigar da bayanai fayil) fayiloli a cikin jagorar debian . Don ƙarin bayani game da waɗannan fayiloli, ga sashe da ake kira "fayilolin dh_make misali".

A wannan batu, ya kamata ka sami canzawa , ƙwaƙwalwa , sarrafawa , mallaka haƙƙin mallaka , da kuma sarrafa fayiloli a cikin jagorar debian . Daga ɓangaren da ake kira "Packaging From Scratch", kawai fayil ɗin da yake sabo ne, wanda shine fayil wanda ya ƙunshi sashin bashi (a wannan yanayin 4) da aka yi amfani dashi.

Kuna buƙatar daidaita saurin canzawa a cikin wannan yanayin don yin la'akari da cewa wannan kunshin ne mai suna hello-debhelper maimakon kawai sallo :

hello-debhelper (2.1.1-1) dapper; gaggawa = low * Da farko saki - Captain Packager Thu, 6 Apr 2006 10:07:19 -0700

Ta hanyar yin amfani da bashi , kawai abin da muke buƙatar canzawa a cikin iko shine sunan (maye gurbin hello-debhelper ) da kuma ƙara mai ba da labari (> = 4.0.0) zuwa Gidan Gina-Dangantaka don samfurin source. Ƙungiyar Ubuntu don hello-debhelper kama da:

Za mu iya kwafin fayilolin haƙƙin mallaka da kuma bayanan postinstares da rubutun farko daga ƙunshin sallo-debhelper Ubuntu, tun da ba su canza ba tun lokacin da ake kira "Packaging From Scratch". Har ila yau, za mu kwafe fayilolin dokoki domin mu iya duba shi.

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.

Fila na karshe da muke buƙatar duba shi ne dokokin , inda za a iya ganin ikon rubutattun ladabi . Dokar da aka ƙaddamar da shi ta zama ɗan ƙarami (Lines 54 da ke tsayayya da Lines 72 a cikin sashen da ake kira "dokokin").

Wannan fasali ɗin yana da kama da:

#! / usr / bin / make -f package = hello-debhelper CC = gcc CFLAGS = -g -Wall loveq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS))) CFLAGS + = -O2 endif #export DH_VERBOSE = 1 mai tsabta : dh_testdir dh_clean rm -f gina - $ (MAKE) -i ginawa: gina dh_clean dh_installdirs $ (MAKE) prefix = $ (CURDIR) / debian / $ (kunshin) / usr \ mandir = $ (CURDIR) / debian / $ (kunshin) / usr / share / man \ infodir = $ (CURDIR) / debian / $ (kunshin) / usr / share / info \ kafa gina: ./configure --prefix = / usr $ (MAKE) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

taɓa gina binary-indep: shigar # Babu fayilolin masu zaman kansu na gine-gine da za a ɗora su ta hanyar wannan kunshin. Idan akwai wani za a sanya su a nan. binary-arch: kafa 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- arki .PHONY: binary binary-arch binary-indep tsabta checkroot

Yi la'akari da cewa ayyuka kamar gwaji idan kun kasance a cikin kundin dama ( dh_testdir ), tabbatar da cewa kuna gina kunshin tare da gado na tushen ( dh_testroot ), shigar da takardun ( dh_installdocs da dh_installchangelogs ), da kuma tsaftacewa bayan ginawa ( dh_clean ) ana sarrafa ta atomatik . Da yawa kunshe-kunshe da yawa rikitarwa fiye da sannu da yawa sun yi rajista fayiloli ba girma saboda rubutun rubutun kula da mafi yawan ayyuka. Domin cikakken jerin rubutattun ladabi , don Allah a duba sashen da ake kira "Lissafi na rubutun bashi ". Ana kuma rubuce su a cikin shafukan mutane. Yana da amfani mai mahimmanci don karanta ɗan littafin mutumin (an rubuta su sosai kuma ba tsayi ba) don kowace rubutun taimako wanda aka yi amfani da shi a cikin sharuddan sharuddan da ke sama.