Awọn Itọsọna Packaging Ubuntu

Iwe akosilẹ

Apo pẹlu Debhelper


[Pataki]

Awọn ibeere: Awọn ibeere lati apakan ti a npe ni "Apoti Lati Ọlọ" pẹlu iṣiro ati dh-ṣe

Bi apoti kan, iwọ yoo ṣe idiwọn lati ṣẹda awọn apoti lati fifa bi a ti ṣe ni apakan ti tẹlẹ. Bi o ṣe le fojuinu, ọpọlọpọ awọn iṣẹ-ṣiṣe ati alaye ninu faili awọn ofin , fun apeere, wọpọ ni awọn apejọ. Lati ṣe apamọ rọrun ati siwaju sii daradara, o le lo apaniyan lati ṣe iranlọwọ pẹlu awọn iṣẹ-ṣiṣe wọnyi. Debhelper jẹ akojọpọ awọn iwe afọwọkọ Perl (ti o ti ṣaju pẹlu dh_ ) ti o ṣakoso ilana iṣẹ-iṣọpọ. Pẹlu awọn iwe afọwọkọ wọnyi, iṣelọpọ Debian kan di ohun rọrun.

Ni apẹẹrẹ yii, a tun tun ṣe atokọ GNU Hello package, ṣugbọn ni akoko yii a yoo fi wewewe wa si Ubuntu hello-debhelper package. Lẹẹkansi, ṣẹda igbasilẹ kan nibi ti iwọ yoo ṣiṣẹ:

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

Lẹhinna, gba apoti package orisun Ubuntu:

apt-get source hello-debhelper cd ..

Gẹgẹbi apẹẹrẹ ti iṣaaju, ohun akọkọ ti a nilo lati ṣe ni aṣepa iṣaju ti o tọju (ti o wa ni oke).

tar -xzvf hello-2.1.1.tar.gz

Dipo ki o ṣe atunṣe igbadun ti o ga julọ lati hello_2.1.1.orig.tar.gz bi a ti ṣe ni apẹẹrẹ ti tẹlẹ, a jẹ ki dh_make ṣe iṣẹ fun wa. Ohun kan ṣoṣo ti o ni lati ṣe ni tunrukọ folda orisun bi o ti wa ni irisi - ibi ti packagename jẹ infisi. Ni ọran yii, o kan iyọọda idibajẹ ti o fun wa ni itọsọna faili ti a darukọ ti o yẹ ki a le gbe sinu rẹ:

cd hello-2.1.1

Lati ṣẹda ibẹrẹ "debianization" ti orisun ti a yoo lo dh_make .

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

dh_make yoo beere ọ ni ọpọlọpọ awọn ibeere:

Apoti package: nikan alakomeji, alakomeji pupọ, ìkàwé, kernel module tabi cdbs? [s / m / l / k / b] s
Orukọ abojuto: Captain Packager Email-Adirẹsi: packager@coolness.com Ọjọ: Thu, 6 Oṣu Kẹrin 2006 10:07:19 -0700 Orukọ Package: Ifunni Ilana: 2.1.1 Iwe-ašẹ: òfo Iru ti Package: Nikan Lu si jẹrisi: Tẹ


[Itọju]

Nikan ṣiṣe dh_make -e lẹẹkan. Ti o ba tun ṣe e lọ lẹhin igbati o ba ṣe ni igba akọkọ, kii yoo ṣiṣẹ daradara. Ti o ba fẹ yi pada tabi ṣe aṣiṣe kan, yọ igbasilẹ orisun ati ki o tun ṣe idibajẹ idibajẹ ti o ga julọ. Lẹhinna o le lọ si igbasilẹ orisun ati gbiyanju lẹẹkansi.

Nṣiṣẹ dh_make -e ṣe awọn ohun meji:

Eto Amẹrika ko ni idiju pupọ, ati bi a ti ri ninu apakan ti a npe ni "Apoti Lati Ọkọ", fifi ṣayẹwo ko ni beere pupọ ju awọn faili ipilẹ lọ. Nitorina, jẹ ki a yọ awọn faili .ex :

cd debian rm * .ex * .EX

Fun aanu , iwọ yoo tun ko

* Iwe-aṣẹ

* Ẹka Itọsọna Awọn Apoti Ubuntu

nilo README.Debian (faili README fun awọn ariyanjiyan Debian kan, kii ṣe README eto naa), dirs (lo nipasẹ dh_installdirs lati ṣẹda awọn itọnisọna ti o nilo), awọn docs (ti a lo nipasẹ dh_installdocs lati fi iwe apẹrẹ iwe ẹrọ), tabi alaye (ti a lo lati dh_installinfo lati fi alaye sii fáìlì) àwọn fáìlì sínú fáìlì debian . Fun alaye diẹ sii lori awọn faili wọnyi, wo apakan ti a npe ni "awọn faili apẹẹrẹ dh_make".

Ni aaye yii, o yẹ ki o ni nikan changelog , compat , control , copyright , ati awọn ofin ti o wa ninu itọsọna debian . Lati apakan ti a npe ni "Apoti Lati Ọlọ", faili kan ti o jẹ tuntun jẹ compat , eyi ti o jẹ faili kan ti o ni iwe imudaniloju (ni idi eyi 4) ti a lo.

Iwọ yoo nilo lati ṣatunṣe changelog die-die ninu ọran yii lati ṣe afihan pe package yii ni a npe ni hello-debhelper dipo ju o ṣeun :

hello-debhelper (2.1.1-1) dapper; ilọsiwaju = kekere * Tu silẹ akọkọ - Captain Packager Thu, 6 Apr 2006 10:07:19 -0700

Nipasẹ lilo alaiṣowo , awọn ohun kan ti a nilo lati yi pada ni iṣakoso ni orukọ (nipo hello fun hello-debhelper ) ati fifi awọn debhelper (> = 4.0.0) han si aaye Ibu-Furo fun apẹrẹ orisun. Awọn package Ubuntu fun hello-debhelper wulẹ:

A le daakọ awọn faili iwe aṣẹ ati awọn iwe afọwọkọ ati awọn iwe- akọọlẹ akosile lati ọdọ Ubuntu hello-debhelper package, nitori wọn ko ti yipada niwon apakan ti a pe ni "apoti lati ibere". A yoo tun daakọ faili faili naa ki a le ṣayẹwo rẹ.

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.

Faili ikẹhin ti a nilo lati wo ni awọn ofin , nibiti a ti le ri awọn iwe afọwọkọ apaniyan . Awọn ikede ti o wa ni debhelper kere diẹ (awọn ila 54 ti o lodi si awọn ila 72 ni abala lati apakan ti a npe ni "awọn ofin").

Ẹya iṣiro naa dabi bi:

#! / usr / bin / make -f package = hello-debhelper CC = gcc CFLAGS = -g -Wall ifeq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS))) CFLAGS + = -O2 opin #export DH_VERBOSE = 1 mọ : dh_testdir dh_clean rm -f build - $ (MAKE) -i fi sori ẹrọ: kọ dh_clean dh_installdirs $ (MAKE) prefix = $ (CURDIR) / debian / $ (package) / usr \ mandir = $ (CURDIR) / debian / $ (package) / usr / pin / man \ infodir = $ (CURDIR) / debian / $ (package) / usr / pin / info \ fi sori ẹrọ kọ: ./configure --prefix = / usr $ (MAKE) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

fọwọkan ibudo binary-indep: Fi # Ko si awọn faili igbẹkẹle-igbẹkẹle kan ti o ni lati gbe awọn aworan ti o ni ipilẹ nipasẹ package yii. Ti o ba wa nibẹ eyikeyi wọn yoo wa ni # ṣe nibi. alakomeji-arch: fi 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- Bọtini: alakomeji alakomeji-bin-binary-indep ti o mọ mọto

Ṣe akiyesi pe awọn iṣẹ-ṣiṣe bi idanwo ti o ba wa ninu itọnisọna ọtun ( dh_testdir ), ṣe idaniloju pe o n ṣajọ package pẹlu awọn anfani root ( dh_testroot ), awọn iwe fifi sori ẹrọ ( dh_installdocs ati dh_installchangelogs ), ati mimu di mimọ lẹhin ti a ṣe ọwọ laifọwọyi ( dh_clean ) . Ọpọlọpọ awọn apejọ diẹ sii ju idiju ju alaafia ni awọn faili awọn faili ko si tobi nitori awọn iwe afọwọkọ ti o mu awọn akọsilẹ mu ọpọlọpọ awọn iṣẹ-ṣiṣe lọ. Fun akojọpọ akojọpọ awọn iwe afọwọkọ ti aṣeyọri , jọwọ wo apakan ti a npe ni "Akojọ awọn iwe afọwọkọ aṣeyọri ". Wọn tun ṣe akọsilẹ daradara ni awọn oju-iwe awọn eniyan wọn . O jẹ idaraya to wulo lati ka oju-iwe eniyan naa (wọn ti kọwe daradara ati ko gun) fun iwe-iranlọwọ oluranlọwọ ti a lo ninu awọn faili ofin loke.