Skip to main content

Убунту Водич за паковање - Паковање са Дебхелпером

Anonim

Паковање са Дебхелпером

Важно

Захтеви: Захтјеви из секције под називом "Паковање од нуле" плус дебхелпер и дх-маке

Као пакер, ретко ћете креирати пакете од огреботине као што смо урадили у претходном одељку. Као што можете замислити, многе задатке и информације у Правила датотека, на примјер, су уобичајене за пакете. Да бисте олакшали и ефикасније паковање, можете да користите дебхелпер да помогне у овим задацима. Дебхелпер је скуп Перл скрипти (префикс са дх_) који аутоматизују процес изградње пакета. Са овим скриптама, изградња Дебиан пакета постаје сасвим једноставна.

У овом примеру, поново ћемо направити пакет ГНУ Хелло, али овог пута ћемо упоређивати наш рад са Убунту-ом здраво-дебелпер пакет. Опет, креирајте директориј у коме ћете радити:

мкдир ~ / хелло-дебхелпер цд ~ / хелло-дебхелпер вгет хттп://фтп.гну.орг/гну/хелло/хелло-2.1.1.тар.гз мкдир убунту цд убунту

Затим добијте Убунту изворни пакет:

апт-гет соурце хелло-дебхелпер цд ..

Као и претходни пример, прва ствар коју треба да урадимо је да распакујемо оригинални (узводни) тарбалл.

тар-кзвф хелло-2.1.1.тар.гз

Уместо копирања узводног тарбалл-а хелло_2.1.1.ориг.тар.гз као што смо урадили у претходном примеру, дозволићемо дх_маке радимо за нас. Једина ствар коју треба да урадите је да преименујете изворни фолдер тако да је у облику - где је пакетна ознака мала слова. У овом случају, само унтарринг тарбалл производи исправно назван изворни директоријум, тако да можемо да се преселимо у њега:

цд хелло-2.1.1

Да креирамо почетну "дебианизацију" извора који ћемо користити дх_маке.

дх_маке -е иоур.маинтаинер@аддресс -ф ../хелло-2.1.1.тар.гз

дх_маке ће вам онда поставити низ питања:

Тип пакета: један бинарни, вишеструки бинарни, библиотека, модул кернела или цдбс? с / м / л / к / б с Име власника: Цаптаин Пацкагер Емаил-адреса: пацкагер@цоолнесс.цом Датум: Тху, 6 Апр 2006 10:07:19 -0700 Име пакета: хелло Верзија: 2.1.1 Лиценца: празно Врста пакета: Један клик за потврду: Ентер

Опрез

Само трчи дх_маке -е једном. Ако га поново покренете након што то учините први пут, неће радити исправно. Ако желите да је промените или направите грешку, уклоните изворни директоријум и поново унесите тарифу изнад низа. Затим можете преселити у изворни директоријум и покушати поново.

Трчање дх_маке -е ради две ствари:

  • Креира хелло_2.1.1.ориг.тар.гз датотеку у родитељском директоријуму,
  • Креира основне датотеке потребне у дебиан / и много фајлова шаблона (.ек) које су можда потребне.

Тхе Здраво програм није компликовано, а као што смо видели у одељку под називом "Паковање од нуле", паковање не захтева много више од основних датотека. Зато, уклонимо .ек фајлови:

цд дебиан рм * .ек * .ЕКС

За Здраво, нећете тако

* Лиценца

* Индекс Водича за паковање Убунту

потреба РЕАДМЕ.Дебиан (РЕАДМЕ датотека за специфичне Дебиан проблеме, а не РЕАДМЕ програма), дирс (користи дх_инсталлдирс да креирате потребне директорије), доцс (користи дх_инсталлдоцс да инсталирате програмску документацију), или инфо (користи дх_инсталлинфо да инсталира информациони фајл) у датотеке дебиан директоријум. Више информација о овим датотекама потражите у одељку под називом "дх_маке пример датотеке".

У овом тренутку, требало би да имате само цхангелог, цомпат, контрола, Ауторско право, и Правила датотеке у дебиан директоријум. Из секције под називом "Паковање од нуле", једина датотека која је нова цомпат, који је датотека која садржи дебхелпер верзија (у овом случају 4) која се користи.

Мораћете да прилагодите цхангелогмало у овом случају да одразимо да је овај пакет назван здраво-дебелпер а не само Здраво:

хелло-дебхелпер (2.1.1-1) даппер; хитност = ниска * Почетно издање - капетан Пацкагер Тху, 6 Апр 2006 10:07:19 -0700

Коришћењем дебхелпер, једине ствари које требамо промијенити контрола су име (замена Здраво за здраво-дебелпер) и додавањем дебхелпер (> = 4.0.0) до Буилд-зависи поље за изворни пакет. Убунту пакет за здраво-дебелпер Изгледа:

Извор: хелло-дебхелпер Секција: девел Приоритет: екстра Одржавалац: Цапитан Пацкагер Стандарди-Верзија: 3.6.1 Буилд-Депендс: дебхелпер (> = 4) Пакет: хелло-дебхелпер Архитектура: било која Одређује: $ {схлибс: Депендс} Конфликти: хелло Пружа: хелло Замењује: хелло Опис: добар пример ГНУ хелло програм производи познати, пријатељски поздрав. Омогућава не-програмерима да користе класични алат за рачунарску технику који би им иначе био недоступан. . Озбиљно, ипак: ово је пример како направити Дебиан пакет. То је Дебианова верзија програма "хелло ворлд" ГНУ пројекта (која је сама по себи пример за ГНУ пројекат). . Ово је исто као хелло пакет, осим што користи дебхелпер да направи деб. Молим вас, погледајте Дебхелпер шта је то.

Можемо да копирамо Ауторско право фајл и постинст и прерм скрипте из Убунту здраво-дебелпер пакет, јер се нису променили од одељка под називом "Паковање од нуле". Такође ћемо копирати Правила фајл тако да га можемо прегледати.

цп ../../убунту/хелло-дебхелпер-2.1.1/дебиан/цопиригхт. цп ../../убунту/хелло-дебхелпер-2.1.1/дебиан/постинст. цп ../../убунту/хелло-дебхелпер-2.1.1/дебиан/прерм. цп ../../убунту/хелло-дебхелпер-2.1.1/дебиан/рулес.

Последња датотека коју требамо погледати јесте Правила, где је снага дебхелпер скрипте се могу видети. Тхе дебхелпер верзија Правила је нешто мањи (54 реда насупрот 72 линије у верзији из секције под називом "правила").

Тхе дебхелпер верзија изгледа:

#! / уср / бин / маке -ф пакет = хелло-дебхелпер ЦЦ = гцц ЦФЛАГС = -г -Валл ифек (, $ (финдстринг ноопт, $ (ДЕБ_БУИЛД_ОПТИОНС))) ЦФЛАГС + = -О2 ендиф #екпорт ДХ_ВЕРБОСЕ = 1 чиста : дх_тестдир дх_цлеан рм -ф буилд - $ (МАКЕ) -и дистцлеан инсталл: изградити дх_цлеан дх_инсталлдирс $ (МАКЕ) префик = $ (ЦУРДИР) / дебиан / $ (пакет) / уср мандир = $ (ЦУРДИР) / дебиан / $ (пакет) / уср / схаре / ман инфодир = $ (ЦУРДИР) / дебиан / $ (пакет) / уср / схаре / инфо инсталл буилд: ./цонфигуре --префик = / уср $ (МАКЕ) ЦЦ ​​= "$ (ЦЦ) "ЦФЛАГС =" $ (ЦФЛАГС) "

тоуцх буилд бинари-индеп: инсталл # Не постоје фајлови независни од архитектуре који ће бити уплоадовани # генерисани овим пакетом. Ако их има било би направљено овде. бинари-арцх: инсталирати дх_тестдир -а дх_тестроот -а дх_инсталлдоцс -а ВИЈЕСТИ дх_инсталлцхангелогс -а ЦхангеЛог дх_стрип -а дх_цомпресс -а дх_фикпермс -а дх_инсталлдеб -а дх_схлибдепс -а дх_генцонтрол -а дх_мд5сумс -а дх_буилддеб -а бинарни: бинарни-индеп бинарни- арцх .ПХОНИ: бинари-бинари-арцх бинари-индеп цлеан цхецкроот

Обратите пажњу на то да задаци попут тестирања ако сте у исправном директоријуму (дх_тестдир), обезбеђујући да правите пакет са привилегијама роот-а (дх_тестроот), инсталирање документације (дх_инсталлдоцс и дх_инсталлцхангелогс) и чишћење након изградње (дх_цлеан) се обрађују аутоматски. Многи пакети много компликованији од Здраво имати Правила фајлови нису већи због тога дебхелпер скрипте задовољавају већину задатака. За потпуну листу дебхелпер скрипте, погледајте одељак под називом "Листа дебхелпер скрипте. "Такође су добро документовани у својим одговарајућим човек странице. Користан је вежбање за читање странице човека (добро су написане, а не дуготрајне) за сваку хелпер скрипту која се користи у горе наведеном Правила филе.