Кіраўніцтва Упакоўка Ubuntu

дакументацыя

Ўпакоўка з Debhelper


[Важна]

Патрабаванні: патрабаванні з падзелу пад назвай «Упакоўка з нуля» плюс debhelper і дк-макіяж

Як ўпакоўшчык, вы будзеце рэдка ствараць пакеты з нуля, як мы зрабілі ў папярэднім раздзеле. Як вы можаце сабе ўявіць, многія з задач і інфармацыі ў файле правілаў, напрыклад, з'яўляюцца агульнымі для пакетаў. Для таго, каб ўпакоўкі прасцей і больш эфектыўна, вы можаце выкарыстоўваць debhelper , каб дапамагчы з гэтымі задачамі. Debhelper ўяўляе сабой набор скрыптоў , напісаных на Perl (з прэфіксам dh_) , якія аўтаматызуюць працэс упакоўкі патэнцыялу. З дапамогай гэтых скрыптоў, стварэнне пакета Debian становіцца даволі проста.

У гэтым прыкладзе мы зноў будзем будаваць пакет GNU Hello, але на гэты раз мы будзем параўноўваць нашу працу з пакетам прывітанне-debhelper Ubuntu. Зноў жа, стварыць каталог, у якім вы будзеце працаваць:

MkDir ~ / прывітанне-debhelper кд ~ / прывітанне-debhelper Wget http://ftp.gnu.org/gnu/hello/hello-2.1.1.tar.gz MkDir Ubuntu CD убунту

Затым атрымаць зыходны пакет Ubuntu:

APT-атрымаць крыніца прывітанне-debhelper кд ..

Як і ў папярэднім прыкладзе, першае, што нам трэба зрабіць, гэта распакаваць арыгінал (уверх па плыні) тарболл.

TAR -xzvf прывітанне-2.1.1.tar.gz

Замест таго , каб капіяваць уверх па плыні тарболла да hello_2.1.1.orig.tar.gz , як мы рабілі ў папярэднім прыкладзе, мы дамо dh_make зрабіць працу для нас. Адзінае , што вам трэба зрабіць , гэта перайменаваць тэчку крыніцы , так што ў выглядзе <імя_пакета> - <версія> , дзе імя_пакета ў ніжнім рэгістры. У гэтым выпадку проста распакаванне тарболла вырабляе правільна названы зыходны каталог, каб мы маглі перайсці ў яго:

кд прывітанне-2.1.1

Для стварэння пачатковага «debianization» крыніцы мы будзем выкарыстоўваць dh_make.

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

dh_make будзе задаць вам шэраг пытанняў:

Тып пакета: адзін двайковы, множны двайковы, бібліятэку, модуль ядра ці CDBS? [С / м / л / к / Ь] з
Імя Суправаджалючы: Капітан пакавальнікаў Email-адрас: packager@coolness.com Дата: Чц 6 красавіка 2006 10:07:19 -0700 імя пакета: здравствуйте Версія: 2.1.1 Ліцэнзія: пуста Тып пакета: Single Hit <ўвайсці> для пацверджання: Увядзіце


[Увага]

Толькі запусціць dh_make -e адзін раз. Калі вы запусціце яго зноў пасля таго, як вы робіце гэта ў першы раз, ён не будзе працаваць належным чынам. Калі вы хочаце змяніць яго ці зрабілі памылку, выдаліце ​​зыходны каталог і распакуйце уверх па плыні тарболла нанава. Затым можна перанесці ў каталог крыніцы і паспрабуйце ізноў.

Запуск dh_make -e робіць дзве рэчы:

Праграма Hello не вельмі складаная, і , як мы ўжо бачылі ў раздзеле пад назвай «Упакоўка з нуля», ўпакоўка не патрабуе значна больш , чым асноўныя файлы. Таму, давайце выдаліць .EX файлы:

дыск Debian ГТ * .ex * .EX

Для здравствуйте, вы таксама ня

* ліцэнзія

* Індэкс Ubuntu Кіраўніцтва Упакоўка

неабходны README.Debian (README файл для канкрэтных пытанняў Debian, ня README праграмы), DIRS (выкарыстоўваецца dh_installdirs стварыць неабходныя каталогі), дакументы (якое выкарыстоўваецца dh_installdocs ўсталяваць дакументацыю па праграме), або дадзеныя (выкарыстоўваецца dh_installinfo для ўстаноўкі інфармацыі файл) файлы ў каталог Debian. Для атрымання больш падрабязнай інфармацыі аб гэтых файлах глядзіце раздзел пад назвай «dh_make прыклады файлы».

На дадзены момант, вы павінны мець толькі змены, Compat, кантроль, аўтарскія правы і кіравалі файлы ў каталогу Debian. У раздзеле пад назвай «Упакоўка з нуля», адзіны файл , які з'яўляецца новым з'яўляецца Compat, які ўяўляе сабой файл , які змяшчае версію debhelper (у дадзеным выпадку 4) , які выкарыстоўваецца.

Вам трэба будзе крыху змяніць змены ў гэтым выпадку , каб адлюстраваць , што гэты пакет называецца прывітанне-debhelper , а не проста прывітаньне:

Прывітанне-debhelper (2.1.1-1) франтаваты; Актуальнасць = нізкі * Першы выпуск - Капітан пакавальнікаў Чц 6 красавіка 2006 10:07:19 -0700

Выкарыстоўваючы debhelper, адзінае , што нам трэба змяніць у кіраванні з'яўляюцца імя (падстаўляючы прывітанне для прывітанне-debhelper) і даданне debhelper (> = 4.0.0) у поле Build-Depends для пакета зыходнага кода. Пакет Ubuntu для HELLO-debhelper выглядае наступным чынам :

Мы можам скапіяваць файл аўтарскага права і postinst і prerm сцэнары з пакета прывітанне-debhelper Ubuntu, так як яны не змяніліся , так як частка пад назвай «Упакоўка з нуля». Мы будзем таксама скапіяваць файл правілаў , каб мы маглі праверыць яго.

ф ../../ubuntu/hello-debhelper-2.1.1/debian/copyright. ф ../../ubuntu/hello-debhelper-2.1.1/debian/postinst. ф ../../ubuntu/hello-debhelper-2.1.1/debian/prerm. CP ../../ubuntu/hello-debhelper-2.1.1/debian/rules.

Апошні файл , мы павінны глядзець на гэта правілы, дзе можна ўбачыць моц debhelper скрыптоў. Версія debhelper правілаў некалькі менш (54 лініі , у адрозненне ад 72 ліній у версіі з падзелу пад назвай «правілы»).

Версія debhelper выглядае наступным чынам :

#! / USR / бен / зрабіць -f пакет = прывітанне-debhelper CC = GCC CFLAGS = -g -Wall ifeq (, $ (FindString noopt, $ (DEB_BUILD_OPTIONS))) CFLAGS + = -O2 ENDIF #export DH_VERBOSE = 1 чысты : dh_testdir dh_clean ГТ -f зборкі - $ (MAKE) -i distclean ўстаноўкі: пабудаваць dh_clean dh_installdirs $ (MAKE) прэфікс = $ (Curdir) / Debian / $ (пакет) / USR \ мандир = $ (Curdir) / Debian / $ (пакет) / USR / долі / чалавек \ INFODIR = $ (Curdir) / Debian / $ (пакет) / USR / долі / Інфармацыя \ ўстаноўкі зборкі: ./configure --prefix = / USR $ (MAKE) CC = "$ (CC) »CFLAGS =" $ (CFLAGS) "

пакратаць пабудаваць бінарны-Indep: усталяваць # Там няма архітэктурна-незалежных файлаў, якія будуць загружаны # генераваных гэтым пакетам. Калі б які-небудзь яны будуць # Зробленыя тут. двайкова-арка: усталяваць 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 двайковы: двайкова-Indep binary- арка .PHONY: двайковы двайковая арка двайкова-Indep чысты checkroot

Звярніце ўвагу на тое, што задачы , як тэставанне , калі вы знаходзіцеся ў правільным каталогу (dh_testdir), пераканаўшыся , што вы будуеце пакет з правамі суперкарыстальніка (dh_testroot), ўстаноўка дакументацыі (dh_installdocs і dh_installchangelogs) і ачысткі пасля зборкі (dh_clean) апрацоўваюцца аўтаматычна , Некаторыя пакеты значна больш складаныя , чым прывітанне ёсць правілы не файлы , не болей , таму што сцэнары debhelper апрацоўваць большасць задач. Для атрымання поўнага спісу debhelper сцэнарыяў, калі ласка , глядзіце раздзел пад назвай «Спіс debhelper сцэнарыяў». Яны таксама добра апісаны ў адпаведных даведачных старонках. Гэта карыснае практыкаванне , каб прачытаць старонку чалавека (яны добра напісаны , а не доўгія) для кожных хелперов скрыпту , які выкарыстоўваецца ў вышэй згаданым файла правілаў.