Ubuntu logo

Packaging Guide

5. Робота з пакунком

Як тільки в Вас є гілка з джерельним пакунком у загальнодоступному сховищі, Ви забажаєте створити додаткові гілки для фіксів або іншої запланованої роботи. Ви забажаєте, щоб Ваша гілка засновувалася на пакунку джерельної гілки релізу distro, куди Ви плануєте завантажувати. Зазвичай це поточний реліз розробки, але це можуть бути й старіші релізи, якщо Ви, наприклад, виконуєте зворотній порт на SRU.

5.1. Гілкування для змін

Найперш переконайтеся, що гілка джерельного пакунку актуальна. Якщо Ви її тільки-но перевірили, то вона буде актуальною, якщо ж ні, то зробіть таке:

$ cd tomboy.dev
$ bzr pull

Будуть показані будь-які оновлення стосовно пакунку, які були завантажені з миті налагодження. Ви не бажаєте вносити зміни у цю гілку. Замість цього створіть гілку, яка буде містити лише ті зміни, які Ви збираєтеся внести. Припустімо, Ви бажаєте виправити баг 12345 для проєкту Tomboy. Коли Ви знаходитеся у загальнодоступному сховищі, раніше створеному для Tomboy, Ви можете створити гілку для виправлення вад таким чином:

$ bzr branch tomboy.dev bug-12345
$ cd bug-12345

Тепер Ви можете виконувати усю роботу в директорії bug-12345. Робіть там усі необхідні зміни, не забуваючи заразом відправляти свою роботу. Цей процес схожий з розробкою будь-яких застосунків за допомогою Bazaar. Можна робити проміжні відправки так часто, як забажаєте, а коли Ви закінчили роботу над змінами, використовуйте стандартну команду dch (з пакунку devscripts):

$ dch -i

Ця команда відкриє редактор та додасть запис у файл debian/changelog.

tomboy (1.12.0-1ubuntu3) trusty; urgency=low

  * Don't fubar the frobnicator. (LP: #12345)

 -- Bob Dobbs <subgenius@example.com>  Mon, 10 Sep 2013 16:10:01 -0500

Підтвердити з нормальним:

bzr commit

Хук в bzr-builddeb буде використовувати текст debian/changelog як повідомлення про завершення відправки й встановить тег для позначення багу #12345 у якості фіксованого.

Це працює лише з bzr-builddeb 2.7.5 і bzr 2.4, для старіших версій використовуйте debcommit.

5.2. Збірка пакунку

Напевно Ви забажаєте створити свою гілку, щоб Ви могли перевірити її і переконатися, що вона справді виправляє баг.

Щоб створити пакунок, Ви можете використовувати команду bzr builddeb з пакунку bzr-builddeb. Ви можете створити джерельний пакунок за допомогою:

$ bzr builddeb -S

(bd — це псевдонім для builddeb.) Ви можете залишити пакунок непідписаним, додавши до команди -- -uc -us.

Ви можете також використовувати свої звичайні інструменти, якщо вони здатні прибирати каталоги .bzr з пакунку, наприклад:

$ debuild -i -I

Якщо Ви колись зіштовхнетеся з помилкою, пов’язаною зі спробою скласти рідний пакунок без tar-архіву, переконайтеся що там є файл .bzr-builddeb/default.conf, що помилково видає пакунок за рідний. Якщо у версії логу змін є дефіс, то це не рідний пакунок, тому файл конфігурації слід прибрати. Зверніть увагу, якщо в bzr builddeb є оператор --native, то в нього немає оператора --no-native.

Після того, як Ви отримали пакунок джерельного коду, можна зібрати його як звичайно, за допомогою pbuilder-dist (або pbuilder, або sbuild).