Опаковка с Debhelper
Важно Изисквания: Изискванията от секцията "Опаковка от нулата" плюс debhelper и dh-make Като опаковка, рядко ще създавате пакети от нулата, както направихме в предходната секция. Както можете да си представите, много от задачите и информацията в правилник файла, например, са общи за пакетите. За да направите опаковката по-лесна и по-ефективна, можете да я използвате debhelper за да помогне с тези задачи. Debhelper е набор от скриптове на Perl (с префикс) dh_), които автоматизират процеса на изграждане на пакети. С тези скриптове, изграждането на Debian пакет става съвсем проста. В този пример отново ще изградим пакета GNU Hello, но този път ще сравняваме работата си с Ubuntu здравей-debhelper пакет. Отново създайте директория, в която ще работите: След това вземете пакета за Ubuntu източник: Подобно на предишния пример, първото нещо, което трябва да направите, е да разопаковате оригиналния (нагоре) тарбал. Вместо да копирате лентата нагоре по веригата hello_2.1.1.orig.tar.gz както направихме в предишния пример, ще позволим dh_make вършете работата за нас. Единственото нещо, което трябва да направите, е да преименувате папката на източника, така че да е под формата на
За да създадем първоначалната "debianization" на източника, който ще използваме dh_make. dh_make ще ви зададе поредица от въпроси: Внимание Само бягай dh_make -e веднъж. Ако го стартирате отново, след като го направите за първи път, той няма да работи правилно. Ако искате да го промените или да направите грешка, премахнете директорията на източника и го направете отново нагоре. След това можете да мигрирате в директорията на източника и да опитате отново. Работещи dh_make -e правят две неща: Най- Здравейте програмата не е много сложна и както видяхме в раздела "Опаковка от нулата", опаковането не изисква много повече от основните файлове. Ето защо нека да премахнем .ex файлове: За Здравейте, вие също няма да го направите * Разрешително * Индекс на указанията за опаковане на Ubuntu трябва README.Debian (Файл README за конкретни проблеми с Debian, а не README на програмата), директории (използван от dh_installdirs да създадете необходимите директории), документи (използван от dh_installdocs да инсталирате програмна документация), или инфо (използван от dh_installinfo да инсталирате информационния файл) в Debian директория. За повече информация относно тези файлове вижте раздела, наречен "примерни файлове dh_make". На този етап трябва само да имате с промени, COMPAT, контрол, Авторско право, и правилник файлове в Debian директория. От раздела, наречен "Packaging From Scratch", единственият нов файл е COMPAT, който е файл, който съдържа debhelper версия (в този случай 4), която се използва. Ще трябва да настроите с променималко в този случай, за да отразим, че този пакет е наречен здравей-debhelper отколкото просто Здравейте: Като се използва debhelper, единствените неща, които трябва да променим контрол са името (заместващо Здравейте за здравей-debhelper) и добавяне debhelper (> = 4.0.0) към Зависимости при компилиране зависимости поле за пакета източник. Пакетът на Ubuntu за здравей-debhelper изглежда като: Можем да копираме Авторско право и файла postinst и prerm скриптове от Ubuntu здравей-debhelper тъй като те не са се променили от секцията, наречена "Packaging From Scratch". Също така ще копираме правилник файл, за да можем да го проверим. Последният файл, който трябва да разгледаме, е правилник, където силата на debhelper скриптове могат да се видят. Най- debhelper версия на правилник е малко по-малък (54 реда за разлика от 72 реда във версията от раздела "правила"). Най- debhelper версията изглежда така: touch build binary-indep: install # Няма файлове, независими от архитектура, които да бъдат качени # генерирани от този пакет. Ако имаше такива, щяха да бъдат направени тук. binary-arch: инсталирате dh_testdir -a dh_testroot -a dh_installdocs -a НОВИНИ dh_installchangelogs -a ChangeLog dh_strip -a dh_compress -a dh_fixperms -dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -а двоичен: двоичен-indep двоичен- arch .PHONE: двоичен двоичен арх двоичен-indep чист checkroot Забележете, че задачите като тестване, ако сте в правилната директория (dh_testdir), като се уверите, че изграждате пакета с правата на root (dh_testroot), инсталиране на документация (dh_installdocs и dh_installchangelogs) и почистване след построяването (dh_clean) се обработват автоматично. Много пакети много по-сложни от Здравейте имам правилник файлове не по - големи, защото debhelper скриптовете се справят с повечето задачи. За пълен списък с debhelper скриптове, моля, вижте раздела "Списък на debhelper скриптове ".Те също са добре документирани в съответните им мъж страници. Това е полезно упражнение за четене на страницата на човека (те са добре написани и не са продължителни) за всеки помощен скрипт, използван в горното правилник файл.