Ubuntu შეფუთვის სახელმძღვანელო

დოკუმენტაცია

შეფუთვა დეფერატორთან


[მნიშვნელოვანი]

მოთხოვნები: მოთხოვნები განყოფილების სახელწოდებით "შეფუთვა ნულიდან" და დებილერისა და დ.ჰ.

როგორც შეფუთვა, თქვენ იშვიათად შეიქმნება პაკეტები ნულიდან, როგორც წინა ნაწილში გავაკეთეთ. როგორც წარმოგიდგენიათ, ბევრი ამოცანები და ინფორმაცია წესების ფაილში, მაგალითად, პაკეტების საერთოაა. შეფუთვა უფრო ადვილია და უფრო ეფექტურია, შეგიძლიათ გამოიყენოთ დებილერი, რათა დაეხმაროს ამ ამოცანებს. Debhelper არის კომპლექტი Perl სკრიპტები (prefixed ერთად dh_ ) რომ ავტომატიზირება პროცესში პაკეტი შენობა. ამ სკრიპტებით, დეპეკის პაკეტის შექმნა საკმაოდ მარტივია.

ამ მაგალითში ჩვენ კვლავ ავაშენებთ GNU Hello პაკეტით, მაგრამ ამ დროს ჩვენ შევადარებთ ჩვენს მუშაობას Ubuntu hello-debhelper პაკეტზე. კიდევ ერთხელ, შექმნა დირექტორია, სადაც თქვენ მუშაობთ:

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 ..

წინა მაგალითის მსგავსად, პირველი, რაც ჩვენ უნდა გავაკეთოთ, არის ორიგინალური (ზემოთ) tarball.

tar-xzvf hello-2.1.1.tar.gz

იმის ნაცვლად, რომ გადავიტანოთ tarball to hello_2.1.1.orig.tar.gz როგორც გავაკეთეთ წინა მაგალითში, ჩვენ დავუშვებთ dh_make გავაკეთოთ მუშაობა ჩვენთვის. ერთადერთი, რაც უნდა გააკეთოთ, გადარქმევთ წყარო ფოლდერში, ასე რომ ის არის - სახით, სადაც packagename არის პატარა. ამ შემთხვევაში, უბრალოდ untarring tarball აწარმოებს სწორად დაასახელა წყაროს დირექტორია, ასე რომ ჩვენ შეგვიძლია გადავიდეს მას:

cd hello-2.1.1

წყაროს საწყისი "დიაბანიზაციის" შესაქმნელად dh_make გამოვიყენებთ.

დიახ.

dh_make შემდეგ მოგთხოვთ კითხვას:

პაკეტის ტიპი: ერთი ორობითი, მრავალჯერადი ორობითი, ბიბლიოთეკა, კერნელი მოდული ან cdbs? [s / m / l / k / b] s
შემსრულებელი სახელი: კაპიტანი შეფუგე ელ-მისამართი: packager@coolness.com თარიღი: პარ., 6 აპრილი 2006 10:07:19 -0700 პაკეტი სახელი: გამარჯობა: 2.1.1 ლიცენზია: ცარიელი პაკეტის ტიპი: ერთჯერადი Hit დაადასტურეთ: შეიყვანეთ


[სიფრთხილით]

მხოლოდ აწარმოეთ dh_make -e ერთხელ. თუ ხელახლა აწარმოებთ მას შემდეგ, რაც პირველად გავაკეთებთ, ის არ იმუშავებს. თუ გსურთ შეცვალოთ ან შეცდომა შეცვალეთ, წაშალეთ წყაროს დირექტორია და წაიშალოს ზემოთ ტარბერზე. შემდეგ შეგიძლიათ მიგრაცია შევიდა წყაროს დირექტორიაში და ისევ სცადეთ.

Running dh_make -e აკეთებს ორი რამ:

გამარჯობა პროგრამა არ არის ძალიან რთული, და როგორც ჩანს სექციაში სახელწოდებით "შეფუთვა მდებარ გრაგნილიდან", შეფუთვა არ საჭიროებს ბევრად მეტს, ვიდრე ძირითად ფაილებს. ამიტომ, მოდით ამოიღოთ .ex ფაილი:

cd debian rm * .ex * .EX

გამარჯობა , შენც არა

* ლიცენზია

* Ubuntu შეფუთვის სახელმძღვანელო ინდექსი

საჭიროა README.Debian (README ფაილი სპეციფიური Debian- ისთვის, არ არის პროგრამის README), DIRS (გამოიყენება dh_installdirs- ის მიერ საჭირო დირექტორიები), docs (გამოიყენება dh_installdocs- ის პროგრამის დოკუმენტაციის ინსტალაციისთვის) ან ინფორმაცია (გამოიყენება dh_installinfo- ს მიერ ინფორმაციის დამონტაჟებისათვის ფაილი) ფაილები debian დირექტორიაში. ამ ფაილების შესახებ დამატებითი ინფორმაციისთვის იხილეთ სექცია სახელწოდებით "dh_make example files".

ამ ეტაპზე, თქვენ უნდა გქონდეთ მხოლოდ ცვლილებები , კონფიგურაცია , კონტროლი , საავტორო უფლებები და წესების ფაილი დუბის დირექტორიაში. სექციაში "შეფუთვა მდებარ გრაგნილი", ერთადერთი ფაილი, რომელიც ახალია არის compat , რომელიც არის ფაილი, რომელიც შეიცავს debhelper ვერსია (ამ შემთხვევაში 4), რომელიც გამოიყენება.

თქვენ უნდა შეცვალოთ სინგაპური ამ შემთხვევაში ოდნავ მოახდინოთ, რომ ამ პაკეტს ჰელოუინი დებილერის სახელი ეწოდა , ვიდრე უბრალოდ მიესალმები :

გამარჯობა-დებილერი (2.1.1-1) დუპერი; სასწრაფოდ = დაბალი * თავდაპირველი გათავისუფლება - კაპიტანი პაკგა Thu, 6 აპრ 2006 10:07:19 -0700

დებილერის გამოყენებით, ერთადერთი რამ, რაც ჩვენ უნდა შევცვალოთ, არის სახელი ( შეცდომა hello-debhelper- სთვის ) და დაამატეთ debffper (> = 4.0.0) Build- Depends- ის სფეროში. Ubuntu პაკეტი hello-debhelper ჰგავს:

ჩვენ შეგვიძლია კოპირება საავტორო ფაილი და postinst და prerm სკრიპტები საწყისი Ubuntu hello-debhelper პაკეტი, რადგან ისინი არ შეცვლილა, როგორც განყოფილების სახელწოდებით "შეფუთვა მდებარ Scratch". ჩვენ ასევე კოპირება წესების ფაილი, ასე რომ ჩვენ შეგვიძლია შეამოწმოს იგი.

cp ../../buntu/hello-debhelper-2.1.1/debian/copyright. cp ../../buntu/hello-debhelper-2.1.1/debian/postinst. cp ../../buntu/hello-debhelper-2.1.1/debian/prerm. cp ../../buntu/hello-debhelper-2.1.1/debian/rules.

ბოლო ფაილი ჩვენ უნდა შევხედოთ არის წესები , სადაც ძალა დებილერის სკრიპტები ჩანს. წესების deberber ვერსია გარკვეულწილად პატარაა (54 ხაზი, რომელიც ეწინააღმდეგება 72 სტრიქონს ვერსიაში, რომელსაც ეწოდება "წესები").

Debhelper ვერსია ჰგავს:

#! / usr / bin / make -f package = hello-debhelper CC = gcc CFLAGS = -g- ყველა ifeq (, $ (findstring noopt, $ (DEB_BUILD_OPTIONS))) CFLAGS + = -O2 endif #export DH_VERBOSE = 1 სუფთა : dh_testdir dh_clean rm -f build - $ (MAKE) -i დისკვალიფიკატორი: build dh_clean dh_installdirs $ (MAKE) prefix = $ (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) "

შეეხეთ ორობითი-indep: install # არ არსებობს არქიტექტურა დამოუკიდებელი ფაილი ატვირთული # გენერირებული ამ პაკეტი. აქ იყო თუ არა ისინი # აქ გაკეთდა. ორობითი-arch: ინსტალაცია dh_testdir -a dh_testroot -a dh_installdocs -a NEWS dh_installchangelogs -a ცვლილებების განზოგადება dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb-a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a ორობითი: ორობითი- indep ორობითი- თაღოვანი: ორობითი ორობითი - თაღოვანი ორობითი- indep სუფთა checkroot

გაითვალისწინეთ, რომ ამოცანები, როგორიცაა ტესტირება, თუ თქვენ ხართ სწორი დირექტორიაში ( dh_testdir ), დარწმუნდით, რომ თქვენ აშენებს პაკეტი root პრივილეგიებით ( dh_testroot ), დოკუმენტაციის ინსტალაცია ( dh_installdocs და dh_installchangelogs ) და გაწმენდის შემდეგ ( dh_clean ) ავტომატურად . ბევრი პაკეტი ბევრად უფრო რთული, ვიდრე hello აქვს წესები ფაილი არ დიდია, რადგან debhelper სკრიპტები გაუმკლავდეს საუკეთესო ამოცანები. დუბლირებული სკრიპტების სრული სიის სანახავად იხილეთ სექცია სახელწოდებით " დუბლირებული სკრიპტების სია". ისინი ასევე კარგად არიან დოკუმენტურად თავიანთ მამაკაცურ გვერდებზე. ეს არის სასარგებლო სწავლება, რომელიც წაიკითხავს ადამიანურ გვერდს (ისინი კარგად არიან დაწერილი და არა ხანგრძლივი) თითოეული დამხმარე სცენარისთვის გამოყენებული ზემოთ მოყვანილი წესების ფაილი.