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.
При додаванні запису в debian/changelog
Ви повинні включити тег виправлення помилки, який вказує, для якого повідомлення про помилку на Launchpad Ви створили виправлення. Цей текстовий тег має цілком визначений формат: LP: #12345
. Пробіл між :
і #
обов’язковий й, зрозуміло, Ви повинні вказати номер реально існуючої помилки, яку Ви виправляєте. Ваш 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).