Ubuntu փաթեթավորման ուղեցույց

Փաստաթղթավորում

Փաթեթավորումը Debhelper- ի հետ


[Կարեւորը]

Պահանջներ. «Փաթեթավորումը զրոյից» բաժինը, գումարած դեբիլպերը եւ դի-դերը

Որպես փաթեթավորող, դուք հազվադեպ կհավաքեք փաթեթներից զրոյից, ինչպես նախորդ բաժնում արել ենք: Ինչպես կարող եք պատկերացնել, օրինակ, կանոնների ֆայլի բազմաթիվ խնդիրներն ու տեղեկատվությունը, օրինակ, ընդհանուր են փաթեթների համար: Փաթեթավորումը ավելի հեշտ եւ արդյունավետ դարձնելու համար դուք կարող եք օգտագործել Debhelper- ը `օգնել այդ խնդիրներին: Debhelper- ը Perl- ի սցենարների շարք է (prefixed with dh_ ), որը ավտոմատացնում է փաթեթի կառուցման գործընթացը: Այս սցենարներով Debian փաթեթի կառուցումը դառնում է բավականին պարզ:

Այս օրինակում մենք կրկին կստեղծենք GNU Hello փաթեթը, բայց այս անգամ մենք կփորձենք համեմատել մեր աշխատանքը Ubuntu- ի բարեհամբույր փաթեթի հետ: Կրկին ստեղծել գրացուցակ, որտեղ դուք կաշխատեք.

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

Այնուհետեւ, ստանալ Ubuntu աղբյուրի փաթեթը.

apt-get աղբյուր hello-debhelper cd ..

Նախորդ օրինակի նման, առաջին բանը, որ մենք պետք է անենք, վերարտադրել բնօրինակը (upstream) tarball.

tar -xzvf hello-2.1.1.tar.gz

Նախորդ օրինակում, ինչպես վարվել ենք hello_2.1.1.orig.tar.gz- ին, վերը բերելով tarball- ի պատճենը, թույլ կտանք , որ dh_make- ը մեզ կատարի աշխատանքը: Միակ բանը, որ դուք պետք է անեք, վերանվանեք աղբյուրի թղթապանակը, այնպես որ այն - ձեւում է, որտեղ packagename- ը փոքրատառ է: Այս պարագայում, պարզապես untarring է tarball արտադրում է ճիշտ անունը աղբյուրի տեղեկատու, որպեսզի մենք կարող ենք տեղափոխել այն:

cd Բարեւ, 2.1.1

Աղբյուրի սկզբնական «debianization» ստեղծելու համար մենք կօգտագործենք dh_make :

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

dh_make- ը հարց է տալիս ձեզ մի շարք հարցերի,

Փաթեթի տեսակը `մեկական երկուական, բազմակի երկուական, գրադարան, միջուկային մոդուլ կամ cdbs: [s / m / l / k / b] s
Պահպանողի անունը `Captain Packager Էլ. Փոստ - հասցե packager@coolness.com Ամսաթիվ, Thu, 6 Ապրիլ 2006 10:07:19 -0700 Փաթեթի անվանումը: hello Տարբերակ: 2.1.1 Լիցենզիա` դատարկ փաթեթի տեսակը `մեկ հիթ հաստատեք ` մուտքագրեք


[Զգուշություն]

Միայն առաջադրեք dh_make- ը : Եթե ​​դուք այն նորից եք վարում, ապա դա առաջին անգամն է, այն չի աշխատի: Եթե ​​ցանկանում եք փոխել այն կամ սխալ եք թույլ տվել, ապա հեռացրեք աղբյուրի տեղեկատուը եւ կբարձրացնեք վերեւում գտնվող բեռնաթափումը: Այնուհետեւ կարող եք տեղափոխել աղբյուրի տեղեկատու եւ կրկին փորձեք:

Running dh_make- ը երկու բան է անում.

Բարեւի ծրագիրը շատ բարդ չէ եւ ինչպես մենք տեսել ենք «Փաթեթավորումը զրոյից» բաժնում, փաթեթավորումն այն չի պահանջում, քան հիմնական ֆայլերը: Հետեւաբար, հեռացեք .ex ֆայլերը:

cd debian rm * .ex * .EX

Բարեւ Ձեզ, դուք նույնպես չեք

* Լիցենզիա

* Ubuntu փաթեթավորման ուղեցույցի ինդեքս

անհրաժեշտ է README.Debian (README ֆայլը հատուկ Debian- ի խնդիրների համար, այլ ոչ թե ծրագրի README), dirs (օգտագործված dh_installdirs- ով , անհրաժեշտ դիրեկտորիաների ստեղծման համար), docs (օգտագործվող dh_installdocs- ի կողմից ծրագրային փաստաթղթերը տեղադրելու համար) կամ info (օգտագործվում է dh_installinfo- ի կողմից, ֆայլ) ֆայլերի մեջ debian դիրեկտորիայի. Այս ֆայլերի մասին լրացուցիչ տեղեկությունների համար տես «dh_make օրինակի ֆայլեր» բաժինը:

Այս պահին դուք պետք է ունենաք միայն changelog , համատեղ, վերահսկողություն , հեղինակային իրավունքի եւ կանոնների ֆայլեր debian դիրեկտորիայի մեջ: «Փաթեթավորումը Սկրիպից » բաժնում, միակ ֆայլը, որը նոր է, համապատասխանում է, որը ֆայլ է, որը պարունակում է debhelper տարբերակը (այս դեպքում 4), որն օգտագործվում է:

Այս դեպքում անհրաժեշտ է հարմարեցնել changelog- ը, արտացոլելու համար, որ այս փաթեթը կոչվում է բարեւ, ոչ թե պարզապես բարեւ :

բարեհամբույր (2.1.1-1) դափեր; հրատապ = ցածր * սկզբնական թողարկում - կապիտան Packager Thu, 6 Apr 2006 10:07:19 -0700

Օգտագործելով Debhelper , միակ բաները, որոնք մենք պետք է փոխենք վերահսկողության մեջ, անունը ( բարեւի բարեւի փոխարինողը փոխարինող) եւ կառուցվածքային կառուցվածքի կառուցվածքը դեպի աղբյուրի փաթեթի ավելացումն է (> = 4.0.0) : Ubuntu- ի փաթեթը բարեհամբույր է համարվում .

Մենք կարող ենք պատճենել հեղինակային իրավունքի ֆայլը եւ postenst եւ prerm սցենարները Ubuntu- ի բարելավված փաթեթից, քանի որ նրանք չեն փոխվել, քանի որ կոչվում է «Փաթեթավորումը զրոյից»: Մենք կցուցադրենք նաեւ կանոնների ֆայլը, որպեսզի կարողանանք ստուգել այն:

cp ../../ubuntu/hello-debhelper-2.1.1/debian/copyright. cp ../../ubuntu/hello-debhelper-2.1.1/debian/postinst: բ. բ.

Վերջին ֆայլը, որը մենք պետք է նայենք, կանոններ են , որտեղ կարելի է դիտել հեղինակային սցենարներ: Կանոնների դեբեղփորթյան տարբերակը մի փոքր ավելի փոքր է (54 գծեր, ի տարբերություն 72 կանոնների, «կանոններ» բաժնում):

Debelper- ի տարբերակը կարծես:

#! / 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 մաքուր : dh_testdir dh_clean rm -f կառուցել - $ (MAKE) -i distclean install: կառուցել dh_clean dh_installdirs $ (MAKE) նախածանց = $ (CURDIR) / debian / $ (փաթեթ) / usr \ mandir = $ (CURDIR) / debian / $ (փաթեթ) / usr / share / man \ infodir = $ (CURDIR) / debian / $ (փաթեթ) / usr / share / info \ install build: ./configure --prefix = / usr $ (MAKE) CC = "$ (CC) "CFLAGS =" $ (CFLAGS) "

touch build bin-inep: install # Չկան ճարտարապետական ​​անկախ ֆայլեր, որոնք վերբեռնվում են # կողմից ստեղծված այս փաթեթով: Եթե ​​կա որեւէ մեկը, ապա դրանք կլինեն այստեղ #: երկուական-arch: install dh_testdir -a dh_testroot -a dh_installdocs -a Նորություններ 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: Երկուական-indep binary- arch .PHONY: երկուական երկկողմանի զույգ երկկողմանի անդունդ մաքուր կաթիլ

Ուշադրություն դարձրեք, որ փորձարկումները, ինչպիսիք են թեստը, եթե դուք գտնվում եք ճիշտ դիրեկտորիայում ( dh_testdir ), համոզվեք, որ փաթեթը ստեղծում եք արմատական ​​արտոնություններով ( dh_testroot ), փաստաթղթերի տեղադրմամբ ( dh_installdocs եւ dh_installchangelogs ) եւ մաքրման հետո կառուցելուց հետո ( dh_clean ) . Բազմաթիվ փաթեթներ շատ ավելի բարդ են, քան Բարեւ , կանոնների ֆայլեր, որոնք ավելի մեծ չեն, քանի որ Debhelper սցենարները զբաղեցնում են խնդիրների մեծ մասը: Դեբելպերի սցենարների ամբողջական ցանկի համար կարող եք ծանոթանալ « Դեբելփեր սցենարների ցանկ» բաժինը : Նրանք նաեւ լավ են փաստաթղթավորվում իրենց համապատասխան էջում: Օգտակար վարժությունը կարդացեք վերը նշված կանոնների ֆայլում օգտագործված յուրաքանչյուր օգնող սցենարի համար մարդու էջը (դրանք լավ են գրված եւ ոչ երկար):